首页
/ Open Interpreter TUI 斜杠命令完全指南:从模型切换、权限沙箱到会话管理与集成

Open Interpreter TUI 斜杠命令完全指南:从模型切换、权限沙箱到会话管理与集成

2026-09-06 18:50:08作者:谭伦延

在 Open Interpreter 的终端交互界面中,斜杠命令(Slash Command)是与 Agent 对话之外最核心的控制手段:你可以借此切换模型与推理力度、调整权限与沙箱策略、管理会话与子代理线程、审阅代码改动、接入 MCP 服务器与记忆系统,甚至诊断配置与处理后台任务。本文将完整梳理 docs/slash_commands.md 定义的命令体系,并结合 codex-rs/tui 终端 UI 的源码,说明命令如何被解析、过滤、门控与分发。读完你不仅能熟练使用每一条命令,还能理解命令列表为何“随模式与功能开关而动态变化”,以及在何时何地哪些命令可用、哪些不可用。

命令入口:在 Composer 中按下 /

在 TUI 底部的 Composer(输入框)中输入 / 即可打开命令选择器(command picker)。命令列表会根据当前所处模式与已启用的功能标志自动调整——这一点在文档首段就有明确说明,也是理解整个斜杠命令体系的钥匙。

从源码角度,命令集合的“权威定义”位于 codex-rs/tui/src/slash_command.rsSlashCommand 枚举用 #[strum(serialize_all = "kebab-case")] 将所有命令序列化为 kebab-case 风格(如 debug-configsetup-default-sandboxsandbox-add-read-dir)。代码注释明确写道:枚举顺序即命令选择器中的展示顺序,使用频率高的命令排前面,而非按字母排序。

当你在输入框中继续键入字符时,选择器会即时收窄候选列表。相关逻辑位于 command_popup.rs:输入文本中第一个换行前第一个 / 之后的第一个单词会被当作过滤关键字,因此即使输入 /clear something,弹出框仍能正确对应 /clear 的帮助项。命令名匹配使用了模糊匹配工具(codex_utils_fuzzy_match,见 slash_commands.rs),所以打字稍有出入也能命中。/ 之后紧跟的参数(inline args)也受到完整支持,命令历史中斜杠命令的本地回看与普通消息遵循同一条“已提交输入”规则(见 slash_dispatch.rs 的模块注释与实现)。

值得注意的两个命令选择器行为:

  • 弹出列表中会隐藏别名命令(如 quitexit 的别名、btwside 的别名),保证每个动作只出现一次(见 command_popup.rs);
  • debug 开头的调试命令默认不会出现在选择器列表中,但仍可通过输入被解析执行(见 command_popup.rs)。

模型与行为:/model/fast/personality/theme/status

文档的「Models and Behavior」组定义了五个命令,用于调整对话的“大脑”与观感:

命令 用途
/model 选择提供商(provider)、模型以及推理力度(reasoning effort)。
/fast 使用可用的最快服务层级。
/personality 选择交流风格。
/theme 更改语法高亮主题。
/status 显示模型、提供商、沙箱、批准情况、令牌使用以及会话状态。
  • /model 是最高频的命令之一。源码中它的官方描述是“choose provider, model, reasoning effort, and harness”(选择提供商、模型、推理力度与工具 harness,见 slash_command.rs)。Open Interpreter 支持 OpenAI、Anthropic、本地模型提供商,以及来自生成式模型目录的兼容自定义提供商(详见 models.md)。启动时也可用 interpreter -m <model> 一次性覆盖。
  • /fast 是“服务层级”(service tier)类命令。与常规内置命令不同,服务层级命令由后端动态提供(ServiceTierCommand { id, name, description }),并在选择器中紧随 /model 之后插入展示(见 slash_commands.rs 及其测试)。其内部可见性由 service_tier_commands_enabled 标志控制,只有开启时才出现在列表中(见 slash_commands.rs)。
  • /personality 用于选择交流风格,其可见性受 personality_command_enabled 标志门控。
  • /status 汇总当前会话状态(模型、沙箱、批准姿态、令牌用量与上下文),描述为 “show current session configuration and token usage”(slash_command.rs);另外还有一个 /usage 用于查看账户级用量。

