33、【Agent】【OpenCode】本地代理(智能适配层)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Agent】【OpenCode】模型配置(配置 Qwen 模型)

分析了 OpenCode Zen 剩余的描述,比如 opencode/xxx 不只有 6 个免费的模型,还有更多的 GPT,Claude,Gemini 等其他众多收费模型,其模型托管在 A 国,所以之前一直分析讨论的数据安全合规,以及网络延迟是个问题,接着介绍了配置模型直连国内 API 的方法,以 Qwen 为例,首先在 OpenCode CLI 输入 /connect 连接供应商,这里选择的是 Alibaba(China),然后输入 API Key,其敏感信息保存在 auth.json(权限 600,只有管理员能看),接着在 OpenCode CLI 输入 /models 选择模型,其中以 Qwen-Plus 为例,发现输入简单的【你是谁】的问题都要消耗 1w+ tokens,即使 reasoning 配置成 false,依然也会消耗这么多 tokens,下面继续分析

OpenCode

OK,上篇 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 客户端是先将请求发送给本地代理,本地代理可以在转发前,自动重写请求体,比如在代理中修改

bash 复制代码
parsedBody.model = 'qwen-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 也不方便

此时代理的第三个作用:可以自动保存每条请求,响应到日志文件里,方便调试,比如把请求内容,以时间戳为文件名保存下来

bash 复制代码
// 保存为 1712345678901.json
{
  timestamp: 1712345678901,
  request: { model: "qwen-plus", messages: [...] },
  response: { choices: [...] }
}

方便后面复现问题,分析 token 消耗,审计内容


OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
【Agent】【OpenCode】本地代理(收益分析)

相关推荐
飞睿科技32 分钟前
乐鑫信息推出ESP-Claw AI智能体框架,物联网进入“聊天造物”时代
人工智能·物联网·esp32·乐鑫科技·ai智能体
顾城猿1 小时前
NLP入门
人工智能·自然语言处理
独隅2 小时前
将MAE模型从PyTorch无缝迁移到TensorFlow Lite的完整实践指南
人工智能·pytorch·tensorflow
HackTorjan2 小时前
AI图像处理的核心原理:深度学习驱动的视觉特征提取与重构
图像处理·人工智能·深度学习·django·sqlite
梦梦代码精2 小时前
从工程视角拆解 BuildingAI:一个企业级开源智能体平台的架构设计与实现
人工智能·gitee·开源·github
supericeice2 小时前
复杂项目管理如何用好大模型:RAG、知识图谱与AI编排的落地框架
人工智能·知识图谱
AI机器学习算法8 小时前
深度学习模型演进:6个里程碑式CNN架构
人工智能·深度学习·cnn·大模型·ai学习路线
Ztopcloud极拓云视角8 小时前
从 OpenRouter 数据看中美 AI 调用量反转:统计口径、模型路由与多云应对方案
人工智能·阿里云·大模型·token·中美ai
AI医影跨模态组学8 小时前
如何将深度学习MTSR与膀胱癌ITGB8/TGF-β/WNT机制建立关联,并进一步解释其与患者预后及肿瘤侵袭、免疫抑制的生物学联系
人工智能·深度学习·论文·医学影像
搬砖的前端8 小时前
AI编辑器开源主模型搭配本地模型辅助对标GPT5.2/GPT5.4/Claude4.6(前端开发专属)
人工智能·开源·claude·mcp·trae·qwen3.6·ops4.6