Open Interpreter TUI 斜杠命令完全指南:从模型切换、权限沙箱到会话管理与集成
在 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.rs:SlashCommand 枚举用 #[strum(serialize_all = "kebab-case")] 将所有命令序列化为 kebab-case 风格(如 debug-config、setup-default-sandbox、sandbox-add-read-dir)。代码注释明确写道:枚举顺序即命令选择器中的展示顺序,使用频率高的命令排前面,而非按字母排序。
当你在输入框中继续键入字符时,选择器会即时收窄候选列表。相关逻辑位于 command_popup.rs:输入文本中第一个换行前第一个 / 之后的第一个单词会被当作过滤关键字,因此即使输入 /clear something,弹出框仍能正确对应 /clear 的帮助项。命令名匹配使用了模糊匹配工具(codex_utils_fuzzy_match,见 slash_commands.rs),所以打字稍有出入也能命中。/ 之后紧跟的参数(inline args)也受到完整支持,命令历史中斜杠命令的本地回看与普通消息遵循同一条“已提交输入”规则(见 slash_dispatch.rs 的模块注释与实现)。
值得注意的两个命令选择器行为:
- 弹出列表中会隐藏别名命令(如
quit是exit的别名、btw是side的别名),保证每个动作只出现一次(见 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.md 与 sandbox.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 的「评审与规划」一节。评审结果出现误判时还有/approve(AutoReview命令)批准一次自动评审拒绝后的重试。/copy将最后一条助手回复以 Markdown 形式复制到剪贴板,便于转存。
集成:/mcp、/skills、/plugins、/apps、/memories、/hooks
| 命令 | 用途 |
|---|---|
/mcp |
显示已配置的 MCP 服务器与工具。 |
/skills |
检查可用的技能(skills)。 |
/plugins |
在启用时浏览插件支持。 |
/apps |
在启用时管理连接器/应用工具。 |
/memories |
在启用时检查或配置记忆。 |
/hooks |
审查并信任生命周期钩子。 |
这组命令将 Agent 与外部能力相连,且全部受功能标志门控——这正是文档所称“列表根据当前模式和已启用的功能标志进行调整”的直接体现。在 slash_commands.rs 的 builtins_for_input 中可以看到:
/apps仅在connectors_enabled(连接器/应用工具开启)时出现;/plugins仅在plugins_command_enabled时出现;/goal仅在goal_command_enabled时出现;/usage仅在账户级 token 活动统计开启时出现(另有精确输入仍可解析以给出错误提示的分支逻辑,见同文件测试)。
对应的功能细节可以参考仓库中的专项文档:mcp.md(MCP 服务器与工具)、skills.md、plugins.md、memories.md、hooks.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):
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 新标题这类带参命令。available_in_side_conversation()(L214-L226):在侧向对话中仍然可用的命令,仅剩copy、raw、diff、mention、status、usage、ide这 7 条(相关测试见 slash_commands.rs)。其余命令在侧向对话里会被隐藏或给出“先按 Ctrl+C 返回主线程”的提示(提示常量见 slash_dispatch.rs)。available_during_task()(L228-L286):在任务进行中是否可用。new、init、clear、review、fork等会修改会话结构的命令在任务运行中不可用,而diff、status、title、statusline等只读或轻量命令随时可用;如果任务运行中调用了被禁命令,会收到'/<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 也归一化为 /goal(slash_commands.rs),并有对应单元测试 goal_command_allows_extra_os_for_dispatch 验证。
与相关文档的组合使用建议
斜杠命令是 TUI 交互的“控制面板”,但要发挥完整价值,建议与下列仓库文档配合阅读:
- interactive.md:Composer 快捷键、文件与图片附件、批准流程与启动参数的完整说明;
- permissions.md、sandbox.md:理解
/permissions各权限姿态与沙箱边界的语义; - models.md:
/model背后可用提供商、模型与推理力度的清单; - memories.md、skills.md、mcp.md、plugins.md、hooks.md:各集成命令对应的配置方式;
- sessions.md:会话存储、续接与 rollout 文件的位置约定;
- subagents.md:
/agent与多代理线程工作流。
总而言之,斜杠命令体系以 codex-rs/tui/src/slash_command.rs 的 SlashCommand 枚举为唯一事实源,经由 Composer 解析、功能标志过滤、选择器呈现、分派器执行四个环节完成一次调用。理解“命令 = 名字 + 描述 + 三类可用性谓词 + 一组平台可见性”这一模型后,你就能在任何模式下快速判断该敲哪个命令,以及在任务运行中或侧向对话里哪些命令会被禁用,从而更高效地驾驭 Open Interpreter 的终端交互体验。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0624
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00