【声明】本博客所有内容均为个人业余时间创作所述技术案例均来自公开开源项目如GithubApache基金会不涉及任何企业机密或未公开技术如有侵权请联系删除背景上篇 blog【Agent】【OpenCode】模型配置配置 Qwen 模型分析了 OpenCode Zen 剩余的描述比如opencode/xxx不只有 6 个免费的模型还有更多的 GPTClaudeGemini 等其他众多收费模型其模型托管在 A 国所以之前一直分析讨论的数据安全合规以及网络延迟是个问题接着介绍了配置模型直连国内 API 的方法以 Qwen 为例首先在 OpenCode CLI 输入/connect连接供应商这里选择的是 AlibabaChina然后输入 API Key其敏感信息保存在auth.json权限600只有管理员能看接着在 OpenCode CLI 输入/models选择模型其中以 Qwen-Plus 为例发现输入简单的【你是谁】的问题都要消耗 1w tokens即使reasoning配置成false依然也会消耗这么多 tokens下面继续分析OpenCodeOK上篇 blog 把本土的模型给配上并使用了其流量路径如下下面准备在 OpenCode 和远端大模型 API 之间加一个适配层也就是本地代理由本地代理代为收发 OpenCode 给远端大模型 API 的消息和响应用代理转发 OpenCode 到模型 API 的请求虽然看似多此一举但实际上能带来非常多实用且关键的好处下面简单介绍下首先是协议/格式兼容性适配OpenCode 默认按 OpenAI API 格式发送请求并且 OpenCode 模型库来源 https://models.dev/api.json这里的模型库更新肯定比官方慢比如虽然也是 Qwen-Plus但是 DashScope 还提供了其历史版本qwen-plus-2025-07-28而这些历史版本的模型在 OpenCode 模型库是找不到的想要在 OpenCode 通过/models切换模型也更不会有这些特定版本的模型那么本地代理的第一个作用就出现了由于 OpenCode 客户端是先将请求发送给本地代理本地代理可以在转发前自动重写请求体比如在代理中修改parsedBody.modelqwen-plus-2025-07-28;// 将 qwen-plus 映射为 qwen-plus-2025-07-28此时无需再 OpenCode 中填写 DashScope 特有的模型名保持配置通用也能用上供应商的特定模型其次是统一认证管理安全便捷如果直接在 OpenCode 中填写 DashScope Key有两点不便1、Key 会明文暴露在 IDE 配置中不安全上篇 blog 【Agent】【OpenCode】模型配置配置 Qwen 模型 里有提到敏感信息会存放在auth.json需要加权限进行限制2、换 Key 时需要修改所有客户端配置此时代理的第二个作用就出来了客户端只需要填一个假 Key比如sk_proxy然后代理在转发过程中可以自动替换成真实的DASHSCOPE_API_KEY这样可以集中管理 Key避免泄露更换也方便此外代理还可以收集请求响应日志方便调试当 OpenCode 直连模型 API 时用户看不到 AI 请求细节出问题时难排查并且想优化 Agent 也不方便此时代理的第三个作用可以自动保存每条请求响应到日志文件里方便调试比如把请求内容以时间戳为文件名保存下来// 保存为1712345678901.json{timestamp:1712345678901, request:{model:qwen-plus, messages:[...]}, response:{choices:[...]}}方便后面复现问题分析 token 消耗审计内容等OK本篇先到这里如有疑问欢迎评论区留言讨论祝各位功力大涨技术更上一层楼更多内容见下篇 blog【Agent】【OpenCode】本地代理收益分析