无头模式(exec)
在脚本、CI、cron 或其他程序里非交互地运行 hipmmcode。
bash
hipmmcode "tokio 最新版本是多少?" # 位置参数 → exec
hipmmcode exec "修复挂掉的测试" # 显式形式
cat report.md | hipmmcode "总结这个文件" # stdin 作为上下文
echo "提示词" | hipmmcode # stdin 作为提示词失败时退出码非零 —— 可以放心作为 CI 步骤的闸门。
输出格式
| Flag | 输出 |
|---|---|
| (默认) | 最终助手文本,纯文本 |
--json / --output-format json | 一个 JSON 信封:结果文本、用量、费用、会话 id、退出元数据 |
--stream / --output-format stream-json | NDJSON —— 运行过程一行一个事件(工具调用、文本增量、结果) |
更细的流:--include-partial-messages(逐 token 增量)、--include-hook-events(hook 生命周期帧)、--prompt-suggestions(预测的下一条用户消息)、--verbose。
结构化输出
强制回答符合 JSON Schema —— 自动校验,不匹配自动重试:
bash
hipmmcode --print --json-schema '{"type":"object","properties":{"version":{"type":"string"}},"required":["version"]}' \
"最新稳定版 Rust 是哪个版本?"上限与预算
bash
hipmmcode --max-turns 8 "..." # 限制工具迭代次数(默认 200)
hipmmcode --max-budget-usd 0.50 "..." # 硬性花费上限 —— 到达即停止预算耗尽会在结果信封中标出(budget_exceeded)。
系统提示控制
| Flag | 效果 |
|---|---|
--system-prompt <text> / --system-prompt-file <f> | 完全替换 lead 系统提示(仅 exec) |
--append-system-prompt <text> / --append-system-prompt-file <f> | 追加(可重复) |
--dump-system-prompt | 打印组装后的完整提示并退出(不调模型) |
--no-memory | 跳过持久记忆注入 |
--exclude-dynamic-system-prompt-sections | 机器相关段落移到首条用户消息,提升 prompt 缓存复用 |
无头运行中的会话
无头运行默认也持久化会话(之后可续接):
bash
hipmmcode --resume sess_abc "接着上次继续"
hipmmcode -c "再来一件事" # 继续最近会话
hipmmcode --fork-session --resume sess_abc "换个思路试试"
hipmmcode --no-session-persistence "一次性问题"自治助手
bash
# 持续干到条件达成(由廉价评估模型验证):
hipmmcode --goal "所有测试通过" "修复测试套件"
# 运行结束时提炼记忆(自进化):
hipmmcode --auto-memory "重构配置加载器"goalMaxContinuations(默认 25)限制 --goal 的续跑次数;goalEvaluatorModel 指定评估模型。
没有人在场时的权限
无头运行没人点"允许"。可选项:
| Flag | 行为 |
|---|---|
| (无) | ask 规则的决策失败关闭(拒绝) |
--dangerously-skip-permissions | 跳过所有弹窗(显式 deny 规则除外) |
--permission-mode acceptEdits | 自动批准文件编辑,危险 shell 仍拒绝 |
--permission-webhook <url> | 每个决策 POST 给你的服务;回 {"behavior":"allow"|"deny"|"allow_always"} |
--permission-prompt-tool <mcp-tool> | 把决策路由给某个 MCP 工具 |
--ask-webhook <url> | AskUserQuestion 调用 POST 给你的服务;回 {"answers":[…]} |
规则语法见权限。
工具面控制
bash
hipmmcode --allowed-tools Bash,Read,Grep "..." # 白名单(FileRead 仍可作为别名)
hipmmcode --disallowed-tools WebSearch "..." # 黑名单(在白名单之后应用)
hipmmcode --bare "..." # 快速启动:跳过技能/MCP/hooks,工具收窄到 Bash+Read+Edit
hipmmcode --safe-mode "..." # 排障:禁用全部自定义定时运行
bash
hipmmcode cron list # <cwd>/.hipmmcode/scheduled_tasks.json 中的持久任务
hipmmcode cron daemon --interval 60 # 进程外调度器:轮询 + 无头触发退出码
| 码 | 含义 |
|---|---|
0 | 成功 |
1 | 错误(flag / 配置 / 认证 / 网络) |
2 | JSON 参数不合法,或 hook 阻断 |
| 非零 | 触到 max-turns 上限、预算上限、或 schema 校验重试耗尽 |
长期运行的集成,优先考虑服务器与任务队列或 SDK 协议。完整机器集成手册内嵌在二进制里:hipmmcode integration。