提示:切换模型或推理力度最快捷的方式仍是输入 /model 或直接敲 / 后键入 model 过滤列表。

权限与沙箱:/permissions/approvals/sandbox-add-read-dir/setup-default-sandbox

命令 用途
/permissions 选择当前的权限姿态(permission posture)。
/approvals 在兼容构建中作为 /permissions 的别名。
/sandbox-add-read-dir <path> 授予对额外目录的读取访问权限。
/setup-default-sandbox 在支持的环境中配置默认沙箱。
  • /permissions 的源码描述为 “choose what Open Interpreter is allowed to do”(slash_command.rs),对应产品名会自动适配当前发行版本。默认姿态面向可信仓库的日常工作:允许工作区访问,超出活动策略的操作会先请求批准。更完整的策略说明见 permissions.mdsandbox.md
  • /sandbox-add-read-dir 接受一个绝对路径参数,让沙箱额外读取该目录(描述见 slash_command.rs)。需要留意的是,该命令在源码中标注为 Windows 专属可见is_visible() 仅在 target_os = "windows" 时返回 true,见 slash_command.rs),并与沙箱提升(elevated sandbox)机制绑定。
  • /setup-default-sandbox(枚举名 ElevateSandbox)用于“set up elevated agent sandbox”(配置升级后的 Agent 沙箱),其可见性同样受沙箱标志控制——在选择器与 Composer 中,只有 allow_elevate_sandbox(对应 Windows 降级沙箱环境)开启时才会出现(见 slash_commands.rs)。

对话与会话:/new/resume/fork/side/agent/clear/compact/rename/exit/quit

命令 用途
/new 开启新对话。
/resume 恢复之前的会话。
/fork 将当前会话分支(fork)为新会话。
/side 在分支中启动一个侧向对话(side conversation)。
/agent 切换或管理子代理线程。
/clear 清除可见的对话记录。
/compact 汇总旧上下文以释放空间,避免触达上下文上限。
/rename 重命名当前线程。
/exit/quit 退出 TUI。
  • Open Interpreter 的会话状态保存在本地 ~/.openinterpreter/ 目录下(见 interactive.md),因此 /resume 可以随时取回旧会话,/rollout 还能告诉你本地 transcript 的具体路径。
  • /fork/side/agent 共同构成“多线程”工作流。源码中 /side 与别名 /btw 的描述是 “start a side conversation in an ephemeral fork”(在一个临时分支中开启侧向对话,slash_command.rs),执行时通过 AppEvent::StartSide 事件向主线程请求新分支(见 slash_dispatch.rs)。侧向对话内只有少数命令继续可用(见下文“命令可用性约束”)。
  • /compact 会在上下文接近上限时对旧历史做摘要,腾出空间继续工作(提示语见 codex-rs/tui/tooltips.txt)。
  • /clear 在源码描述中是 “clear the terminal and start a new chat”(slash_command.rs)。
  • 相关命令 /plan(切换规划模式)、/goal(为长任务设定目标)在协作模式开启后也会出现在列表中;具体交互操作可参考 interactive.md 中的「会话控制」表与 subagents.md

文件与代码:/init/mention/diff/review/copy

