🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

腾讯积分大脑 AzcHui/dsh-buddy-spike

DeepSeek Harness
AzcHui41 天前有提交已提供中文文档扫描:含敏感能力

让 dsh 会话改用 CodeBuddy 驱动,零耗 DeepSeek 额度

29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add AzcHui/dsh-buddy-spike
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · tool
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/05·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 41 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 27 处,展示前 27 条)
  • 发起网络请求
    buddy-loop/lib/agent.js:449
    const outcome = await approval.request({
  • 执行外部命令来自配置/变量
    buddy-loop/lib/catalog.js:166
    child = spawn(executable, ['--help'], { shell: true, windowsHide: true });
  • 发起网络请求
    buddy-loop/lib/client.js:161
    fetch(ROUTE)
  • 发起网络请求
    buddy-loop/lib/client.js:181
    fetch(ROUTE, {
  • 发起网络请求
    buddy-loop/lib/client.js:202
    fetch(MODELS_REFRESH_ROUTE, { method: "POST" })
  • 读取本地文件
    buddy-loop/lib/config.js:115
    const parsed = JSON.parse(readFileSync(CONFIG_PATH, 'utf8'));
  • 写入本地文件
    buddy-loop/lib/config.js:126
    mkdirSync(dirname(CONFIG_PATH), { recursive: true });
  • 写入本地文件
    buddy-loop/lib/config.js:131
    writeFileSync(fd, text, 'utf8');
  • 写入本地文件
    buddy-loop/lib/config.js:135
    renameSync(temporary, CONFIG_PATH);
  • 读取本地文件
    buddy-loop/lib/config.js:138
    if (existsSync(temporary)) rmSync(temporary, { force: true });
  • 删除本地文件
    buddy-loop/lib/config.js:138
    if (existsSync(temporary)) rmSync(temporary, { force: true });
  • 读取本地文件
    dsh-buddy/install.mjs:25
    if (existsSync(join(HERE, f))) ok(f)
  • 读取本地文件
    dsh-buddy/install.mjs:31
    const pkg = JSON.parse(readFileSync(join(HERE, 'package.json'), 'utf8'))
  • 读取本地文件
    dsh-buddy/install.mjs:41
    const yml = readFileSync(join(HERE, 'cordis.patch.yml'), 'utf8')
  • 执行外部命令固定命令
    dsh-buddy/install.mjs:52
    const v = execSync('codebuddy --version', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim()
  • 读取本地文件
    dsh-buddy/install.mjs:60
    if (existsSync(join(HERE, 'node_modules', '@tencent-ai', 'agent-sdk', 'package.json'))) {
  • 发起网络请求
    dsh-buddy/lib/agent.js:449
    const outcome = await approval.request({
  • 执行外部命令来自配置/变量
    dsh-buddy/lib/catalog.js:196
    child = spawn(executable, ['--help'], { shell: true, windowsHide: true });
  • 发起网络请求
    dsh-buddy/lib/client.js:161
    fetch(ROUTE)
  • 发起网络请求
    dsh-buddy/lib/client.js:181
    fetch(ROUTE, {
  • 发起网络请求
    dsh-buddy/lib/client.js:202
    fetch(MODELS_REFRESH_ROUTE, { method: "POST" })
  • 读取本地文件
    dsh-buddy/lib/config.js:115
    const parsed = JSON.parse(readFileSync(CONFIG_PATH, 'utf8'));
  • 写入本地文件
    dsh-buddy/lib/config.js:126
    mkdirSync(dirname(CONFIG_PATH), { recursive: true });
  • 写入本地文件
    dsh-buddy/lib/config.js:131
    writeFileSync(fd, text, 'utf8');
  • 写入本地文件
    dsh-buddy/lib/config.js:135
    renameSync(temporary, CONFIG_PATH);
  • 读取本地文件
    dsh-buddy/lib/config.js:138
    if (existsSync(temporary)) rmSync(temporary, { force: true });
  • 删除本地文件
    dsh-buddy/lib/config.js:138
    if (existsSync(temporary)) rmSync(temporary, { force: true });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 零耗DeepSeek额度

dsh的换心手术,羡慕dsh的生态但又用不完腾讯buddy的积分?dsh-buddy来帮你

README

由 DeepSeek 最新模型翻译生成
dsh-buddy-spike 🐿️ 换心手术:让 DeepSeek Harness (dsh) 的 Web UI 用上 CodeBuddy CLI 作为唯一大脑 —— 纯腾讯积分燃料,DeepSeek 零消耗。 这是什么 dsh 是"一切皆插件"的智能体框架,它的默认大脑是 DeepSeek。这个项目验证并落地了一个想法:不改 dsh 一行源码,把 agent-loop 驱动器整个换掉,让 dsh 的会话、UI、工具链全部照常工作,但每轮对话由 @tencent-ai/agent-sdk 驱动 CodeBuddy CLI 完成(复用其登录态,消耗腾讯 Coding Plan 积分)。 dsh Web UI ──会话/事件──▶ BuddyLoop(本仓库插件,服务名 agentLoop) │ ▼ @tencent-ai/agent-sdk (query 流式) │ ▼ codebuddy CLI(已登录) │ ▼ 腾讯 Coding Plan 积分 实测效果:dsh Web UI 新建会话发消息 → 思考链 + 流式回答 + 用量统计全部正常,来源标记 codebuddy,DeepSeek token 消耗为 0。
展开完整文档(README 剩余 1 节)
dsh-buddy-spike 🐿️

换心手术:让 DeepSeek Harness (dsh) 的 Web UI 用上 CodeBuddy CLI 作为唯一大脑 —— 纯腾讯积分燃料,DeepSeek 零消耗。

这是什么

dsh 是"一切皆插件"的智能体框架,它的默认大脑是 DeepSeek。这个项目验证并落地了一个想法:不改 dsh 一行源码,把 agent-loop 驱动器整个换掉,让 dsh 的会话、UI、工具链全部照常工作,但每轮对话由 @tencent-ai/agent-sdk 驱动 CodeBuddy CLI 完成(复用其登录态,消耗腾讯 Coding Plan 积分)。

dsh Web UI ──会话/事件──▶ BuddyLoop(本仓库插件,服务名 agentLoop)
│
▼
@tencent-ai/agent-sdk (query 流式)
│
▼
codebuddy CLI(已登录) │ ▼ 腾讯 Coding Plan 积分

实测效果:dsh Web UI 新建会话发消息 → 思考链 + 流式回答 + 用量统计全部正常,来源标记 codebuddy,DeepSeek token 消耗为 0。

仓库结构

| 路径 | 内容 |
| dsh-buddy/ | ⭐ 标准 bundle 插件包(dsh.bundle 声明 + cordis.patch.yml + 控制台),一条 dsh plugin add 官方命令安装 |
| buddy-loop/ | 手术原型插件(BuddyLoop 工厂 + BuddyAgent 驱动器,含 resume/持久化/inbox 完整实现,--patch 老路仍可用) |
| buddy.patch.yml | 旧版 --patch 装配(遗留;bundle 流程不需要它) |
| dsh-recon/ | Stage-1 验证脚本与依赖修复记录(历史参考) |
| .agents/skills/ | 🧠 Agent 技能包(clone 即用):dsh-plugin-dev 开发插件 / dsh-troubleshoot 四步排障 / dsh-heart-transplant 换心适配模式 |
| test-query.mjs | Spike:直连 CodeBuddy CLI 的最小验证 |
| 换心手术全记录.md | 📖 完整复盘:架构、时间线、12 个踩坑全记录、patch 语义速查、Agent 契约面 |

快速开始(官方 bundle 安装,一条命令换心)

前置条件:已安装并登录 codebuddy CLI、已安装 dsh(npm 包或源码构建均可)、pnpm 在 PATH 上、Node ≥ 20。

1. 克隆本仓库,进入插件包装依赖
git clone https://github.com/AzcHui/dsh-buddy-spike.git
cd dsh-buddy-spike/dsh-buddy
npm install --omit=dev # 只装 @tencent-ai/agent-sdk;@deepseek-ai/* 是 peer,勿本地安装

2. 官方命令安装进 profile(内部转 pnpm,自动登记 bundle 层)
cd ..
dsh plugin --profile web add ./dsh-buddy # profile 名按需换;pnpm 未落链接时见下方注意

3. 启动(不再需要 --patch)
dsh web # = dsh --profile web

打开 http://127.0.0.1:3080,新建会话发消息,回答来自 CodeBuddy 即成功。
不想启动只想验层:dsh --profile web --dump-config,应看到 # == dsh-buddy 层。

注意(Windows + pnpm ≥ 11 实测坑):link: 依赖的顶层链接偶发不落地(pnpm 报 Already up to date 但 node_modules/dsh-buddy 缺失)。手动补一个:
fs.symlinkSync(, '/node_modules/dsh-buddy', 'junction'),
再跑一次 dsh plugin --profile web install 触发登记即可。

控制台(附赠)

换心后的 CodeBuddy 是个黑盒,但它的私有参数不必去改配置文件——插件自带一个设置面板("买电视附赠的遥控器",页面名叫控制台):

- 入口:Web UI 设置页 → 「CodeBuddy 控制台」分区
- 模型入口有两个:① 控制台的全局默认下拉(对所有新会话生效);② dsh 原生模型选择器——插件同时注册了 codebuddy 适配器路由(官方 LLM 适配器契约,listModels() 公布 19 个官方模型),设置页「模型」出现 CodeBuddy 卡片、/model 弹窗与输入框模型位出现 CodeBuddy 分组,选中即落为该会话的 model/selection 事件,下一回合生效(仅 provider: codebuddy 的选择会被跟随;选 DeepSeek 系模型时 CodeBuddy 无法承载,保持现状)
- 可调项:model(下拉,官方支持清单)/ 思考模式 thinking(自适应/固定预算/关闭)/ maxTurns / 工作目录 cwd / 环境变量 env / 系统提示词 systemPrompt(追加或覆盖)
- 模型清单(codebuddy --help 实测):fast-model / balanced-model / deep-model / glm-5.3 / glm-5.3-flash / glm-5.2 / glm-5.1 / glm-5v-turbo / deepseek-v4-pro / deepseek-v4.1-flash / kimi-k3-1 / kimi-k2.8-preview / kimi-k2.7 / kimi-k2.6 / minimax-m3 / hy4-preview(-f) / hy3 / hy3-x,另支持手输自定义模型 ID
- 生效时机:保存后对新会话即时生效,无需重启 dsh;清空字段即回退 CLI 默认
- 工作目录默认值:不填时 CodeBuddy 继承 dsh 进程的启动目录(在哪个目录跑 dsh web 就在哪),需要圈定项目目录就在控制台里填 cwd
- 落盘位置:插件包目录的 buddy-config.json(已 gitignore——env 里可能放密钥)

原理:插件是 dsh.client 双面包——服务端 half 注册同源路由 /api/buddy/config(GET/POST + sameOrigin 校验),浏览器 half 经官方外部 UI 注入机制(window.__ModuleLoader__ + dsh.client.inject 声明)由宿主自动分发加载,ctx.slots 挂进设置页。零源码改动、零构建链,client bundle 是手写的 React.createElement。

核心原理

- 官方换件入口:dsh 的 cordis.patch.yml 支持按 id 覆盖插件行 —— 禁用 agent-loop 行 + insert 新行挂自定义工厂(服务名同为 agentLoop,消费者无感知)
- patch 不能换名:overlay 行的 name 与目标行不同会被静默跳过,只能“禁用旧行 + insert 新行”
- 标准 bundle 形态:package.json 声明 dsh.bundle.patch → dsh plugin add 安装进 profile、自动加入 bundles 层栈,启动不再需要 --patch;patch 行用裸包名 name: dsh-buddy(bundle 已在 profile node_modules,Node 解析可达)
- 同包三面:一个 bundle 同时是 ①组合包(禁用原生 loop + 插入 buddy-loop)、②LLM 适配器(./llm 子路径导出,注册 codebuddy 路由 + 模型目录,stream() 故意抛 CODEBUDDY_SDK_DRIVEN——真实对话由 SDK 驱动,适配器只承担目录与选择校验)、③控制台(./client 子路径导出 + dsh.client 声明)
- cordis 单例三重保障:@deepseek-ai/* 全部声明 peerDependencies(profile 配 autoInstallPeers: false 不会本地安装)→ 解析链落到 dsh 维护的 $DSH_HOME/profiles/node_modules 后备目录 → 其链接直指宿主安装的真实包。schemastery 另有 Symbol.for 全局注册表兜底
- 外挂依赖自持:bundle 的非宿主依赖(@tencent-ai/agent-sdk)装在插件包自己的 node_modules 里(ESM 沿链接路径解析时最先命中),不污染宿主、不依赖 registry 状态
- 层叠规则(文档明载):后应用的层按行胜出;patch 替换目标行整个 config 而非深度合并,覆盖时必须重述该行所有键

更多细节(含 12 个踩坑的“现象→根因→解决→教训”)见 换心手术全记录.md。

已知限制

- CodeBuddy 侧每轮独立对话,resume 后旧历史不会喂给模型上下文(UI 历史完整)
- steer 只排队成下一轮,无真正的中途打断
- 工具审批走 CodeBuddy CLI 自己的审批流程,未映射到 dsh 的 approval 弹窗

致谢

- deepseek-ai/deepseek-harness —— “一切皆插件”的出色设计,让换心成为可能
- 腾讯 CodeBuddy / @tencent-ai/agent-sdk

License

MIT
预览分享卡片长什么样 ↓AzcHui/dsh-buddy-spike
分享 · DeepSeek Harness Hub
AzcHui/dsh-buddy-spike

让 dsh 会话改用 CodeBuddy 驱动,零耗 DeepSeek 额度

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部