前言¶
DeepSeek Harness (DSH) 采用插件化架构,允许开发者通过适配器接入各类 LLM。接入腾讯 CodeBuddy 时,通常需要手动处理浏览器 OAuth 登录、Token 续期以及模型列表同步。dsh-codebuddy-auth 插件通过原生 ctx.llm 适配器,将 CodeBuddy (IOA) 整合进 DSH 的模型选择器,实现开箱即用的接入体验。
插件简介¶
dsh-codebuddy-auth 是一个将腾讯 CodeBuddy (IOA) 作为 DeepSeek Harness 原生 LLM 提供者的插件。
* 维护者: cainiao1992
* 定位: 模型推理
* 许可证: MIT
* 核心能力: 浏览器 OAuth 登录、Token 自动续期、凭据存储、/v3/config 模型同步、原生适配器支持。
核心功能¶
该插件实现了完整的 CodeBuddy 接入链路:
* 原生适配器: 注册在 ctx.llm,接管请求路径。
* 浏览器登录: 支持通过浏览器进行 OAuth 认证。
* 自动续期: 实现了三层自动续期机制(启动时检查、运行时 30 分钟检查、Token 失效时触发)。
* 模型发现: 通过 /v3/config 接口获取模型列表及推理能力元数据。
* 流式传输: 支持 SSE 流式响应及消息序列化。
* 推理级别: 每个模型展示真实的推理能力(supportedEfforts)。
安装与启用¶
DSH 通过官方 dsh plugin CLI 安装插件。安装前请确保环境满足要求。
环境要求¶
pnpm必须在 PATH 中。- Node.js 版本需 >= 18.12。
安装命令¶
执行以下命令安装插件:
dsh plugin --profile web add github:cainiao1992/dsh-codebuddy-auth
安装完成后重启 DSH。插件会在启动时注册 codebuddy 提供者。
使用方法¶
安装并重启后,CodeBuddy 模型会出现在模型选择器中。
基础操作¶
- 切换模型: 在模型选择器中选择 CodeBuddy 下的任意模型(如
deepseek-v4-pro)。 - 检查状态: 对话中发送
check codebuddy status。 - 刷新凭证: 插件会自动处理续期。若凭证失效,可发送
refresh codebuddy手动触发,或重新登录。 - 同步模型: 当腾讯更新模型列表时,发送
sync codebuddy models。 - 登出: 发送
log out of codebuddy清除存储的凭证。
推理能力配置¶
插件会根据 /v3/config 返回的元数据展示每个模型的推理级别。例如:
* deepseek-v4-pro: 支持 low / high / xhigh。
* glm-5.2: 默认 high,且支持多级别选择。
* 固定推理模型(如 glm-5.1)仅显示其默认级别。
技术细节与配置¶
双身份机制¶
插件为了绕过鉴权限制,为不同的接口使用了不同的身份标识:
* 聊天接口 (POST /v2/chat/completions): 使用 CLI 客户端身份(User-Agent: CLI/2.96.0 CodeBuddy/2.96.0),避免被 IDE 鉴权拦截。
* 模型发现 (GET /v3/config): 使用 Craft / VSCode 身份(X-Agent-Intent: craft),以获取每个模型的 supportedEfforts 和 defaultEffort 元数据。
国际版支持¶
默认接入中国大陆版。若需接入国际版,需在 cordis.patch.yml 的挂载行中配置 edition: intl。
注意事项¶
- 运行环境: 插件以当前 DSH 进程的权限运行,请确保信任该插件的源码。
- 依赖要求: 安装和 CLI 登录均依赖 Node.js >= 18。
- 接口限制: 聊天接口要求
stream: true,否则返回code 11101。模型发现接口必须携带 Craft/VSCode 身份头部才能获取完整元数据。
总结¶
dsh-codebuddy-auth 解决了在 DSH 中接入腾讯 CodeBuddy 的繁琐流程,通过原生适配器和自动化的令牌管理,使得开发者可以直接使用 CodeBuddy 的模型资源。相关目录与源码可参考下方链接。