使用 Open Interpreter 集成 GenStudio API
注意
适用版本
本文适用于通过官方安装脚本安装的 Open Interpreter Terminal Agent。Chat Completions 示例以 0.0.60 为准,Responses 示例以 0.0.61 为准。
Open Interpreter 是从 OpenAI Codex 分叉开发的开源终端 AI 编程助手。本文用 kimi-k3 演示 Chat Completions 配置,用 deepseek-v4.1-flash-1017 演示 Responses 配置。
安装 Open Interpreter
在 macOS 或 Linux 上运行官方安装脚本:
curl -fsSL https://www.openinterpreter.com/install | sh在 Windows 上使用 PowerShell 安装:
irm https://www.openinterpreter.com/install.ps1 | iex安装后重新打开终端,运行以下命令确认 interpreter 能输出版本号。
interpreter --version准备 API 接入信息
Open Interpreter 使用 GenStudio 的 OpenAI 兼容 Base URL https://cloud.infini-ai.com/maas/v1。客户端根据所选协议追加 /chat/completions 或 /responses。调用前请准备通用 API Key,并核对所选模型的上下文长度。请求额度参见 API 频率限制。
设置 API Key 环境变量
创建以 sk- 开头的通用 API Key。参见 GenStudio API 快速集成。
在运行 Open Interpreter 的终端中设置 GENSTUDIO_API_KEY,将示例值替换为你的 API Key。配置文件通过 env_key 引用该变量。
macOS 或 Linux
export GENSTUDIO_API_KEY="sk-xxxxxxxxxx"Windows PowerShell
$env:GENSTUDIO_API_KEY = 'sk-xxxxxxxxxx'查询模型的上下文长度
可在 GenStudio 模型广场查看当前可用的模型。调用 /models 接口,在所选模型条目中读取 id 和 context_length,分别用于填写 model 和 model_context_window。
macOS 或 Linux
curl --fail --silent --show-error \
--url 'https://cloud.infini-ai.com/maas/v1/models' \
--header "Authorization: Bearer ${GENSTUDIO_API_KEY}"Windows PowerShell
$headers = @{ Authorization = "Bearer $env:GENSTUDIO_API_KEY" }
(Invoke-RestMethod -Uri 'https://cloud.infini-ai.com/maas/v1/models' -Headers $headers).data下文的上下文长度为示例值。配置时以当前账号的模型列表为准。
配置 Open Interpreter
用户配置保存在 ~/.openinterpreter/config.toml。每个模型服务使用一种接口。使用多个模型或协议时,可创建独立的 profile。
通过 Chat Completions 配置默认模型
在 config.toml 中用 wire_api = "chat" 定义 GenStudio 模型服务。model_provider 的值应与 [model_providers.<ID>] 中的服务 ID 一致。文件已存在时,将下列字段合并到现有配置。
model_provider = "genstudio"
model = "kimi-k3"
model_context_window = 1048576
[model_providers.genstudio]
name = "GenStudio"
base_url = "https://cloud.infini-ai.com/maas/v1"
env_key = "GENSTUDIO_API_KEY"
wire_api = "chat"为其他模型创建 Chat Completions profile
将 profile 保存为 ~/.openinterpreter/<名称>.config.toml。用 --profile <名称> 启动时,profile 会覆盖 config.toml 中的同名配置。以下 profile 沿用上一步定义的 Chat Completions 模型服务。
~/.openinterpreter/glm.config.toml
model = "glm-5.3"
model_context_window = 1048576~/.openinterpreter/deepseek.config.toml
model = "deepseek-v4.1-flash-1017"
model_context_window = 1048576
harness = "deepseek-tui"~/.openinterpreter/qwen.config.toml
model = "qwen3.8-max"
model_context_window = 1048576DeepSeek 的 Chat Completions profile 显式选用 deepseek-tui。其他模式及其选择规则见选择 harness。
通过 Responses 接口使用模型
将以下配置保存到 ~/.openinterpreter/deepseek-responses.config.toml,用 wire_api = "responses" 为 DeepSeek 定义独立的模型服务。
在 Open Interpreter 0.0.61 中,未显式设置 harness 时,此模型会自动选中 claude-code-bare,并在发出 Responses 请求前报错。示例用 harness = "" 显式选择原生模式。选择 harness
model_provider = "genstudio-responses"
model = "deepseek-v4.1-flash-1017"
model_context_window = 1048576
harness = ""
[model_providers.genstudio-responses]
name = "GenStudio Responses"
base_url = "https://cloud.infini-ai.com/maas/v1"
env_key = "GENSTUDIO_API_KEY"
wire_api = "responses"注意
使用 GPT 系列模型
所选模型及其服务支持 Responses 时,建议将模型服务的 wire_api 设为 responses,并在 profile 顶层设置 harness = ""。如需指定 model_reasoning_effort,按该型号支持的档位设置。
启动 Open Interpreter 并验证
如果配置了默认模型,运行 interpreter doctor 检查 config.toml。按 Chat Completions 示例配置时,Configuration 中的 model 应显示 kimi-k3 · genstudio,provider auth env var 应显示 GENSTUDIO_API_KEY (present)。
进入项目目录,运行 interpreter 启动交互会话。要使用特定 profile,可运行 interpreter --profile <名称>,例如 interpreter --profile deepseek-responses。在会话中发送一条消息,确认模型能正常回复。进入会话后可用 /model 切换模型。
如果要在脚本中验证配置,可用 exec 发送一次请求。在 Git 仓库之外运行时,需要加 --skip-git-repo-check。
interpreter exec --profile deepseek "用一句话介绍当前项目的目录结构。"验证工具调用和会话续接
在测试目录创建 responses-test.txt 并写入一行测试文本,然后运行以下命令。检查最终回复是否与文件内容一致,并从 thread.started 事件中记下 thread_id。
interpreter exec --profile deepseek-responses --skip-git-repo-check --sandbox read-only --json \
"调用工具读取 responses-test.txt,并原样返回文件中的一行文本。"进程退出后,移除测试文件,在同一目录中用上一步的 thread_id 替换 SESSION_ID,再运行以下命令。检查模型是否可以根据会话历史直接复述测试文本。
interpreter exec --profile deepseek-responses resume --skip-git-repo-check --json SESSION_ID \
"仅根据上一轮对话原样返回你读取的测试文本,不要调用工具。"选择 harness
harness 决定发送给模型的系统提示、工具定义和消息格式。wire_api 决定请求使用的 API 协议。以下规则和配置值适用于 Open Interpreter 0.0.61。
省略 harness 时,Open Interpreter 会检查模型 ID、模型服务的 ID、显示名称、Base URL 和 wire_api。规则按下表顺序匹配,取第一个匹配项,名称匹配不区分大小写。Open Interpreter 自动选择规则
| 匹配条件 | 自动选择的 harness |
|---|---|
模型服务 ID 为 zai-zcode,或使用 Z.AI 专用的 Anthropic Base URL | zcode |
Claude 模型、Anthropic 模型服务,或 wire_api 为 messages | claude-code |
| Kimi 或 Moonshot | kimi-code |
| Qwen、QwQ 或 DashScope | qwen-code |
| DeepSeek | claude-code-bare |
未匹配到规则时,Open Interpreter 使用原生模式。GLM 和 GPT 系列的模型 ID 本身没有专用匹配规则,模型服务的配置仍可能触发上表中的规则。在 config.toml 或 profile 中显式设置 harness 可覆盖自动选择。空字符串 "" 表示原生模式。
配置文件识别下表中的具名模式。交互界面中的 /harness 会按模型服务的协议显示可选模式。使用 Responses 时,列表只显示 Native。配置值定义 · 选择器定义
| 用途 | 具名值 |
|---|---|
| Claude Code 风格 | claude-code、claude-code-bare |
| ZCode 风格 | zcode |
| Chat Completions 模式 | deepseek-tui、kimi-code、kimi-cli、qwen-code、opencode、pi、little-coder、mini-swe-agent、swe-agent、terminus-2、minimal |
查看 Token 用量
在交互界面中输入 /status 查看 Token 用量。Open Interpreter 0.0.60 通过通用 Chat Completions 模式调用 glm-5.3 时,客户端记录的用量可能为 0。实际用量和费用以 GenStudio 的统计为准。LLM API 计费规则
排查常见问题
根据提示检查模型参数、profile 或认证配置。
提示 Model metadata for ... not found
模型不在 Open Interpreter 的内置目录中时,客户端会使用通用参数。请在配置中用 model_context_window 指定上下文窗口。参见查询模型的上下文长度。
DeepSeek 模型提示 non-Responses wire APIs require the compatibility transport
检查当前模型服务的 wire_api,再按对应的 DeepSeek profile 设置 harness。Chat Completions 使用 deepseek-tui,Responses 使用空字符串 ""。Chat Completions profile · Responses profile
使用 deepseek-v4.1-flash-1017 时提示 model rerouted
如果提示为 model rerouted: deepseek-v4.1-flash-1017 -> deepseek-v4-1-flash-261017,这是客户端发现返回的版本名与请求的模型 ID 不同。请求仍由配置的 GenStudio 模型处理,此提示可忽略。
使用 --profile 时提示 legacy profile 配置
将 config.toml 中 [profiles.<名称>] 表的设置移入独立的 ~/.openinterpreter/<名称>.config.toml,再删除旧表和 profile = "<名称>" 设置。创建 profile
认证失败或返回 401
确认 env_key 与环境变量名称完全一致。检查当前终端是否已设置 API Key,再运行 interpreter doctor 确认客户端已读取该变量。参见设置 API Key 环境变量。