分类提供方(Jev)
OpenChamber 的一些功能在行动前需要先快速做个判断:这条命令有风险吗?这个提示属于哪类任务?这项工作看起来完成了吗?回答这些问题的是 Jev,一个来自 TypeSafe 的小型决策模型。本页介绍如何让 OpenChamber 使用 Jev。
Jev 从不写代码,也不会在你的聊天里回复。它只返回一个判定,OpenChamber 据此行动。在发送消息或执行操作之前,OpenChamber 最多等待四秒;一轮结束后的检查不会让任何事情等待,最多等待十五秒。
哪些功能用到 Jev
| 功能 | Jev 回答的问题 |
|---|---|
| 权限与安全网 | 执行这个操作前,智能体是否应该先问你? |
| 自动模型路由 | 这个提示属于你的哪个类别? |
| 进行中的会话 | 这一轮看起来是不是工作的结尾? |
| 摘要和下一条消息建议 | 这一轮结束后,值得生成摘要或建议吗? |
没有提供方时,安全网和 Auto 会隐藏,进行中的会话也不会出现”看起来已完成”的提示。发送消息时,会话照样会进入进行中。摘要和建议照常工作,只是没有这层过滤。
设置
在你开启之前,Jev 一直是关闭的:除非你选了一个分类提供方,否则你的对话内容不会发给任何分类提供方。打开 设置 → 提供商 → 分类提供方,选择 Jev 请求发往哪里。除了 关闭,共有七个选项。
OpenCode Zen 促销
限时免费,不需要密钥。促销期间,OpenCode 允许 OpenChamber 通过 OpenCode Zen 免费使用 Jev。
促销结束后,这个选项会消失;如果你有下面的某个密钥,OpenChamber 会切换过去。
OpenCode Zen 密钥
使用保存在 OpenCode 里的 Zen API 密钥,费用从你的 Zen 余额中扣除。
- 打开 设置 → 提供商,给 OpenCode Zen 提供商添加一个 API 密钥(参见提供商、模型与智能体)。
- 回到 分类提供方,选择 OpenCode Zen 密钥。
只用 OpenCode 账号登录是不够的。对于 Jev,Zen 只接受 API 密钥。
OpenRouter 密钥
使用保存在 OpenCode 里的 OpenRouter API 密钥,费用记在你的 OpenRouter 账户上。如果你已经在 OpenCode 里用 OpenRouter 的模型,就不用再做任何设置。 环境变量 OPENROUTER_API_KEY 里的密钥也可以用。两者都有时,以保存在 OpenCode 里的密钥为准。
- 打开 设置 → 提供商,给 OpenRouter 提供商添加一个 API 密钥。
- 回到 分类提供方,选择 OpenRouter 密钥。
Vercel AI Gateway 密钥
使用保存在 OpenCode 里的 AI Gateway API 密钥,费用记在你的 Vercel 账户上。 环境变量 AI_GATEWAY_API_KEY 里的密钥也可以用。两者都有时,以保存在 OpenCode 里的密钥为准。
- 打开 设置 → 提供商,给 Vercel AI Gateway 提供商添加一个 API 密钥。
- 回到 分类提供方,选择 Vercel AI Gateway 密钥。
Google Gemini
通过 Google 的 Decisions API 使用 Google 自己的判定模型 Gemini Decision 1,费用记在你的 Google 账户上。OpenChamber 问它的问题和问 Jev 的一样。在 Google 的免费层级,Google 可能会用收到的内容改进其产品(Gemini API 条款)。
- 在 Google AI Studio 获取一个 API 密钥。
- 把它粘贴到 Gemini API 密钥 输入框,然后点 保存。
保存密钥的同时也会选中它。密钥单独存放在 OpenChamber 服务器上的一个文件里,从不发送到浏览器。
如果 OpenCode 里的 Google 提供商已经有 API 密钥,可以跳过这个输入框,直接选择 Google Gemini。GOOGLE_API_KEY、GOOGLE_GENERATIVE_AI_API_KEY 或 GEMINI_API_KEY 里的密钥也可以用。保存在 OpenChamber 里的密钥优先于这两者。如果你只想把 Gemini 用于判定,就把密钥放在 OpenChamber 里:放在 OpenCode Google 提供商里的密钥还会在 OpenCode 中开放所有 Gemini 聊天模型,而 Gemini API 密钥无法限定到单个模型。
TypeSafe API 密钥
使用你自己的 TypeSafe 密钥和额度。
- 在 TypeSafe 获取一个 API 密钥。
- 把它粘贴到 TypeSafe API 密钥 输入框,然后点 保存。
保存密钥的同时也会选中它。密钥单独存放在 OpenChamber 服务器上的一个文件里,从不发送到浏览器。
自定义端点
任何支持 TypeSafe System One API 的服务都可以:自托管的网关、公司代理,或这里没有列出的提供方。
- 在 自定义端点 下填写 端点 URL 和 模型(例如
jev-latest)。 - 如果服务需要,添加 API 密钥。它会作为
Bearer令牌发送。 - 点 保存。
粘贴服务实际响应的完整地址,比如 https://api.typesafe.ai/v1/systemone,或者公司代理的 https://proxy.company.internal/v1/decision。OpenChamber 会按你粘贴的原样调用,不会在路径后追加任何内容。只支持 http 和 https,密钥要填在单独的输入框里,不要写进 URL。
保存的同时也会选中这个端点。和 TypeSafe 密钥一样,端点和它的密钥单独存放在 OpenChamber 服务器上的一个文件里,密钥从不发送到浏览器。
服务器也可以从环境变量获取端点,为团队部署 OpenChamber 时很方便:
OPENCHAMBER_JEV_URL=https://jev.example.com/v1/systemoneOPENCHAMBER_JEV_MODEL=jev-latest # 可选,这是默认值OPENCHAMBER_JEV_API_KEY=... # 可选在你管理的笔记本电脑上,请改为把同一个端点写进机器策略文件的 jev 中。策略文件优先于环境变量。
无论哪种方式,这个端点都会替换设置里保存的端点,设置中会显示它,但任何人都不能编辑。在企业模式下,它是除 关闭 之外唯一允许的 Jev 来源,并且默认选中。
提供方可用后,设置 → 提供商 里的卡片会显示 就绪。
当你选的提供方不能用时
如果你选的提供方无法使用(促销结束了、密钥被删了),OpenChamber 会改用你自己的密钥中第一个可用的:先 TypeSafe 密钥,再你的自定义端点,再 OpenRouter,再 Vercel AI Gateway,再 Zen 密钥。它绝不会退回到促销或 Google Gemini,关闭 也会保持关闭。页面会显示当前用的是哪一个。
即使 Jev 在某次请求中响应慢或出错,也不会有东西坏掉。每个功能都为这种情况准备了安全的处理方式:
- 安全网会让操作继续等你决定。
- Auto 会把提示交给你的备用模型。
- 进行中的会话不会出现”看起来已完成”的提示。
- 摘要和建议照常生成,就像没有 Jev 一样。
Jev 能看到什么
Jev 会拿到你最新的一条消息,以及作为上下文的近期对话摘录:最多前三轮,每段截取到几百个字符;一轮结束时,还有智能体回答的开头和结尾。对于安全网,它还会拿到智能体请求许可的操作,也就是 OpenCode 描述的样子:智能体想运行的命令,或者编辑时的文件和改动。智能体新建文件时,这个改动就是整个文件,包括以文本写成的图片,例如 SVG。Jev 检查目标时,会拿到目标和智能体的最后一个回答,最多 10,000 个字符。
请求会根据你的选择,从 OpenChamber 服务器直接发往 OpenCode Zen、OpenRouter、Vercel AI Gateway、Google、TypeSafe 或你的自定义端点。
在哪里可用
Jev 运行在 OpenChamber 服务器上,所以在桌面应用、网页应用,以及连接到它们的手机上都能用。VS Code 扩展直接和 OpenCode 通信,没有 Jev:那里没有安全网,没有 Auto,也没有”看起来已完成”的提示。
相关内容
- 提供商、模型与智能体:OpenCode Zen、OpenRouter 和 Vercel AI Gateway 的密钥放在哪里
- 安全:OpenChamber 如何处理密钥和访问