dsh-agent-llm:把本机 Agent 大模型接入 DSH 模型库

前言

在 DeepSeek Harness(DSH)里做智能体开发时,模型通常要在 DSH 侧单独配置 provider、登录或填写密钥。若你本机已经登录了 WorkBuddy、WorkBuddy AI 或 Hermes Agent,这些桌面端里已有可用的模型清单、积分倍率和免费额度,再在 DSH 里重复登录往往多余,也容易和 Agent 内显示的信息不一致。

下面介绍社区插件 dsh-agent-llm(维护者 MnemosyneOS):它把上述三个 Agent 的大模型注册为 DSH 的独立 provider,在会话框右下角的模型选择器里直接选用,请求走各 Agent 官方网关,消耗的是对应账号的积分或额度。

这是什么

dsh-agent-llm 属于 DSH 生态中的「模型推理」类插件,当前在 SkillHub 插件目录 可检索安装;源码与说明见 GitHub 仓库(MIT 许可证,package 版本 1.1.0)。

插件不替你登录任何 Agent,只读取本机已保存的登录态;不复制账号、不写死 token、不上传凭据。实现上只依赖 DSH 公开的 ctx.llm.registerAdapter() 接缝,不依赖 @deepseek-ai/* 包。

核心功能

  1. 三个独立 provider
    WorkBuddy、WorkBuddy AI、Hermes Agent 各对应一组模型,出现在模型选择器的不同分组里。

  2. 展示与 Agent 对齐
    模型名称、积分倍率(例如模型名中带 倍率 ×3.47)、免费标记、上下文长度、输出上限、推理档位、能力标签,均来自各 Agent 自己的产品配置或缓存,与 Agent 内显示一致。客户端扩展会在模型标签上展示倍率与「免费」徽标;悬停可看完整说明。

  3. 计费走原账号
    推理请求经对应 Agent 官方网关;免费模型仍按免费规则使用,付费模型消耗该 Agent 账号积分。

  4. 自动发现安装位置
    按环境变量、默认用户目录、Windows 卸载表、浅层目录扫描等顺序定位 Agent 数据根与可执行文件;非标准路径可通过 cordis.patch.yml 或环境变量覆盖。

  5. 安全边界(README 声明)
    WorkBuddy 的 token 在进程内解密、不落盘不打印;Hermes 在网关未运行时可自动续期 Nous token 并原子写回 auth.json(可通过配置关闭)。插件不发起遥测。

前置条件

插件在 Windows 10/11 下设计为与 Agent 使用同一 Windows 用户;Host 侧要求 Node.js >= 22。

使用前需满足至少其一:

  1. 本机已安装并登录 WorkBuddy AI 或 WorkBuddy 桌面端;
  2. 或本机已安装并登录 Hermes Agent(Nous 账号)。

三个 Agent 都未登录时,插件保持空闲,不报错,也不影响 DSH 启动。

安装与启用

通过 SkillHub 插件市场

在 DSH 插件市场中搜索 dsh-agent-llm,或按目录信息安装:

  • owner:MnemosyneOS
  • name:dsh-agent-llm

从 GitHub 直接安装

将 <commit-sha> 换成仓库 Release/Tag 对应的完整 40 位 commit:

dsh plugin --profile web add github:MnemosyneOS/dsh-agent-llm#<commit-sha>

安装完成后刷新一次 DSH Web 页面,浏览器才会加载新的 Client 模块(模型标签徽标)。

注意: 插件以当前 DSH 进程权限运行,安装前建议自行查看仓库源码与 MIT 许可证;本集成属非官方方式,需遵守各 Agent 服务条款。

典型用法

  1. 确保要用的 Agent 已在本机登录。
  2. 刷新 DSH 页面。
  3. 打开会话框右下角模型选择器,选择 WorkBuddy AI、WorkBuddy 或 Hermes Agent 分组下的模型。
  4. 正常发送消息;路由与扣费由当前所选 provider 决定。

模型清单与倍率的数据来源(节选):

Agent 模型清单来源 积分/倍率来源
WorkBuddy AI %USERPROFILE%\.workbuddy-ai\cache\acc-product-config-v3.json 同文件 models[].credits 与 modelPromotions
WorkBuddy %USERPROFILE%\.workbuddy\cache\acc-product-config-v3.json 同上
Hermes Agent $HERMES_HOME\cache\ 下推荐与上下文缓存;在线时用 Nous /v1/models 校正 免费层 :free 模型标为免费

可选配置

非标准安装路径或需要关闭 Hermes 自动续期时,可在 cordis.patch.yml 的 row config 中覆盖(字段均可选)。示例结构如下:

- insert:
    - id: dsh-agent-llm
      name: dsh-agent-llm
      config:
        workbuddyAi:
          enabled: true
          home: 'C:\Users\<you>\.workbuddy-ai'
          exe: 'C:\Program Files\WorkBuddyAI\WorkBuddyAI.exe'
        workbuddy:
          enabled: true
          home: 'C:\Users\<you>\.workbuddy'
        hermes:
          enabled: true
          home: 'C:\Users\<you>\HermesAgent\home'
          allowRefresh: true

环境变量:HERMES_HOME、WORKBUDDY_AI_HOME、WORKBUDDY_HOME、DSH_AGENT_LLM_WORKBUDDY_AI_EXE、DSH_AGENT_LLM_WORKBUDDY_EXE。

适用场景与已知限制

适合: 已在 Windows 本机日常使用 WorkBuddy 系列或 Hermes,希望在 DSH 里用同一套模型名与倍率展示、且不想在 DSH 内再次登录的场景。

需要知晓的限制(来自 README):

  • 图片不转发:provider 为纯文本,DSH 会把消息中的图片换成占位文本。
  • WorkBuddy 旧版 token 有效期较短;过期后需打开一次桌面端续期,插件不主动调刷新接口以免桌面端掉线。
  • 旧版 WorkBuddy 网关对系统提示中重复出现的完整品牌词 DeepSeek Harness 可能返回 HTTP 400;插件会将该词规范化为 DSH。
  • Hermes 免费层仅列出 :free 模型;网关运行中若 token 未刷新,可能需稍后重试。
  • 企业环境若担心 ELECTRON_RUN_AS_NODE 读密钥方式,可将对应 provider 设为 enabled: false。

本地诊断(在插件目录下,需自行进入已安装的插件路径):

node tests/live-smoke.mjs
node tests/live-smoke.mjs --live
node tests/dsh-e2e.mjs

结尾

dsh-agent-llm 把本机已登录的 WorkBuddy / WorkBuddy AI / Hermes Agent 接到 DSH 模型库,在选择器里复用 Agent 侧的模型信息与计费规则,并尽量只依赖公开 adapter 接缝以降低与 DSH 本体升级的耦合。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye