首页
/ Open Interpreter(Rust 版):面向低成本模型的终端编码代理——安装、Harness 切换与 Codex SDK 兼容实战

Open Interpreter(Rust 版):面向低成本模型的终端编码代理——安装、Harness 切换与 Codex SDK 兼容实战

2026-09-06 14:13:44作者:范垣楠Rhoda

Open Interpreter 是 OpenAI Codex 的一个 Rust 重写分支,其定位是"为低成本模型优化的编码代理"。本篇基于仓库西班牙语版 README(README_ES.md)梳理其完整使用路径:从一行命令安装、启动 i/interpreter 会话,到通过 /harness 在 10 余种内置 Harness 之间切换、通过 interpreter acp 接入 ACP 编辑器、以及仅改一行代码即用 OpenAI Codex TypeScript SDK 驱动本项目的实践。读完后你可以直接搭建一个可运行、可嵌入编辑器的低成本模型编码代理环境。

Open Interpreter 在终端中运行的效果截图

一、安装与启动

Open Interpreter 为 macOS、Linux 和 Windows 提供了安装脚本,README 中给出的官方入口如下。

macOS 与 Linux:

curl -fsSL https://www.openinterpreter.com/install | sh

Windows(PowerShell):

irm https://www.openinterpreter.com/install.ps1 | iex

安装完成后,在终端输入 iinterpreter 即可启动一个交互式会话。

安装脚本做了什么

仓库内附带的安装脚本 scripts/install/install.sh 可以直接对照阅读,其中几个关键变量说明了安装的落点与默认行为:

COMMAND_NAME="${CODEX_COMMAND_NAME:-interpreter}"          # 主命令名
ALIAS_COMMAND_NAMES="${CODEX_ALIAS_COMMAND_NAMES:-i}"     # 别名 i
BIN_DIR="${OPEN_INTERPRETER_INSTALL_DIR:-${CODEX_INSTALL_DIR:-$HOME/.local/bin}}"
CODEX_HOME_DIR="${INTERPRETER_HOME:-${CODEX_HOME:-$HOME/.openinterpreter}}"
RELEASE_TAG_PREFIX="${CODEX_RELEASE_TAG_PREFIX:-rust-v}"

从源码结构看可以确认:

  • 二进制被安装到 ~/.local/bin/interpreter,同时注册了别名 i
  • 配置与会话状态统一保存在 ~/.openinterpreter(可通过环境变量 INTERPRETER_HOMECODEX_HOME 覆盖);
  • 独立(standalone)发布包解压到 ~/.openinterpreter/packages/standalone,并通过 releases/<版本>current 软链接管理版本切换,脚本内置安装锁(install.lock,10 分钟视为陈旧)防止并发安装互相破坏;
  • 版本号形如 x.y.z[-alpha[.N]|-beta[.N]],前缀 rust-v 表明这是 Rust 线的发布。

Windows 侧对应脚本为 scripts/install/install-open-interpreter.ps1,并配有自动化测试 scripts/install/test_install_ps1.ps1scripts/install/test_install_sh.py

二、Harness 模拟:一个二进制,多套代理骨架

Open Interpreter 的核心设计理念是 Harness 模拟:它 fork 自 Codex,目标是复现"在低成本模型上表现最好的那套代理 harness(系统提示词 + 工具集 + 请求整形)",让不同厂商的模型都能以各自官方 CLI 的方式被驱动。

在 TUI 中输入 /harness 即可列出当前可选 harness 并切换,README 中展示的清单为:

> /harness

native
claude-code
claude-code-bare
zcode
kimi-code
kimi-cli
qwen-code
deepseek-tui
swe-agent
minimal

源码中的完整 Harness 枚举

TUI 展示的是常用子集。核心枚举定义在 codex-rs/tools/src/harness.rs,实际支持的取值更多:

pub enum Harness {
    #[default]
    Native,
    ClaudeCode,
    ClaudeCodeBare,
    DeepSeekTui,
    KimiCode,
    KimiCli,
    ZCode,
    LittleCoder,
    MiniSweAgent,
    OpenCode,
    Pi,
    QwenCode,
    SweAgent,
    Terminus2,
    Minimal,
    Other(String),
}

其中:

  • Native 是默认值(from_config_name(None) 或空字符串时解析为 Native),即 Codex 原生的提示词与工具面;
  • Other(String) 分支允许配置中出现未列举的名称,为后续扩展留出空间;
  • is_claude_code() 同时覆盖 claude-codeclaude-code-bare,二者共享整形原语但系统提示词与工具集不同。

每个 harness 的实现集中在 codex-rs/core/src/harness/ 目录下,每个文件对应一套独立的提示词资产,例如:

Harness 实现文件 关联提示词/工具资产
kimi-code kimi_code.rs kimi_code_system_prompt.mdkimi_code_tools.json
kimi-cli kimi_cli.rs kimi_cli_prompt.mdkimi_cli_compaction_prompt.md
qwen-code qwen_code.rs qwen_code_prompt.md
swe-agent swe_agent.rs 同目录
minimal minimal.rs 同目录

README 特别提到 Kimi K3:供应商推荐的 Kimi Code harness 已被用 Rust 重新实现,以获得 K3 的最佳表现与类 Codex 的交互界面,登录流程对应 codex-rs/login/src/kimi_code.rs,相关中文文档见 docs/zh/kimi-k3.md

