跳到主要内容

无头模式(Headless Mode)

无头模式(Headless Mode)在不启动 TUI 界面的情况下运行 Ante —— 接收输入提示词、执行任务并输出结果后退出。非常适合脚本编写、CI/CD 自动化流水线和自动化工作流。

基础用法(Basic usage)

使用 -p / --prompt 参数传入提示词:

ante -p "explain what this project does"

也可以使用长参数形式:

ante --prompt "add tests for the auth module"

标准输入管道(Stdin input)

通过标准输入传递内容:

cat src/main.rs | ante -p "review this code for bugs"

将标准输入与提示词组合使用:

echo "function add(a, b) { return a + b }" | ante -p "add TypeScript types"

当同时提供标准输入与提示词参数时,两者会自动拼接(先拼接 stdin 内容,后拼接提示词)。

重定向标准输出仅适用于无头模式。在未提供提示词的情况下直接运行 ante > out.txt 会被拒绝启动,因为 TUI 需要将界面绘制到 stdout 并在启动时探测游标位置。请传入提示词或通过管道输入以捕获输出到文件。

命令行参数参考(CLI reference)

ante [OPTIONS] [--prompt <PROMPT>]
参数标识说明
-p, --prompt <PROMPT>要执行的任务提示词
-m, --model <MODEL>覆盖使用的模型名称
--provider <PROVIDER>覆盖 API 模型提供商(例如 anthropicopenaigeminixaiopenrouterlocal
--profile <NAME>使用 ~/.ante/<name>.settings.json 替代默认的 settings.json;也可通过环境变量 ANTE_PROFILE 指定;内置的 bare Profile 会禁用环境感知特性、技能、MCP 服务器、会话持久化与自动记忆
--effort <LEVEL>覆盖模型的思考深度等级minlowmediumhighxhighmax
--yolo跳过所有工具调用的审批确认提示
--permission-mode <MODE>为兼容 CLI 保留接受;由于无头模式没有交互式审批提示,无头执行时始终自动以 yolo 运行
--output-format <FORMAT>输出格式:jsonhumanminimal(默认:minimal
--system-prompt <PROMPT>完全替换默认的系统提示词(与 --system-prompt-file 互斥)
--system-prompt-file <PATH>从 UTF-8 文本文件中读取系统提示词替换内容(与 --system-prompt 互斥)
--append-system-prompt <TEXT>向系统提示词末尾追加额外内容
--short-prompt启用紧凑提示词集:采用精简版系统提示词和更简短的内置工具描述
--skills / --no-skills加载或跳过技能发现(覆盖 skills 配置);使用 --no-skills 时不会加载或声明任何技能
--enable-auto-memory / --disable-auto-memory启用或禁用自动记忆(覆盖 auto_memory 设置,无头模式默认关闭)
--tools <TOOLS>用这些工具精确替换默认工具集。传入逗号分隔的值或重复使用参数;空格分隔列表会报错。旧参数名 --allowed-tools 已移除
--include-tools <TOOLS>在默认工具集或 --tools 基础集之上添加工具。传入逗号分隔的值或重复使用参数
--exclude-tools <TOOLS>--tools--include-tools 处理后移除工具。传入逗号分隔的值或重复使用参数;已弃用的别名 --disallowed-tools 仍可使用
-r, --resume <SESSION_ID>根据会话 ID 恢复之前保存的历史会话
--session-save / --no-session-save保存或跳过会话持久化(覆盖 session_save 设置)。使用 --no-session-save 时不写入记录快照;与 --resume 互斥
--check在主任务完成后自动执行一轮自我验证检查
--offline-model <PATH>本地 GGUF 文件路径。自动拉起本地 llama-server 并将提供商切换至 local,退出时自动销毁

输出格式(Output formats)

极简模式(Minimal,默认)(Minimal (default))

仅展示智能体回复文本、系统通知与错误:

ante -p "what does this project do"

人类易读模式(Human)

以人类易读的格式和 ANSI 彩色高亮展示所有事件:

ante --output-format human -p "fix the type error in main.rs"

JSON 模式(JSON)

逐行输出结构化的 JSON 对象事件,适合脚本与程序解析:

ante --output-format json -p "list all TODO comments" | jq '.event'

自我验证检查(Verification check)

--check 参数会在主任务执行完成后触发第二轮审查,要求智能体主动复核自身的工作:

ante --check -p "refactor the auth module to use async/await"

验证阶段将:

  1. 对照原始需求审查已完成的工作
  2. 补全任何缺失或未完成的部分
  3. 在不影响正确性的前提下尽可能优化

上下文自动补充(Context enrichment)

在无头模式下,Ante 会自动将当前目录的文件夹结构追加到您的提示词中。这使得智能体能够直接感知项目布局,而无需您手动描述。

无头模式行为特性(Headless behavior notes)

  • 抑制原始流式增量(Raw streaming deltas are suppressed) — 输出展示完整的消息而非增量片段,使日志保持整洁
  • 默认隐式使用 Yolo 策略(Yolo policy is implied) — 所有工具调用均自动放行(无交互式提示),无论 --permission-mode 为何值
  • 启动时即检查认证状态(Authentication is checked eagerly) — 若提供商未通过认证,Ante 会立即报错退出
  • 守护进程异常时快速失败(Fails fast if the daemon dies) — 若智能体进程在任务完成前异常退出,Ante 会报告错误而非返回成功退出码

恢复历史会话(Resuming a session)

传入 --resume <SESSION_ID> 可继续之前保存的历史会话。Ante 会回放持久化历史,并将新提示词作为下一轮 Turn 执行:

ante --resume ses_01ARZ3NDEKTSV4RRFFQ69G5FAV -p "now add tests"

已保存的模型、提供商、思考深度和对话会被直接恢复;快照未固定的配置则从主机当前默认值解析。因此,无头恢复不要求当前默认提供商与已保存会话的提供商一致。

会话 ID 会在 TUI 会话退出时打印提示(Resume this session with: ante --resume ses_...)。

使用 --no-session-save 启动的会话绝不会持久化保存,因此无法在后续恢复。

使用示例(Examples)

CI 流程:代码检查与修复(CI: lint and fix)

ante --yolo -p "run cargo clippy and fix all warnings"

代码生成(Code generation)

ante --model claude-sonnet-5 --check \
-p "add comprehensive unit tests for src/core/session.rs"

限制可用工具(Restricted tools)

# 纯只读分析 — 禁止文件写入与 Shell 命令执行
ante --tools Read,Glob,Grep \
-p "analyze the codebase architecture and summarize it"

通过管道传递 Diff 进行代码审查(Pipe a diff for review)

git diff HEAD~1 | ante -p "review this diff for bugs and security issues"