配置模型
添加模型服务、选择默认模型,以及密钥的保存方式。
Rna 支持三种接入方式:OpenAI 兼容接口(Chat Completions)、Anthropic Messages,以及用 ChatGPT 订阅登录。
设置里内置 17 个服务预设,选中后会自动填好地址和核对过的模型目录:
| 类别 | 预设 |
|---|---|
| 国内服务 | 千问 Qwen(中国 / 国际)、Kimi(中国 / 国际)、Kimi Coding 交互套餐、智谱 GLM API、智谱 GLM Coding Plan、小米 MiMo API、小米 MiMo Token Plan、DeepSeek |
| 海外服务 | OpenAI、Anthropic、Google Gemini、Groq、OpenRouter |
| 订阅登录 | OpenAI · ChatGPT 订阅 |
| 其他 | 自定义兼容服务 |
Kimi Coding 套餐只能用于交互聊天;后台的主动协作和进化需要另配一个按量 API 的服务。
在界面中配置
- 打开 设置 → 模型(
⌘ ,)。 - 添加提供商,填写地址和凭据。可以先保存一个只有地址和凭据的空目录。
- 点“测试连接 / 获取模型”。测试只请求模型列表,不产生生成请求,也不会自动加入发现的模型;要加入就勾选后点“添加所选模型”。
- 显式添加模型:模型 ID、名称、上下文窗口、最大输出和支持的推理档位。保存提供商时如果开着“保存后自动获取模型”(默认开),会把目录里已核对可用的模型一并加入,最多 100 个。你从列表里移除过的模型,之后不会被自动加回来,要用时重新添加即可。
- 设为默认模型,或在会话里切换。
新的一轮会固定当时的模型配置,正在进行的一轮保持原样。
连接测试成功只说明地址和凭据可用,不能证明你填写的上下文容量、推理档位都有效。第一次真实请求失败时,错误会留在会话轨迹里,不会伪装成成功。
用文件配置
不想把密钥放进命令行参数时,写一个提供商文件,用环境变量引用密钥:
{
"name": "我的模型服务",
"protocol": "openai",
"baseUrl": "https://your-provider.example/v1",
"apiKeyEnv": "RNA_MODEL_API_KEY",
"models": [
{
"id": "your-model-id",
"name": "项目模型",
"contextWindow": 128000,
"maxOutputTokens": 8192,
"reasoning": ["off", "high"]
}
]
}./rna provider-add --file /path/to/provider.json
./rna provider-test PROVIDER_ID
./rna model-default PROVIDER_ID MODEL_ID high
./rna model-set SESSION_ID PROVIDER_ID MODEL_ID high容量与推理档位只是格式示例,请按服务的实际规格填写。环境变量必须对守护进程可见:在另一个终端里设置变量,不会改变已经在运行的守护进程。
密钥保存在哪里
- 界面里保存的密钥写入本机凭据文件(权限
0600),读取配置时只返回“已配置”和来源,不返回密钥本身。 - 密钥不会出现在普通状态 JSON、事件流、浏览器 localStorage 或 CLI 输出里。
- 凭据文件仍是本机明文文件,尚未接入 macOS 钥匙串。
- 远端地址必须是 HTTPS;本机地址可以用 HTTP。
自定义 OpenAI 兼容服务
如果你的服务支持 JSON object 输出或 tool_choice: none,可以在模型上显式声明:
"compat": { "supportsJsonObject": true, "supportsToolChoiceNone": true }未声明的能力不会仅凭模型名称开启。声明 false 会覆盖自动识别,"compat": {} 清除所有显式声明。
用 ChatGPT 订阅
选择 OpenAI · ChatGPT 订阅,保存后用浏览器或设备码登录。模型目录直接取自你的账户,请求时自动刷新凭据。
- 用的是你的 ChatGPT 套餐额度,走的是 Codex 客户端使用的 ChatGPT 接口。它不是公开 API,OpenAI 随时可能调整。
- 同一个登录还能用来生成图片和语音转文字。图片模型有 gpt-image-2(默认)、gpt-image-2.5-flare 和 gpt-image-2.5-sunburst 三个,在 设置 → 模型 → 多模态模型 里选,所选的模型会真正发给服务;每次一张,最多参考五张图。账户的模型目录里不列图片模型,所以这个列表是内置的。语音合成和视频没有对应的接口,仍需要 API Key。
- 生成的图片会直接显示在对话、本轮交付和工具详情里。
- 订阅账户和按量 API 是两套独立的凭据,切换接入方式不会借用另一边的。
用 Claude
Claude 只能通过 Anthropic API Key 接入,按用量计费。预设里有 Claude Opus 5.5、Sonnet 5 和 Haiku 4.5。
- Claude 的对话历史只追加、不改写,思考内容绑定在对话上,这样提示缓存才能一直命中。
- 对话空闲时,Rna 会在缓存过期前重发一次上一个请求来保温(不产生输出,只在估计划算时才做),耗用计入真实 token 预算;急停、维护、删除、换密钥或预算用完时停止。用量页的“缓存命中”里能看到保温次数。
- Opus 5.5 和 Sonnet 5 默认的单次输出额度是 64K,思考计入输出;Opus 5.5 的自适应思考不能关闭。
Anthropic 只允许在 Claude Code 和 Claude.ai 里使用 Claude 订阅登录,第三方应用(包括驱动官方 Claude Code 的应用)都不在允许范围内,用订阅可能导致账号受限。所以 Rna 不提供 Claude 订阅登录,早先的“Claude 订阅只读咨询”也已下线。设置里的 Claude 订阅入口会说明原因,并一键切换到 API Key 预设。
换到上下文更小的模型
对话中途可以换模型。新模型的上下文窗口更小、装不下现有历史时,Rna 会先压缩:
- 交给摘要的是精简过的对话记录,工具结果、参数和宿主上下文各只保留开头一段;
- 服务端说“太长”时,把这一批减半重试,最多三次;
- 回答请求因为超长被拒时,压缩到发送量的一半再试一次。
另外,对话空闲超过模型的提示缓存存活时间、并且占用了上下文窗口的一半以上时,Rna 会在后台提前把较早的上下文整理成摘要,保留最近两轮,下一轮不必等它。原始记录和完整的工具结果仍留在会话日志里,对话里会有一条说明。
后台与内部调用的推理强度
设置 → 模型 → 后台与内部调用的推理强度 决定 Rna 自己发起的调用(后台判断、消息改写等)用多深的思考:
- 自动(推荐):供应商的默认强度可自适应、或低于最高档时,直接用供应商默认;默认就是最高档或不明(例如 GLM-5.3)时,由 JEV 为每次调用选一档,不超过对话本身的档位。
- 与对话相同:沿用对话选的推理档位。
在需要 JEV 选档的供应商上,这个选择先只记录,不生效,等付费回放验证通过后才开始生效。对话里的推理档位也有“自动”和“供应商默认”可选。
演示模型
内置的 demo 模型不需要密钥,只用于体验界面。切换到其他提供商后才会调用真实模型。