路由层:Harness 如何影响请求

Harness 不只是换一份系统提示词。codex-rs/core/src/harness/routing.rs 中的 resolve_stream_transport_route(wire_api, harness) 会根据"线上 API 类型 × harness"组合决定流式传输路线:

pub(crate) enum StreamTransportRoute {
    ResponsesApi,
    ChatCompletionsCompat,
    ChatHarness(ChatHarnessRoute),
    MessagesHarness(MessagesHarnessRoute),
    /// claude-code shaping carried over the Responses wire (`/responses`).
    ClaudeCodeResponses(ClaudeCodeProfileRoute),
    /// claude-code shaping carried over the chat-completions wire
    ClaudeCodeChat(ClaudeCodeProfileRoute),
}

也就是说 claude-code/claude-code-bare 的整形(Full/Bare 两种 profile)既能跑在 Responses 线上,也能经由 chat-wire-compat 转换器跑在 Chat Completions 线上;deepseek-tuikimi-codeswe-agent 等则走 ChatHarness 路线。claude-codeclaude-code-bare 的差别正体现在 ClaudeCodeProfileRoute::{Full, Bare} 上:共享工具整形原语,但系统提示词与工具集不同。

三、ACP 协议与 Codex SDK 兼容

作为 ACP 代理接入编辑器

Open Interpreter 可以作为 Agent Client Protocol 代理运行:把编辑器的 ACP 客户端指向 interpreter acp 即可。仓库中文档为 docs/acp.md,Rust 侧实现位于 codex-rs/acp-server/,另有测试客户端 codex-rs/app-server-test-client/ 可用于本地联调。

一行代码替换 Codex SDK 的二进制

如果你已经在用 OpenAI 的 Codex TypeScript SDK,可以保留 SDK、只把二进制指向 interpreter

-const codex = new Codex();
+const codex = new Codex({ codexPathOverride: "interpreter" });

这与 README 的说明一致:Open Interpreter 实现了与 Codex 相同的 exec 协议,因此 SDK 无需改动其他代码。仓库提供了一条本地兼容性检查脚本 scripts/test-codex-sdk-compat.sh,其流程是:

  1. 要求 interpreter 可执行(或通过环境变量 INTERPRETER_BIN 指定);
  2. 用 pnpm 安装并构建 @openai/codex-sdksdk/typescript/);
  3. CODEX_EXEC_PATH=$interpreter_bin 运行 SDK 的集成测试 tests/run.test.ts 中 "resumes thread by id" 用例——该用例只涉及会话恢复,不依赖任何模型供应商凭据;
  4. 通过则打印 Codex SDK compatibility passed with <bin>

SDK 使用文档见 docs/sdk.md

四、计算机使用(QA 技能)

Open Interpreter 内置一套 QA 技能,让任何模型都能"真的操作并测试"自己改动的界面:Web 应用通过 agent-browser 驱动真实浏览器,原生桌面应用通过 trycua 的 cua-driver 驱动。技能定义在 codex-rs/skills/src/assets/samples/qa-testing/SKILL.md,其工作流程要点:

  1. 先检查网络curl -fsI https://github.com 不通时,技能会要求用户先用 /permissions 放行网络,因为沙箱默认可能阻断出站流量;
  2. Web 应用:按 uname 组合(darwin/linux × arm64/x86_64)下载对应平台的 agent-browser 预编译二进制到 ~/.local/bin,再执行 agent-browser installagent-browser skills get core;Windows 侧走包安装器下载匹配的原生二进制;
  3. 桌面原生应用:走 cua-driver CLI 通道。

这些外部工具不是静态捆绑的,而是"按需通过宿主机的常规命令审批流安装",这与仓库的沙箱/审批模型一致,更多权限细节可参考 docs/sandbox.md

五、功能总览与状态管理

README 列出的能力清单与仓库的对应关系:

六、版本说明与许可

需要注意版本区分:当前仓库是基于 Codex 的 Rust 新版 Open Interpreter;原 Python 版项目以社区维护的 fork 形式继续演进(endolith/open-interpreter),两者并非同一条代码线。

项目采用 Apache-2.0 许可(见 LICENSE),发布线以 rust-v 标签管理,配套中文文档位于 docs/zh/,其中 docs/zh/harness.mddocs/zh/providers.md 分别对应本文第二、三节提到的 harness 与供应商配置指南。

小结

  • 安装:curl -fsSL https://www.openinterpreter.com/install | sh(macOS/Linux)或 irm https://www.openinterpreter.com/install.ps1 | iex(Windows),启动命令为 iinterpreter,状态目录 ~/.openinterpreter
  • Harness:/harnessnativeclaude-codekimi-codedeepseek-tuiswe-agentminimal 等之间切换,源码层由 codex-rs/tools/src/harness.rs 的枚举与 codex-rs/core/src/harness/routing.rs 的传输路由共同实现;
  • 集成:interpreter acp 接入 ACP 编辑器;Codex SDK 仅需 codexPathOverride: "interpreter" 一行即可复用,可用 scripts/test-codex-sdk-compat.sh 做免供应商的本地兼容校验;
  • 能力面:三平台沙箱执行、内置 QA 技能(agent-browser / trycua)、MCP、hooks、权限与 AGENTS.md 全量兼容。
登录后查看全文
热门项目推荐
相关项目推荐