尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Open Interpreter 交互模式完全指南:在终端 TUI 中驾驭提示、文件、批准与斜杠命令

Open Interpreter 交互模式完全指南:在终端 TUI 中驾驭提示、文件、批准与斜杠命令 Open Interpreter 交互模式完全指南在终端 TUI 中驾驭提示、文件、批准与斜杠命令【免费下载链接】openinterpreterA coding agent for open models like Kimi K3 and GLM 5.3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter导读交互模式Interactive Mode是 Open Interpreter 的终端 UITUI使用形态在项目目录中启动interpreter后你可以在同一个终端里完成提问、引用文件与图片、管理批准策略、切换模型、规划与代码评审以及控制多会话全程无需离开编辑器所在的开发环境。读完本文你将掌握启动交互模式的命令行方式、Composer 输入框的完整键盘操作、文件与图片的挂载方法、/permissions批准策略、/model与一次性 CLI 覆盖、/plan与/review的评审流程、后台任务与会话控制并从仓库源码层面理解这些斜杠命令的注册与分发机制。说明交互模式对应的完整界面与键位实现位于仓库的 codex-rs/tui 目录其入口文件为 codex-rs/tui/src/lib.rs 与 codex-rs/tui/src/main.rs文档主体为 docs/zh/interactive.md英文原版见 docs/interactive.md。一、启动交互模式在任意项目目录下运行interpreter即可拉起终端 UI。官方文档推荐在项目目录中启动这样代理从启动那一刻起就以当前目录为工作区cd my-project interpreter如果不想先进入空提示框再输入可以把首个提示直接作为命令行参数传入interpreter find the auth middleware and explain how it works这条命令等价于「先启动 TUI、再在 Composer 中提交同一条消息」适用于快速进入一个具体任务。此外交互模式还支持把一系列「一次性覆盖」参数追加在同一条命令后面例如模型指定详见第五节。交互模式/非交互模式共享的命令行参数模型、图片、沙箱、批准等统一定义在 codex-rs/utils/cli/src/shared_options.rs由 TUI 的 CLI 入口 codex-rs/tui/src/cli.rs 引入完整的参数清单可参考 docs/zh/cli-reference.md。二、Composer位于底部的提示输入框在 TUI 中位于屏幕底部的输入区域被称为Composer它是你与代理对话的入口。文档给出的完整键位与命令映射如下操作键或命令发送消息Enter添加换行ShiftEnter打开斜杠命令/提及文件或/mention在$VISUAL或$EDITOR中编辑提示CtrlG搜索提示历史CtrlR在工作运行时排队后续操作Tab取消或退出Esc退出/exit或按两次CtrlC其中几项值得展开换行与发送分离Enter直接提交而ShiftEnter插入换行方便编写多行提示或粘贴大段指令。文件提及输入会触发文件的模糊搜索fuzzy-search选中后文件作为上下文元素进入输入框/mention是同一能力的斜杠命令形式。对应实现见 codex-rs/tui/src/chatwidget/mention_codec.rs 与SlashCommand::Mention。外部编辑器编辑CtrlG会把当前提示带出到$VISUAL若设置或$EDITOR否则指定的编辑器中保存退出后内容回到 Composer适合编辑长文本。提示历史导航Composer 支持↑/↓上下翻阅历史CtrlR则进入反向增量搜索模式底部栏变为搜索输入框查询非空时正文区实时预览当前匹配项Enter采纳预览。从源码注释可见历史分为「跨会话持久历史」仅文本与「会话内本地历史」含文本元素、附件、图片引用两层见 codex-rs/tui/src/bottom_pane/chat_composer.rs。排队后续操作当代理正在运行任务时按Tab不会打断当前工作而是把你要输入的下一条指令排入队列当前轮次结束后自动继续。退出/exit立即退出在主界面连续按两次CtrlC同样可以退出。三、在输入框中「提及」文件与图片3.1 使用引用文件输入后开始键入文件名TUI 会对工作区内的文件做模糊搜索选中即把该文件作为上下文附加到当前提示。被提及的文件会随消息一起提交给模型让代理基于真实文件内容作答而不是只凭你的转述。3.2 将图片附加到首个提示图片只能附加到首个提示即通过命令行启动交互模式时。使用-i/--image参数支持一次附加一张或多张图片多张之间以英文逗号分隔interpreter -i screenshot.png explain what is wrong in this UI interpreter -i before.png,after.png compare these states参数images在 codex-rs/utils/cli/src/shared_options.rs 中定义value_delimiter ,意味着逗号分隔的多张图片会被展开为多个文件路径num_args 1..允许一次传入多个-i值因此两种写法都合法interpreter -i screenshot.png describe this UI bug interpreter -i before.png,after.png compare these states注意图片输入能否被模型理解取决于当前模型是否支持图像模态input_modalities中包含image。仓库中多个 harness 显式声明了模型能力例如 codex-rs/core/src/harness/kimi_cli.rs 中input_modalities: [text, image]意味着该模型可接收图片输入。四、批准Approvals与 /permissions当代理即将执行的命令或工具调用超出当前安全策略时TUI 会在真正执行前弹出批准请求由你确认或拒绝。文档明确描述了默认姿态的设计取向面向可信仓库的日常工作——允许工作区内操作凡是超出活动策略范围的动作都会先征求你的同意。使用/permissions可以随时更改活动策略/permissions/permissions会打开权限模式选择弹窗实现在 codex-rs/tui/src/chatwidget/permission_popups.rsopen_permissions_popup负责弹出你可以在其中切换不同的批准力度/permissions属于在任务运行中依然可用的命令见SlashCommand::Permissions的available_during_task()返回逻辑codex-rs/tui/src/slash_command.rs。批准与沙箱是一体两面命令行也提供对应的启动参数用于一次性覆盖例如-s/--sandbox选择沙箱策略、--approve-for-me走自动评审通道、--dangerously-bypass-approvals-and-sandbox别名yolo跳过全部确认高危仅建议用于已被外部沙箱隔离的环境参数定义同样位于 codex-rs/utils/cli/src/shared_options.rs。关于策略的具体语义与沙箱机制请阅读仓库内的两份专项指南沙箱与批准英文sandbox权限英文permissions五、模型与提供商/model 与一次性 CLI 覆盖在会话中运行/model可以打开模型选择弹窗从中切换提供商provider、模型model与推理力度reasoning effort。弹窗实现位于 codex-rs/tui/src/chatwidget/model_popups.rsopen_model_popup先展示快捷自动模型列表选择「所有模型」后进入包含全部预设的完整选择器model_popups基于 TUI 侧的模型目录 codex-rs/tui/src/model_catalog.rs 渲染选项。Open Interpreter 支持的提供商范围包括OpenAIAnthropic本地提供商如 LM Studio、Ollama配合--oss使用来自生成模型目录的兼容自定义提供商除/model交互式选择外文档还给出了两种常见的一次性命令行覆盖即在启动时直接指定不进入弹窗interpreter -m gpt-5.1-codex review this module interpreter --oss try this with my local model-m/--model直接指定本次会话使用的模型。--oss强制走开源/本地模型提供商。若同时想明确指定本地后端可用--local-provider指定lmstudio或ollama源码注释说明--oss不带该参数时使用配置默认值或弹出选择。这些标志在 codex-rs/utils/cli/src/shared_options.rs 中定义且 TUI 对执行子命令时做了「继承 覆盖」的合并处理inherit_exec_root_options/apply_subcommand_overrides确保外层指定的模型、OSS 开关和图片会正确传递给内部命令。六、评审与规划/plan 与 /review交互模式内置了两种「先想后做」的工作流对应源码中两个独立语义的命令见 codex-rs/tui/src/slash_command.rs/plan切换进入Plan 模式规划模式让代理在动手编辑代码之前先检查现场并给出执行计划或建议经你确认后再落地。/review对当前更改做一次代码评审code-review pass排查问题。它支持行内参数如/review ...见supports_inline_args意味着可以直接附带评审关注点。文档特别强调评审模式是「侧重阅读」的模式read-focused。它会先在摘要之前报告错误bugs、回归regressions、缺失的测试missing tests以及风险行为risky behavior而不是急着输出总结——换句话说它把「找问题」排在「下结论」之前。从实现看/plan的分发逻辑位于 codex-rs/tui/src/chatwidget/slash_dispatch.rsapply_plan_slash_command会检查协作模式collaboration modes是否开启若未开启则提示「Collaboration modes are disabled / 需要启用协作模式才能使用 /plan」开启后则依据当前模型目录计算规划掩码plan_mask并应用到会话。这也解释了为什么文档提示在使用某些模型或配置时需先满足协作模式前提。/review则会打开评审弹窗open_review_popup若 MCP 启动尚未完成还会先暂缓输入直至配置生效。七、后台工作让长命令常驻长时间运行的命令例如构建、测试、启动本地服务不必阻塞对话它们可以在**后台终端background terminal**中持续运行而代理继续处理你的下一条指令。命令用途/ps列出后台终端/stop停止后台终端从仓库源码可以还原这两个命令的底层调用链TUI 侧通过AppCommand::CleanBackgroundTerminals见 codex-rs/tui/src/app_command.rs发起请求并由线程路由逻辑app/thread_routing.rs调用 app-server 的thread_background_terminals_clean服务端在 codex-rs/app-server/src/message_processor.rs 中分别处理三种后台终端请求——ThreadBackgroundTerminalsClean清空/停止、ThreadBackgroundTerminalsList列出与ThreadBackgroundTerminalsTerminate终止最终在 codex-rs/app-server/src/request_processors/thread_processor.rs 中实现对应内部方法。也就是说/ps与/stop的本质是 TUI 通过 JSON-RPC 协议向运行时代理查询并清理与当前会话thread绑定的后台终端集合。八、会话控制命令速查交互模式围绕「会话thread/session」提供了一组管理命令命令用途/new开始一个新的会话/resume选择一个旧的会话/fork分叉当前会话/compact压缩旧的上下文/clear清除屏幕/copy复制最新的助手输出/theme更改语法高亮主题/status检查模型、沙盒、批准和令牌状态逐一说明其语义/new与/clear都用于「翻篇」区别在于/clear只清空终端画面而/new在对话进行中开启一条全新的会话SlashCommand::New描述为 start a new chat during a conversation。两者都支持行内参数。/resume打开会话拾取器codex-rs/tui/src/resume_picker.rs从历史会话列表中选择一条继续/fork则基于当前会话派生一条新分支而不影响原会话。/compact用于压缩旧上下文把较早的对话折叠成摘要以推迟接近上下文上限context limit对应描述 summarize conversation to prevent hitting the context limit。/copy把最新一条助手输出以 Markdown 格式复制到剪贴板SlashCommand::Copy描述为 copy last response as markdown。/theme切换语法高亮主题/status汇总展示当前会话的模型、沙箱、批准策略与令牌token用量等运行时状态。需要留意的是不是所有命令在所有时刻都可用。源码在 codex-rs/tui/src/slash_command.rs 中为每个命令声明了available_during_task()任务进行中是否可用与available_in_side_conversation()旁路对话中是否可用。例如/new、/review、/plan、/clear在任务运行中会被禁用分发器会给出 /xxx is disabled while a task is in progress. 提示而/model、/permissions、/status、/ps、/stop等可以在任务进行中随时调用方便你边跑边调。会话状态的本地存储Open Interpreter 将会话状态本地保存在~/.openinterpreter/目录下。也就是说跨启动的/resume、历史提示记录等依赖的数据都落在你的主目录中不会上传到远端如需了解会话存储的更多细节可参考 docs/zh/sessions.md 与配置文档 docs/zh/config-reference.md。九、斜杠命令的底层机制从注册到分发如果把整个交互模式比作一张命令台那么所有的/命令都来自同一个枚举注册表。在 codex-rs/tui/src/slash_command.rs 中SlashCommand枚举以声明顺序即弹出菜单展示顺序的方式列出了全部内置命令注释明确提醒「不要按字母排序高频命令放前面」并通过description()为每条命令提供面向用户的说明文本例如/plan→ switch to Plan mode/review→ review my current changes and find issues/status→ show current session configuration and token usage/permissions→ choose what Open Interpreter is allowed to do/model→ choose provider, model, reasoning effort, and harness从这份源码清单还可以挖掘出文档未展开但值得知道的信息别名/exit与/quit都指向退出/clean是/stop的别名并有对应单元测试clean_alias_parses_to_stop_command/pet是/pets的别名/approve对应自动评审拒绝的一次放行。可见 codex-rs/tui/src/slash_command.rs 中的测试模块对上述别名做了显式断言。行内参数supports_inline_args()标明的命令可以直接携带参数如/review ...、/rename ...、/resume ...、/goal ...。可见性规则is_visible()控制命令是否出现在弹窗中例如沙箱读目录命令仅在 Windows 上显示、/app仅在 macOS/Windows 上显示、调试专用命令仅在 debug 构建下出现。命令的输入侧处理在 Composer 中完成用户敲入/后弹出命令菜单输入完整命令名时 Composer 会将其「提升」promote为独立的命令元素见 codex-rs/tui/src/bottom_pane/chat_composer.rs 的模块说明随后进入 codex-rs/tui/src/chatwidget/slash_dispatch.rs 的分发逻辑先做「侧对话可用性」与「任务进行中可用性」两道闸门检查再路由到具体处理函数如/model打开模型弹窗、/permissions打开权限弹窗、/plan应用协作模式掩码。这套「枚举注册 描述集中管理 分发器调度 任务态闸门」的结构保证了即使命令数量庞大行为也一致、可测试。十、上手建议与完整工作流把上面的能力串起来一个典型的交互式开发循环可以是cd my-project interpreter启动 TUI在 Composer 中提及关键源文件输入首个提示或在启动时直接interpreter 首个提示、-i附带截图/设计稿需要动手大改之前先/plan拿到方案改动完成后用/review让代理做一轮侧重阅读的代码评审借助/model或启动参数-m/--oss在云端模型与本地模型之间切换对比效果长命令跑起来后继续对话需要时用/ps查看、/stop停掉后台终端收工前用/status确认模型、沙箱与批准状态与令牌用量换任务用/new想回看旧任务用/resume需要对比方案用/fork。交互模式相关的界面实现、斜杠命令注册表与 CLI 参数定义均可直接在仓库中按本文给出的路径查阅帮助你在使用之外进一步理解其工作机制。【免费下载链接】openinterpreterA coding agent for open models like Kimi K3 and GLM 5.3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表