Skip to content
文档首页

一次性执行(run) ​

mogick run 将一个任务交给 Agent,完成后退出。它适合 CI、Git hooks、定时任务和其他无需打开 TUI 的场景。Root 命令不接受 prompt,一次性任务必须显式使用 run。

bash
mogick run "fix all lint errors in src/"
mogick run - < error.log                 # 从文件读取 prompt
cat error.log | mogick run -             # 从管道读取 prompt

输入与输出 ​

prompt 可以直接作为参数传入,也可以用 - 从 stdin 读取。stdin 为管道时会自动进入非交互行为。

选项说明
--json输出机器可读的 JSON 事件
-o, --output-last-message <file>将渲染器输出写入文件(26.9.11)
--verbose输出详细工具 trace
--logs-path <file>指定诊断日志文件
--non-interactive禁止交互提示
--resume <id>在已有会话中继续
--tool-call-permissions <policy>选择权限策略
--no-auto-upgrade跳过启动时的更新检查

26.9.11 中,虽然参数名是 --output-last-message,-o 实际重定向渲染器输出,可能包含 prompt、过程文本和工具事件,不能作为纯最终答案使用。--json 输出逐行 JSON(JSONL),不是单个 JSON 对象,也不是完整协议 trace。

bash
mogick run --json -o run.jsonl "总结当前仓库"
mogick run --continue "继续上一次任务"

事件类型包括 prompt、text.delta、thinking.open/delta/close、tool.start/done、step.start/finish、error 等,消费者需兼容可选字段与新增事件。历史记录使用会话导出。

执行模式和权限 ​

run 固定使用 Agent 模式,不支持 --mode。需要 Plan 模式时,在 TUI 中按 Shift+Tab 切换,或由 ACP 宿主切换。

非交互运行无法弹出人工审批并等待选择。应根据任务显式配置权限,各策略的详细定义见工具权限策略。auto 下需要确认的操作会被拒绝;CI 场景优先使用 workspace 并对任务做范围限定,仅在完全隔离环境使用 yolo。

bash
mogick run --tool-call-permissions read "Review the source code without changing files"

退出码 ​

退出码含义
0正常完成
1执行失败
130收到中断信号,例如 Ctrl+C / SIGINT
143收到 SIGTERM

脚本应将所有非零值视为未正常完成,并保留日志用于排查。

工作目录与配置 ​

Mogick 使用当前 Shell 工作目录作为工作区。不要使用 -C / --cd 或 -c / --config:

bash
cd /path/to/repository
mogick run "Run the test suite"

需要指定配置文件时使用 MOGICK_CONFIG_FILE;路径和环境变量见数据目录与环境变量。

脚本集成 ​

检查退出码并保留输出。模型正常结束不等于测试通过:应独立执行项目明确的测试命令并检查结果。workspace 不会自动放行任意 Shell 命令;非交互运行时,需要确认的操作会被拒绝。提交或发布前应人工审查变更。