Skip to content

使用 omp

交互式会话的剖析

直接运行 omp 会打开一个交互式会话。屏幕有四个区域,从上到下:

Header

首次启动时显示 omp 标识;开始对话后会显示紧凑的会话标题、会话树中的当前分支,以及计划、循环、目标等已启用模式的提示条。

消息

这里显示用户提示、助手回合和工具调用卡。每个调用默认仅显示一行摘要;按 Ctrl+O 可展开完整输出、Diff 或 bash 脚本。

编辑器

多行输入区域支持文件引用、路径补全、粘贴图片、Shell 转义和调用外部编辑器。

Footer

默认显示两行状态信息(扩展发布状态时为三行):第一行是工作目录和当前 Git 分支,第二行是 Token、成本、上下文占用与当前模型。

编辑器功能

特点如何它的作用
文件参考@模糊搜索项目文件(尊重 .gitignore)。在发送时,每个引用都会替换为提示中内嵌的文件内容。
路径补全Tab补全相对路径、../~/ 等前缀。
多行Shift+Enter / Alt+Enter插入换行符。在Windows Terminal上使用 Alt+Enter (它不提供 Shift+Enter).
图片附加Ctrl+V、拖放,或 @image.png从剪贴板粘贴、从操作系统文件管理器拖动或内联路径。活动模型必须接受图像输入,否则附件会在发送时丢弃并出现警告。
Shell逃逸(可见)!提示前缀为 ! 作为 shell 命令执行并将输出包含在上下文中。实时流式传输。 Escape 取消。
Shell 转义(隐藏)!!! 相同,但不会把输出放入 LLM 上下文;输出仍会显示在终端中。
Python 转义$ / $$在共享 Python 内核中运行;$$ 与 bash 的 !! 一样,会隐藏输出,不将其放入上下文。
外部编辑Ctrl+G打开当前草稿 $VISUAL / $EDITOR;退出时保存回编辑器。
迅速采取行动#打开当前草稿的提示操作菜单。

完整快捷键列表(历史搜索、行移动、复制快捷键、模型切换)请参阅 快捷键.

消息队列

智能体工作期间仍可继续输入,消息不会丢失。它们会进入队列,并按两种不同语义送达。

快捷键类型送达时机
Enter转向消息当前助手回合完成工具调用后送达,适合在执行中修正方向。
Ctrl+Q / Ctrl+Enter跟进智能体完成所有排队工作并生成回复后。用于“然后这个”。
Escape中止当前回合。排队的转向和后续消息将恢复到编辑器堆栈而不是丢弃。
Alt+Up将最新排队的消息出队返回编辑器。

以下三项设置决定队列行为,可在 /settings 的“交互”中修改,也可写入 ~/.omp/agent/config.yml

  • steeringModeallone-at-a-time (默认)。
  • followUpModeallone-at-a-time (默认)。
  • interruptModeimmediate (默认)或 wait.

模式

交互式模式是默认模式。其他非交互入口可通过 --print--mode <mode> 选择。

模式调用输出用于
交互式(默认)ompTUI日常工作。
打印omp -p "prompt"标准输出上的纯文本,没有 TUI。脚本、CI、shell 管道。
JSONomp --mode json -p "prompt"标准输出上的 JSON Lines 事件。格式稳定,适合管道和其他工具。
RPComp --mode rpc通过 stdio 的 JSON-RPC。SDK 和编程客户端。参见 RPC 模式
ACPomp --mode acp(或 omp acp基于 stdio 的 Agent Client Protocol。编辑器和其他支持 ACP 的宿主。参见 ACP

--mode rpc-ui 是 RPC 的变体,会将 TUI 内的工具调用 UI 呈现请求交给 Client。完整参数列表请参阅 CLI 参考

计划模式

当改动涉及多个文件或执行顺序不明确时,可先使用计划模式/plan 会把规划回合隔离为只读工作,并交给独立的规划模型(仅允许写入计划文件)。批准后可选择执行并清理规划记录、保留记录,或压缩上下文。