命令 用途
/init 创建包含项目指导的 AGENTS.md
/mention 将文件添加到对话中。
/diff 显示当前工作树(working tree)的差异。
/review 审查当前更改,发现 bug 与回归。
/copy 复制最新的助手回复。
  • /init 描述会随产品动态变化:在 Open Interpreter 中为 “create an AGENTS.md file with instructions for Open Interpreter”(slash_command.rs),它会为当前仓库生成一份带有项目指导的 AGENTS.md,方便 Agent 快速理解代码库约定。仓库根目录的 AGENTS.md 就是此类文件的示例。
  • /mention 等价于输入 @ 进行文件模糊搜索并加入上下文(见 interactive.md 的快捷键表)。它也支持内联参数与粘贴附件(PreparedSlashCommandArgs 中的 mention_bindings 与图片字段,见 slash_dispatch.rs)。
  • /diff 不仅显示已跟踪文件的改动,还包含未跟踪(untracked)文件:描述为 “show git diff (including untracked files)”(slash_command.rs)。
  • /review 用于对当前改动做代码评审,重点报告错误、回归、缺失测试与风险行为;评审模式偏向只读,相关说明见 interactive.md 的「评审与规划」一节。评审结果出现误判时还有 /approveAutoReview 命令)批准一次自动评审拒绝后的重试。
  • /copy 将最后一条助手回复以 Markdown 形式复制到剪贴板,便于转存。

集成:/mcp/skills/plugins/apps/memories/hooks

命令 用途
/mcp 显示已配置的 MCP 服务器与工具。
/skills 检查可用的技能(skills)。
/plugins 在启用时浏览插件支持。
/apps 在启用时管理连接器/应用工具。
/memories 在启用时检查或配置记忆。
/hooks 审查并信任生命周期钩子。

这组命令将 Agent 与外部能力相连,且全部受功能标志门控——这正是文档所称“列表根据当前模式和已启用的功能标志进行调整”的直接体现。在 slash_commands.rsbuiltins_for_input 中可以看到:

  • /apps 仅在 connectors_enabled(连接器/应用工具开启)时出现;
  • /plugins 仅在 plugins_command_enabled 时出现;
  • /goal 仅在 goal_command_enabled 时出现;
  • /usage 仅在账户级 token 活动统计开启时出现(另有精确输入仍可解析以给出错误提示的分支逻辑,见同文件测试)。

对应的功能细节可以参考仓库中的专项文档:mcp.md(MCP 服务器与工具)、skills.mdplugins.mdmemories.mdhooks.md。其中 /mcp 还支持 /mcp verbose 参数输出更详细的信息(描述见 slash_command.rs)。

后台工作:/ps/stop

命令 用途
/ps 列出后台终端任务。
/stop 停止后台任务。

当命令或脚本执行时间较长时,可以将其放入后台终端继续运行,同时让 Agent 接着干别的活。/ps(描述 “list background terminals”)列出所有后台终端,/stop(描述 “stop all background terminals”)则全部停止(slash_command.rs)。源码单元测试还确认了别名关系:/clean 会被解析为 stop(见 slash_command.rs 的测试 clean_alias_parses_to_stop_command)。关于后台终端如何派发到独立进程/终端执行,可进一步阅读 exec.md

诊断与生命周期:/debug-config/rollout/title/statusline/experimental/update/logout/feedback

命令 用途
/debug-config 打印已解析的配置及其来源(config layers)。
/rollout 显示本地对话记录(transcript/rollout)路径。
/title 配置终端标题显示内容。
/statusline 配置状态栏显示内容。
/experimental 在可用时切换实验性功能。
/update 管理独立 CLI 的更新。
/logout 移除已保存的凭据。
/feedback 发送反馈以及可选的日志。
  • /debug-config 面向排障:打印合并后的配置分层与各配置项来源(描述 “show config layers and requirement sources for debugging”,slash_command.rs),是定位“这个配置到底是哪个文件/环境变量设定的”的最快路径。
  • /rollout 打印 rollout 文件路径(描述见 slash_command.rs),方便你手动查看原始对话轨迹。
  • /title/statusline 分别控制终端标题栏与状态栏要展示哪些信息,两者都支持内联参数并可在任务运行中调整(见 available_during_task 测试,slash_command.rs)。
  • /experimental 用于开关实验性功能。
  • /logout 清除已保存的登录凭据;/feedback 可将日志随反馈发给维护者(描述 “send logs to maintainers”,slash_command.rs)。

