start_within,因此此处代理密钥是可选的。密钥仍然是更简单的路径,因为它无需重启即可更改。请参阅代理密钥。
使用代理进行设置
打开下面的代码块并将其复制到任何编码代理中。此提示绝不会要求您的 API 密钥:代理会配置所有其他内容,然后打印一行导出命令供您自行运行。复制代理设置提示
复制代理设置提示
配置 OpenCode
-
在启动 OpenCode 的 shell 中导出密钥。
-
将提供商条目写入
opencode.json。 -
针对该文件启动 OpenCode。
npm 选择与 OpenAI 兼容的包。options.baseURL 将请求发送到路由器。options.apiKey 从环境中读取密钥。models 下的每个键都是我们运行的 slug。
通过在 models 下添加一个键来添加模型。条目中的其他所有内容都是显示和限制。
全局或每个项目
根据您希望其应用的范围,将提供商条目放置在以下两个位置之一。
项目配置优先于全局配置。 OpenCode 会在工作目录中查找
opencode.json 并向上遍历到最近的 Git 目录,因此仓库可以覆盖您的机器范围提供商而无需修改它。
将提供商条目放入全局文件,截止时间在任何地方都保持不变。将其放入项目文件,则只有该仓库通过我们进行路由。
设置 OPENCODE_DISABLE_PROJECT_CONFIG 以停止向上搜索。
还有两个用于捆绑包和自动化的来源。OPENCODE_CONFIG_DIR 指定 OpenCode 读取配置的目录,而 OPENCODE_CONFIG_CONTENT 则内联保存 JSON。对于您每次运行都选择的文件,请使用 OPENCODE_CONFIG。
改为在配置中设置截止时间
OpenCode 可以自行发送start_within。这两个位置都是纯 JSON,并且都优先于密钥。
按模型设置。options 块会进入该模型的请求正文。
opencode run 上使用 --variant 选择一个,或在 TUI 中使用 ctrl+t 循环切换它们。
确认密钥已应用
每个响应都带有x-flexinference-defaults-applied。OpenCode 不会在 TUI 中显示响应头,因此请改为在仪表板的“日志”下读取请求。
故障排除
请求从未到达我们。 顶层model 字段是选择提供商的关键,因此如果定义了提供商但未在此处命名,OpenCode 将保持其内置默认设置。请设置 "model": "flexinference/<slug>"。
401 invalid_api_key。 启动 OpenCode 的 shell 中未设置 FLEXINFERENCE_API_KEY。由于 options.apiKey 从环境中读取它,请在启动前导出它。
400 unsupported_parameter。 我们不支持的 Chat Completions 参数出现在模型的 options 中,例如 seed 或 stop。请将其从条目中删除。
400 key_default_not_applicable。 您的密钥包含持续时间,并且其中一个参数与其同时出现。请将密钥编辑为某个层级,或删除该参数。
400 flex_unsupported_for_anthropic。 options 中的持续时间到达了您自己的 Anthropic 密钥上的 claude-* 模型。Claude 持续时间运行的竞争需要托管密钥。请删除持续时间,让密钥持有截止时间,因为密钥持续时间会回退。
配置更改未生效。 后续的配置源覆盖了它。请检查上面的搜索顺序,并优先使用 OPENCODE_CONFIG 以选择每次运行一个文件。
请参阅错误以了解我们返回的所有拒绝信息,并参阅代理密钥以了解不特定于 OpenCode 的错误。OpenWork 和 OpenScience 读取相同的提供商条目。