TaskWeaver 命令行终端(CLI)完全指南:启动、交互与全部斜杠命令详解

发布时间:2026/10/10 1:22:24
TaskWeaver 命令行终端(CLI)完全指南:启动、交互与全部斜杠命令详解
AI Agent数据分析【免费下载链接】TaskWeaverThe first code-first agent framework for seamlessly planning and executing data analytics tasks.项目地址https://gitcode.com/gh_mirrors/ta/TaskWeaver点击查看免费下载TaskWeaver 提供了原生的命令行CLI交互界面开发者可以在终端中直接与 AI 助手对话完成数据分析和任务执行。本文以 website/docs/usage/cmd.md 为核心骨架结合仓库内 CLI 与 Chat Console 的源码实现完整讲解从项目配置、终端启动、界面交互到/load、/info、/reset、/save等全部内置命令的用法与底层原理读完后你将能熟练通过终端驱动 TaskWeaver 完成完整的数据分析会话。前置准备克隆仓库并配置项目命令行界面是 TaskWeaver 最直接的交互入口但启动前需要先完成两项准备工作克隆仓库与填写必要的配置。完整流程请参照快速入门文档这里仅梳理与 CLI 启动直接相关的关键步骤克隆仓库建议使用 conda 创建独立环境并安装依赖pip install -r requirements.txt准备一个项目目录用于存放插件与配置文件。仓库根目录下的 project 文件夹即是官方示例项目其典型结构包含taskweaver_config.json项目配置文件、plugins插件目录、logs、examples与workspace会话数据目录程序启动后自动生成编辑项目根目录下的taskweaver_config.json填入 LLM 相关配置。仓库示例 project/taskweaver_config.json 给出了 OpenAI 的默认写法{ llm.api_base: https://api.openai.com/v1, llm.api_key: , llm.model: gpt-4-1106-preview }若使用 Azure OpenAI则需按快速入门文档中的说明设置llm.api_type、llm.api_version等参数更多配置项可参考配置总览。从源码看CLI 正是通过校验项目根目录是否存在合法的taskweaver_config.json来判断目录是否可用的。taskweaver/utils/app_utils.py中的discover_app_dir会解析该 JSON 并确认其为字典格式taskweaver/cli/util.py 中的require_workspace装饰器则会在目录无效时输出提示并要求切换到有效的项目目录或先初始化新项目python -m taskweaver init。启动命令行界面启动命令在 TaskWeaver 仓库根目录下执行以下命令即可启动# assume you are in the TaskWeaver folder python -m taskweaver -p ./project/ # -p is the path to the project directory其中-p即--project指定项目目录路径。从 taskweaver/cli/cli.py 的 click 组定义可以看到-p会经过click.Path(file_okayFalse, dir_okayTrue, resolve_pathTrue)校验确保传入的是一个真实存在的目录并解析为绝对路径若省略-pCLI 会从当前目录开始逐级向上查找包含taskweaver_config.json的最近目录作为项目目录。未指定子命令时CLI 默认调用chat子命令直接进入对话界面。启动画面如果一切顺利终端会显示如下 Banner 与欢迎语 _____ _ _ __ |_ _|_ _ ___| | _ | | / /__ ____ __ _____ _____ | |/ _ / __| |/ /| | /| / / _ \/ __ / | / / _ \/ ___/ | | (_| \__ \ | |/ |/ / __/ /_/ /| |/ / __/ / |_|\__,_|___/_|\_\|__/|__/\___/\__,_/ |___/\___/_/ TaskWeaver: I am TaskWeaver, an AI assistant. To get started, could you please enter your request? Human: ___这段 ASCII 艺术 Banner 并非写死在文档里而是由 taskweaver/cli/util.py 中的get_ascii_banner生成taskweaver/cli/chat.py 在调用chat_taskweaver前会将其打印到终端并根据终端列宽自动居中。随后进入 Chat Console光标停留在Human提示符处等待输入。理解交互界面TaskWeaver 的命令行界面由 taskweaver/chat/console/chat.py 实现值得了解的几个界面细节输入体验输入框基于prompt_toolkit构建支持多行输入禁用、输入补全与历史搜索历史记录保存在~/.taskweaver-history文件中跨会话持久化方向键可回溯历史输入实时状态动画会话处理期间界面会显示TaskWeaver ▶前缀与角色状态并有一个的动画帧循环提示处理进度。该动画由TaskWeaverRoundUpdater._animate_thread驱动它订阅会话事件post_start、post_end、post_attachment_update等并实时渲染回复内容错误提示非法输入或命令会以红色Error:前缀提示error_message函数实现例如空输入会提示Empty input, please try again。全部交互命令一览所有命令均以/字符开头。在对话界面输入/help即可随时查看帮助列表。TaskWeaver 支持的命令完整表格如下CommandDescription/load fileLoad a file by its absolute path, e.g., /load /home/taskweaver/sample.csv/infoPrint the session id and the active roles of the current session/resetReset the current session and start a new session/clearClear the console content/exitExit the chat console/helpPrint the help message/saveSave the chat history of the current session for experience extraction从 taskweaver/chat/console/chat.py 的命令分发逻辑看用户输入先strip()去空白再判断是否以/开头随后将命令名转为小写并取第一个空格前的部分进行匹配。命令名不区分大小写且不少命令带有便捷别名详见下文各命令小节。命令逐一实战与源码解析/load file加载文件按文件的绝对路径加载一个文件作为当前消息的附件一并发送。例如/load /home/taskweaver/sample.csv源码层面_load_file方法会先os.path.realpath解析真实路径并取文件名os.path.basename随后校验文件是否存在不存在则输出File file not found错误存在则将{name: file_name, path: file_path}追加到pending_files列表并提示Added file for loading, type message to send。文件并不会立即上传而是暂存在待发送队列中等你输入下一条消息时一并携带给 TaskWeaver。该命令同时支持别名/file、/img、/image后两者语义上更适合图片附件。/info查看会话信息打印当前会话的会话 IDSession Id与启用的角色列表Roles。源码实现为self._system_message(fSession Id:{self.session.session_id}) self._system_message(fRoles: {self.session.config.roles})其中roles的默认值为[planner, code_interpreter]见 taskweaver/session/session.py即规划器 代码解释器的经典组合可通过配置文件自定义。/reset重置会话停止当前会话并启动一个全新会话。源码_reset_session会先打印--- stopping the current session ---调用self.session.stop()停止当前会话再通过self.app.get_session()获取新会话最后打印--- new session started ---与欢迎语。注意重置会清空当前会话的上下文记忆请在有需要时先用/save保存经验。/clear清空终端调用click.clear()清空当前终端屏幕内容不影响会话状态与历史记录纯属视觉清理。/exit退出终端退出 Chat Console进程随之结束。该命令支持别名/bye与/quit实现为直接exit(0)。此外在输入框为空时按下CtrlCKeyboardInterrupt也会直接退出程序。/help打印帮助信息输出上文所示的命令帮助列表支持别名/h与/?。当你忘记命令时随时可以调用。/save保存会话经验将当前会话的聊天历史保存下来供后续经验提取使用。源码调用链为self.session.memory.save_experience(exp_dirself.session.config.experience_dir)save_experience定义在 taskweaver/memory/memory.py默认以thin_modeTrue将对话写入raw_exp_{session_id}.yaml此时仅保留每个 post 中类型为plan的附件实现瘦身存储输出目录由session.experience_dir决定默认值为项目根目录下的experience目录可配置项session.experience_dir见 taskweaver/session/session.py。关于经验目录的存储结构可进一步阅读仓库测试目录 tests/unit_tests/data/experience其中展示了exp_test-exp-1.yaml与raw_exp_test-exp-1.yaml的落盘形态。重要生成代码的工作目录CWD与相对路径:::tip When TaskWeaver runs generated code, the CWD (current working directory) is set to theproject/workspace/session_id/cwddirectory. If you need to use relative paths in the generated code, thecwddirectory should be the base path. :::这是使用 CLI 时最容易踩坑的细节TaskWeaver 执行生成代码时当前工作目录CWD被设置为project/workspace/session_id/cwd而不是你启动 CLI 时的终端目录。因此如果你的代码或数据文件需要以相对路径访问基准路径必须是cwd目录而不是仓库根目录更稳妥的做法是先用/load显式加载文件此时文件会以附件形式交给 TaskWeaver由代码执行服务在会话目录中落盘再在代码中通过绝对路径或附件提供的路径访问。从源码看这一行为由 taskweaver/session/session.py 实现会话的workspace指向workspace.get_session_dir(self.session_id)而execution_cwd os.path.join(self.workspace, cwd)生成的代码正是在execution_cwd下运行的。每次会话session对应一个独立目录会话之间互不干扰。其他启动方式终端 CLI 是 TaskWeaver 的默认交互方式。若希望使用图形化界面或程序化集成仓库还提供了其他入口可对比选用Chainlit 网页 UI实验性的 Web 交互界面适合可视化浏览会话作为 Python 库使用将 TaskWeaver 嵌入自己的 Python 代码以TaskWeaverApp的get_session()接口编程式驱动这正是 CLI 内部TaskWeaverChatApp的底层用法见 taskweaver/chat/console/chat.py一体化 Docker 镜像包含全部依赖的容器化方案免去本地环境配置。综上python -m taskweaver -p ./project/一行命令即可开启完整的 AI 数据分析会话熟练运用/load、/info、/reset、/save等命令理解workspace/session_id/cwd的代码执行目录约定你就能高效地在终端中完成从数据加载、任务执行到经验沉淀的完整闭环。赞分享AI Agent数据分析【免费下载链接】TaskWeaverThe first code-first agent framework for seamlessly planning and executing data analytics tasks.项目地址https://gitcode.com/gh_mirrors/ta/TaskWeaver点击查看免费下载相关推荐Gel 交互式 Shellgel 命令完全指南连接选项、反斜杠命令与脚本化运行Gel 交互式 Shellgel 命令完全指南连接选项、反斜杠命令与脚本化运行 Gel前身 EdgeDB的 gel 交互式 Shell 是一个终端界面数据库图数据库关系型数据库SuperClaude Framework 命令与行为标志完全指南从 /sc:help 掌握全部斜杠命令体系SuperClaude Framework 命令与行为标志完全指南从 /sc:help 掌握全部斜杠命令体系 本篇技术指南围绕 SuperClaude Fra开发工具CLIAI 技能/插件测试人工智能AI 评测Discord应用命令系统完整指南从斜杠命令到交互式组件Discord应用命令系统是构建强大机器人体验的核心工具让开发者能够创建直观、易用的交互功能。无论你是Discord机器人开发新手还是经验丰富的开发者了解应文档教程上一篇解锁Simple Transformers的终极潜能多模态分类与对话AI实战指南下一篇Hoppscotch自托管部署完全指南Docker Compose一键搭建、Caddy配置与数据库迁移详解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考