跳到主内容

dsh-llm-codebuddy

20Star1Fork1Issue0Watching

为 DeepSeek Harness 接入 CodeBuddy 中国区模型,支持 WorkBuddy API Key 与网页令牌双认证模式。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
JavaScript
License
MIT
分支
main
dshdsh-plugindsh-plugins

安装

命令web profile
$ dsh plugin --profile web add dsh-llm-codebuddy

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 Axiaohungry/dsh-llm-codebuddy:先查看仓库 https://github.com/Axiaohungry/dsh-llm-codebuddy 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

为 DeepSeek Harness 增加 CodeBuddy 中国区 模型提供方,让 DSH 用户既能通过 WorkBuddy 派发的 API Key 接入,也能用 CodeBuddy 中国站账号令牌登录直接调用模型。

核心能力

  • 在 WebUI 的"添加提供方"下拉中新增 CodeBuddy 中国区,并按 DSH 的 Provider 协议完成注册
  • 提供两种认证方式:WorkBuddy API Key 模式与 CodeBuddy 中国站账号令牌登录模式
  • 在 API Key 输入框旁注入"API Key"和"令牌登录"切换按钮,网页端一键拉起浏览器完成登录
  • 自动从 CodeBuddy 接口拉取当前 Key 可用的模型列表,并允许自定义编辑、添加、删除模型
  • 自动按模型声明其思考能力档位(off / minimal / low / medium / high / xhigh / max)和默认档位
  • 令牌临近过期时自动调用官方刷新接口续期,免去人工重新登录

技术实现

  • 语言: JavaScript (ESM,type: module)
  • 关键依赖: @deepseek-ai/dsh-llm-pi-ai、@earendil-works/pi-ai、@deepseek-ai/dsh-settings、@deepseek-ai/dsh-credentials
  • 架构模式: 服务端通过 cordis.patch.yml 禁用宿主自带的 llm-pi-ai、插入名为 llm-codebuddy 的新 Plugin,并依赖 DSH 的 installSettingsSection / registerAdapter / registerModelDiscovery 钩子;前端通过 Web Profile 把 client.js 注入到 API Key 输入框所在字段,实现认证切换按钮
  • 入口文件: index.js(服务端插件)、client.js(WebUI 注入脚本)、cli.js(独立安装/登录/卸载命令行)

适用场景

已经拥有 WorkBuddy 派发 API Key 或 CodeBuddy 中国站账号、想在 DSH 中使用 CodeBuddy 模型推理能力的用户;尤其是希望免去手动复制 API Key、想让令牌自动续期的开发者。

前置依赖与兼容性

依赖最低版本说明
DSH0.1.0-rc.6已通过该版本验证;DSH 仍处预发布,未来接口变动需同步升级
Node.js>= 22.19.0安装命令要求
平台macOS / Windows / Linux跨平台,浏览器登录按系统分别调用 open / rundll32.exe / xdg-open
原生模块无仅依赖纯 JS 包(yaml、pi-ai 等),不引入需要本地编译的模块

安装方式

dsh plugin --profile web add dsh-llm-codebuddy

配置项

配置类型说明默认值
llm-pi-ai.providers.codebuddy-cn对象是否声明本 Provider 节点;存在即视为已启用不存在
llm-pi-ai.providers.codebuddy-cn.apiKeyEnv字符串API Key 模式对应的凭据引用;删除该字段即切换为令牌模式CODEBUDDY_API_KEY
llm-pi-ai.providers.codebuddy-cn.models数组自定义模型目录;不配置则使用在线目录,失败时回退到内置目录不配置
models[].id字符串模型 ID,必填无
models[].name字符串在 WebUI 中显示的名称,留空继承在线/内置目录继承
models[].contextWindow整数上下文窗口大小262144
models[].maxTokens整数单次输出上限32768
models[].input字符串数组输入类型(text、image)继承
models[].reasoningEfforts对象逐档位映射到 CodeBuddy 实际取值;任一档位留空表示该档位不可用模型声明
models[].compat.thinkingFormat字符串推理内容的格式模型声明

常见问题

Q: 安装后 WebUI 里看不到 CodeBuddy 中国区 选项?

A: 安装或更新后必须重启 DSH,已经在运行的进程不会自动加载新插件。重启后再打开"设置 → 模型"即可看到。

Q: 获取模型失败怎么办?

A: 先确认 API Key 来自 WorkBuddy 且仍然有效,重新输入 Key 后再点"获取可用模型"。如果 CodeBuddy 接口临时不可用,插件会回退到内置模型目录,仍然能正常使用。

Q: 为什么别人能看到某个模型我这里看不到?

A: 模型权限与当前 API Key 绑定。插件只导入当前 Key 在 CodeBuddy 授权的模型;更换 Key 后需要重新点"获取可用模型"同步新账号的权限。

Q: 调用时报 500 status code (no body) 怎么办?

A: 升级到最新版并重启 DSH。早期版本可能被 DSH 覆盖 CodeBuddy 请求的 User-Agent 标识导致服务端拒绝,最新版已在请求层恢复官方标识。

Q: 卸载后 WebUI 还显示旧页面?

A: 关闭正在运行的 DSH 进程再重新启动。运行时进程不会自动卸载已加载的插件代码。

Q: WebUI 无法自动打开浏览器登录怎么办?

A: 在终端执行 npx dsh-llm-codebuddy@latest login,插件会调用 CodeBuddy 官方认证流程,完成后会自动把 Provider 切换为令牌模式。

Q: 卸载插件会丢失凭据吗?

A: 不会。卸载只删除 settings.yaml 里的 Provider 配置,DSH 凭据服务中的 API Key 和登录令牌会保留,方便以后重新安装。

上手难度

入门 — 双认证模式都有明确文档,配置文件语义直观,CLI 安装/登录/卸载命令都已封装好,普通用户按 README 步骤即可完成。

已知问题与限制

  • DSH 仍处于预发布阶段,未来 DSH 调整插件接口时本插件需要同步升级(README.md:35)
  • 用户填写的模型参数超过服务端真实限制时,CodeBuddy 仍可能直接拒绝请求(README.md:111)
  • 模型列表仅取自 CodeBuddy /v3/config 中 cli agent 授权的模型,其他 agent 的模型不会显示(index.js:133)
  • 流式请求空闲超时为 300 秒,超过将被中断(index.js:31)
  • 浏览器登录最长等待 10 分钟,超时需重新发起(codebuddy-auth.js:121)
  • 令牌在过期前 2 分钟会被视为需要刷新,避免请求过程中过期(codebuddy-auth.js:172)
  • 旧版本可能被 DSH 覆盖 CodeBuddy 请求标识,需升级插件恢复官方 User-Agent(README.md:188)

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/Axiaohungry/dsh-llm-codebuddy)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录