进阶 docs.antigma.ai 2026-10-08 09:54:38 · 6 阅读
第11章 交互式 TUI 指南
# 第11章 交互式 TUI
TUI 是你与 Ante 协作完成任务的地方:提问、补充上下文、审查 proposed changes、引导下一步操作。
在项目目录下打开终端并运行:
```
cd your-project
ante
```
如果是首次会话,请先连接一个 provider 再发送 prompt。
## 探索陌生项目
从一个能让 Ante 明确切入点的问题开始:
```
Explain how this project starts up. Find the main entry point
and trace how a request reaches the database.
```
输入消息并按回车。Ante 会流式输出回答,并展示它使用到的文件和命令。你可以在同一对话中继续追问,逐步聚焦问题。
要指向某个具体文件,输入 @ 并从补全菜单中选择:
```
Explain @src/main.rs and show which modules it depends on.
```
你也可以提及文件夹、粘贴截图或附带 URL,详见 Providing Context。
## 修改代码并审查
给 Ante 一个明确的目标和约束条件:
```
Add a clear error message when the config file is missing.
Keep the existing CLI behavior, and run the relevant tests.
```
- 明确任务。如果 Ante 提出问题,选择一个选项,或用 Chat about this 说明你的想法。
- 审查请求的操作。当某个工具需要批准时,按 Tab 查看它提议的 diff 或命令详情。然后批准、拒绝,或附上修改意见后拒绝。
- 检查结果。对话轮结束后,运行 /diff 查看工作区的变更(包括未跟踪的文件)。让 Ante 调整还需要改的地方。
- 确认最终结果。让它运行相关检查并解释失败原因,然后再收尾。
权限设置和会话授权的详细说明见 Approvals 指南。
## 回答澄清问题
当 Ante 需要你的输入时,它会在 TUI 中直接展示一个带可选项的问题。阅读选项,用方向键选择,按回车确认。如果想自己作答或进一步讨论,选择 Type something 或 Chat about this。
## 查看细节
按 Ctrl+O 打开完整 transcript,包括被折叠的工具输出和推理过程。用 j / k 或 PgUp / PgDn 滚动,再按 Ctrl+O 或 q 返回对话。
## 在 Ante 工作时调整方向
如果任务需要追加约束,在 Ante 运行时直接输入并按回车:
```
Also handle an empty config file, and reuse the existing error type.
```
这条消息会加入队列。按下 Ctrl+S 可以将该指导指令发送给当前正在运行的回合,或者将其保留在队列中供下一个回合使用。
若要终止当前的执行,在没有弹窗打开时按 Esc,或按 Ctrl+C。然后发送修正后的提示词;对话会保留原有的上下文。相关示例见“打断与转向”章节。
修订更早的提示词
运行 /rewind,或者在编辑框为空且无弹窗时快速按两次 Esc。选择器会列出所有可恢复的输入项,按最新排序。使用方向键进行选择,按 Enter 确认,或按 Esc 取消。
Ante 会将当前对话恢复至所选输入之前,删除该输入及其后的对话记录,并将提示词文本放回编辑框以供编辑。编辑完成后按 Enter 即可开启新的回合。
Rewind 会改变对话和模型上下文;它不会撤销文件编辑、Shell 命令或其他外部操作。在回退之前,请完成或中断当前活跃的回合,处理队列中的输入,通过 /goal clear 清除任何目标,并等待后台任务结束。必须启用会话保存功能。只有来自当前运行或自上次恢复以来的输入项可被恢复,而压缩操作或切换服务提供方会使更早的截断点不可用。
分叉对话
运行 /fork 可以保存一个独立的对话并切换过去。选择“(对话末尾)”可保留所有内容,或者选择一个可达的输入项,从它之前分叉并将提示词文本放回编辑框。按 Enter 确认或 Esc 取消。
原始会话保持不变。新会话会在头部下方显示其源会话 ID;使用 /resume 可以返回父级会话。分叉需要启用会话保存功能,且不能有正在运行或排队中的回合,也不能有活跃的目标。输入截断遵循 Rewind 的恢复边界;如果没有可达的输入项,你仍然可以分叉整个对话。分叉功能会保存并切换对话,但不会创建 Git 分支或独立的工作目录,也不会自行启动新任务。
若需让另一个 Agent 同时工作,请在另一个终端中开启会话。
自行运行命令
以 ! 开头输入消息可直接运行 Shell 命令:
!git status
!cargo test
命令的输出会成为你下一条消息的上下文。你可以接着输入“解释这个失败并修复其原因”,基于刚才看到的结果继续工作。 这些命令会在你的授权下立即执行。对于交互式程序,建议使用终端会话。 用 /term 编排智能体 /term 会打开一个终端,你可以和 Ante 共同操作它。用它来与另一个 Ante 实例、Claude Code、Codex、开发服务器或 REPL 协作。你可以在主对话中下达指令,观察其他程序的工作过程,并在需要时直接介入输入。 打开智能体并分配任务 安装 tmux 后,在 Ante 中输入: /term ante 新的终端会话会在分屏或新窗口中启动另一个 Ante 实例。回到主对话,尝试输入: 在 ante 终端里,让另一个智能体审查当前的 diff。读取它的结果,告诉我哪些问题我们需要处理。 Ante 会发送任务,读取另一个智能体的输出,并能在你观察的同时进行跟进。这个示例演示了它如何打开另一个 Ante 会话、提出问题、读取答案并分离查看器: 如果已安装 Claude Code 或 Codex CLI,可以使用 /term claude 或 /term codex。让 Ante 给每个智能体同样的问题并比较它们的答案,或者将任务的不同部分分配给不同的会话。每个终端保持独立的对话,你可以直接交互以回答问题或引导工作。 在另一个终端中探索 若要基于保存的 Claude Code 或 Codex 对话探索另一个方向,请打开一个新的命名终端: /term review 根据已安装的智能体,选择以下其中一个命令在该终端运行: # 分叉该目录下最近的 Claude Code 对话 claude --continue --fork-session # 分叉最近的 Codex 对话 codex fork --last 智能体原生的 fork 命令会将保存的对话带入新会话。若要与你当前的 Ante 对话并行工作,让 Ante 以明确的手交启动另一个命名会话: 启动一个名为 edge-cases 的 Ante 会话。提供我们目前 的任务、约束和发现。让它在我们要继续实现的同时调查边缘情况。 然后打开 /term edge-cases,即可查看或加入该对话。交接机制会提供新 agent 所需的上下文;每个会话都有各自的历史记录。 保持交互式 subagent 可用 运行 /term 可以列出活跃会话并接入需要的那个。再次运行 /term 会断开查看界面,但程序仍在后台运行。即使 Ante 主程序退出或重启,终端会话也会保留,只要 tmux server 还在运行,之后的对话就能重新连接并继续协调这些会话。
打开已有会话会接入其正在运行的程序;启动参数只在创建会话时生效。如果要为另一个 agent 或对话分支服务,请使用新的会话名称,并让 Ante 在其中启动程序。工作完成后,通过 /term 选择器关闭会话。
同样的流程也适用于开发服务器、REPL 或其他交互式工具。启动选项、支持的终端应用和会话管理请参阅 terminal controls,通过内置 Agent 工具进行委托请参阅 Sub-Agents。
为下一步选择模型
使用 /models 可以更改当前 provider 上的模型或推理力度。想切换 provider 时使用 /providers,然后在其选择器中确认模型。
例如,你可以用一个模型探索代码,再在同一对话中为某个难度较高的调试步骤换用另一个模型。选择流程详见 Models & Effort。
查看会话用量
运行 /usage 可查看各模型的 token 数量、缓存使用情况和轮次统计。受支持的订阅还会显示配额信息。你可以借此了解会话的用量情况;账单仍以 provider 的仪表盘为准。
延续较长的任务
对于有明确完成标准的任务,可以设定一个目标:
/goal all tests pass and cargo clippy reports no warnings
Ante 会持续对照该条件检查进度。使用 /goal 查看目标,使用 /goal clear 结束循环。完成判定与中断处理详见 Goal Sessions。 如果对话变得很长,可以运行 /context 查看其规模。使用 /compact focus on the remaining test failures 可以总结较早的工作,同时保留接下来需要的上下文。 为工作命名 离开前给对话起一个易识别的标题: /rename config error handling
!cargo test
命令的输出会成为你下一条消息的上下文。你可以接着输入“解释这个失败并修复其原因”,基于刚才看到的结果继续工作。 这些命令会在你的授权下立即执行。对于交互式程序,建议使用终端会话。 用 /term 编排智能体 /term 会打开一个终端,你可以和 Ante 共同操作它。用它来与另一个 Ante 实例、Claude Code、Codex、开发服务器或 REPL 协作。你可以在主对话中下达指令,观察其他程序的工作过程,并在需要时直接介入输入。 打开智能体并分配任务 安装 tmux 后,在 Ante 中输入: /term ante 新的终端会话会在分屏或新窗口中启动另一个 Ante 实例。回到主对话,尝试输入: 在 ante 终端里,让另一个智能体审查当前的 diff。读取它的结果,告诉我哪些问题我们需要处理。 Ante 会发送任务,读取另一个智能体的输出,并能在你观察的同时进行跟进。这个示例演示了它如何打开另一个 Ante 会话、提出问题、读取答案并分离查看器: 如果已安装 Claude Code 或 Codex CLI,可以使用 /term claude 或 /term codex。让 Ante 给每个智能体同样的问题并比较它们的答案,或者将任务的不同部分分配给不同的会话。每个终端保持独立的对话,你可以直接交互以回答问题或引导工作。 在另一个终端中探索 若要基于保存的 Claude Code 或 Codex 对话探索另一个方向,请打开一个新的命名终端: /term review 根据已安装的智能体,选择以下其中一个命令在该终端运行: # 分叉该目录下最近的 Claude Code 对话 claude --continue --fork-session # 分叉最近的 Codex 对话 codex fork --last 智能体原生的 fork 命令会将保存的对话带入新会话。若要与你当前的 Ante 对话并行工作,让 Ante 以明确的手交启动另一个命名会话: 启动一个名为 edge-cases 的 Ante 会话。提供我们目前 的任务、约束和发现。让它在我们要继续实现的同时调查边缘情况。 然后打开 /term edge-cases,即可查看或加入该对话。交接机制会提供新 agent 所需的上下文;每个会话都有各自的历史记录。 保持交互式 subagent 可用 运行 /term 可以列出活跃会话并接入需要的那个。再次运行 /term
Ante 会持续对照该条件检查进度。使用 /goal 查看目标,使用 /goal clear 结束循环。完成判定与中断处理详见 Goal Sessions。 如果对话变得很长,可以运行 /context 查看其规模。使用 /compact focus on the remaining test failures 可以总结较早的工作,同时保留接下来需要的上下文。 为工作命名 离开前给对话起一个易识别的标题: /rename config error handling
该标题会显示在恢复选择器和终端标签页中。
从上次中断处继续
启用会话保存(默认开启)后,你可以通过 /exit 退出,稍后再回来:
- 在同一项目目录下运行 ante。
- 输入 /resume,通过标题或首条消息查找对话。
- 按回车键,然后发送下一条指令。
Ante 会恢复已保存的对话,并使用你当前的权限设置。你也可以运行 ante --resume(或 ante -r)直接打开选择器,或者运行 ante --resume
选择器按最后使用时间列出会话。在 TUI 中恢复时,会打开一个新屏幕,显示所选会话的标题和历史记录。已保存的系统提示词和提示词模式会被保留;当前的提示词标志仅对新会话有效。如果本地日期、操作系统或 shell 发生了变化,Ante 会在模型的下一轮交互中告知一次。
从 Claude Code 或 Codex 继续工作
使用 /resume-claude 或 /resume-codex 可以接续当前项目的近期对话。这些内置技能会读取之前的转录记录,重建任务和进度,并在继续前与你确认下一步操作。添加会话 ID 可选择特定对话。
让终端更舒适
运行 /config 调整偏好设置,或 /theme 选择主题。如果终端丢失了内联回滚缓冲,请使用 ante --fullscreen 启动,或在 /config 中更改渲染模式。
关于各个命令和控制细节,请参阅斜杠命令、键盘快捷键以及 TUI 参考文档。