Skip to content
文档首页

任务模式与执行机制 ​

Mogick CLI 提供两种互补的执行模式。Agent 模式是默认的完整执行模式,拥有全部工具权限,可直接读写文件、执行 Shell 命令、操作 Git 仓库并通过 MCP 协议集成外部工具。Plan 模式则是一个只读的探索与规划环境,核心理念是"先看后做"——安全地浏览代码、分析问题、构思方案,确认无误后再切换到 Agent 模式执行,既避免了盲目操作的风险,也让复杂任务的执行过程更加可控。

两种模式对比 ​

理解两种模式的能力边界是高效使用 Mogick CLI 的前提。下表从权限、工具范围和交互方式三个维度进行对比:

维度Agent(默认)Plan
文件操作完整读写权限只读(file.read、file.grep、file.glob、file.list_dir 等)
Shell 命令可以执行任意命令不可执行
Git 操作内置只读工具 + Shell 执行 git 命令内置只读工具(git.status、git.diff、git.log、git.show)
MCP 工具全部可用不可用
模式切换默认即 Agent 模式按 Shift+Tab 在 Agent 与 Plan 之间切换
TUI 侧栏显示当前权限策略显示 Plan 标识与任务列表

Agent 模式下侧栏显示的是你当前选择的权限策略(read、workspace、auto 或 yolo),而 Plan 模式下侧栏固定显示规划状态和已记录的任务列表。你可以随时通过侧栏判断自己处于哪种模式。

Agent 模式

Agent 模式界面

Plan 模式

Plan 模式界面

Agent 模式工作流 ​

Agent 模式采用"执行—反馈—再执行"的循环机制。你发出指令后,Agent 自动调用所需工具,根据工具返回的结果判断下一步操作,直到任务完成或你手动取消。

一个典型的 Agent 执行过程:

  1. 接收指令:你在输入框中描述任务,按 Enter 提交。
  2. 上下文准备:系统自动注入系统提示、记忆检索结果、当前项目信息(AGENTS.md、Git 状态等),并检查是否需要压缩上下文。
  3. 模型推理:流式发送请求,思考过程实时展示。模型可能直接给出文字回复,也可能决定需要调用工具。
  4. 工具执行:如果模型决定调用工具——读文件、搜代码、执行命令等——工具调用结果会被投影为结构化摘要,注入到下一轮上下文。
  5. 循环继续:模型根据工具返回的结果继续推理,决定下一步。这个循环没有硬性轮次上限,可以持续多步操作。
  6. 权限审批:当策略为 auto 且模型判断当前操作为高风险时,TUI 会弹出确认对话框,展示操作意图、风险等级和参数预览。
  7. 任务完成:当模型完成所有操作并产出了纯文本回复(无工具调用),本轮执行结束。你可以在侧栏查看本轮耗时。

执行过程中可随时按 Esc 取消——已完成的工具操作会被保留,未开始的被放弃。

Plan 模式工作流 ​

Plan 模式的设计遵循"探索 - 规划 - 确认"三段式流程。每一阶段有明确的工具支持,帮助你逐步收敛到可执行的方案。

阶段一:探索 ​

进入 Plan 模式后,首先需要理解当前项目的状态。利用只读工具浏览项目结构、搜索关键代码、查看 Git 历史,全面了解需要修改的范围和影响面。常用的探索工具包括 file.read、file.glob、file.grep(全局搜索代码内容)、git.log(查看提交记录)以及 git.diff(查看未提交的变更)。所有操作都是只读的,可以放心翻阅任何文件而不必担心误操作。

阶段二:规划 ​

在充分了解现状后,使用 plan.write 构建执行计划。plan.write 支持两种模式:rewrite(默认)写入完整草稿替换旧版本,patch 对最新草稿应用 unified diff 进行增量修改。两种模式都会创建新的草稿版本,保存为 Plan Artifact 随会话持久化。

计划内容通常包括:需要修改的文件列表、每个文件的改动说明、执行顺序以及潜在的风险点。

阶段三:确认 ​

当计划编写完成后,按 Shift+Tab 退出 Plan 模式。系统会在 TUI 侧栏弹出确认界面,你可以选择执行计划、继续规划或放弃计划。确认执行后自动切换到 Agent 模式,并将已编写的计划注入为 Agent 的执行上下文,Agent 会按计划逐步执行。

权限策略 ​

Plan 模式自身的权限边界是固定的——始终只读,不可突破。Agent 模式下的行为由当前权限策略(read / workspace / auto / yolo)决定,各策略的详细定义见工具权限策略。日常开发建议使用 auto,从 Plan 切换到 Agent 时可以在确认界面中一并审查权限策略是否合适。

Agent Loop ​

Agent 模式的一轮任务会重复以下阶段,直到模型给出最终回复、发生错误或用户取消:

  1. 准备:组装系统信息、会话历史、压缩摘要、记忆、工具和当前输入。
  2. 请求:向当前模型发送流式请求。
  3. 解析:读取文本、思考内容和工具调用。
  4. 审批与执行:权限网关决定放行、确认或拒绝;可安全并发的读取并发执行,产生副作用的操作保持受控顺序。
  5. 注入:把工具结果加入下一步模型输入,继续循环。

按 Esc 会取消当前运行。已完成的工具副作用不会自动撤销;需要回退时使用 Checkpoint 或版本控制。

工具结果和长任务 ​

Mogick 会为模型组装适合继续推理的工具结果,同时把完整运行记录保存在会话证据中。长对话接近上下文上限时会自动压缩;具体行为见上下文压缩。

相关文档 ​