命令可用性约束:功能门控、任务期与侧向对话

理解了命令列表,还需理解命令的可用时机。源码中通过三个谓词精确刻画了每条命令的可用边界(均在 slash_command.rs):

  1. supports_inline_args()(L190-L212):是否接受内联参数。支持者包括 /review/rename/new/clear/fork/plan/goal/ide/keymap/mcp/raw/usage/pets/side/btw/resume/sandbox-add-read-dir 等,因此可以写出 /review/rename 新标题 这类带参命令。
  2. available_in_side_conversation()(L214-L226):在侧向对话中仍然可用的命令,仅剩 copyrawdiffmentionstatususageide 这 7 条(相关测试见 slash_commands.rs)。其余命令在侧向对话里会被隐藏或给出“先按 Ctrl+C 返回主线程”的提示(提示常量见 slash_dispatch.rs)。
  3. available_during_task()(L228-L286):在任务进行中是否可用。newinitclearreviewfork 等会修改会话结构的命令在任务运行中不可用,而 diffstatustitlestatusline 等只读或轻量命令随时可用;如果任务运行中调用了被禁命令,会收到 '/<cmd>' is disabled while a task is in progress. 的明确错误(slash_dispatch.rs)。

此外,各命令还有平台/构建可见性差异is_visible()slash_command.rs):/sandbox-add-read-dir 仅 Windows 可见;/copy 在 Android 上不可用;/apps(对应桌面端续接)仅在 macOS/Windows 可见;/rollout/approve 等调试命令仅在 debug 构建中出现。

别名速查(由源码注释与测试确认,见 slash_command.rs):/exit/quit/side/btw/pets/pet/stop/clean;弹出列表展示时会去重,只保留规范名称。

更多内置命令:超出文档表格的部分

实际命令集比 docs/slash_commands.md 的分类表格更广。SlashCommand 枚举还包含以下在特定模式或功能开关下出现的命令(描述均来自源码 description() 方法,见 slash_command.rs):

命令 说明
/plan 切换到规划(Plan)模式,先检查再编辑;需开启协作模式。
/goal 为长任务设置或查看目标,支持 gooooal 式的容错输入。
/usage 查看账户用量或使用用量重置。
/raw 切换原始滚动输出模式,方便复制终端选区(/raw on|off)。
/ide 引入 IDE 当前选中内容、打开文件等上下文。
/import 从其他编码 Agent 导入设置、当前项目与近期会话。
/archive/delete 归档/永久删除当前会话并退出。
/keymap 重映射 TUI 快捷键。
/vim 为 Composer 切换 Vim 模式。
/harness 为当前模型选择工具 harness。
/pets 选择或隐藏终端宠物。
/approve 批准一次自动评审拒绝后的重试。

其中 /goal 对输入还做了有趣的容错:源码里 find_builtin_command 会把一串 gooooooooooal 也归一化为 /goalslash_commands.rs),并有对应单元测试 goal_command_allows_extra_os_for_dispatch 验证。

与相关文档的组合使用建议

斜杠命令是 TUI 交互的“控制面板”,但要发挥完整价值,建议与下列仓库文档配合阅读:

总而言之,斜杠命令体系以 codex-rs/tui/src/slash_command.rsSlashCommand 枚举为唯一事实源,经由 Composer 解析、功能标志过滤、选择器呈现、分派器执行四个环节完成一次调用。理解“命令 = 名字 + 描述 + 三类可用性谓词 + 一组平台可见性”这一模型后,你就能在任何模式下快速判断该敲哪个命令,以及在任务运行中或侧向对话里哪些命令会被禁用,从而更高效地驾驭 Open Interpreter 的终端交互体验。

登录后查看全文
热门项目推荐
相关项目推荐