把本机已登录智能体的大模型接入模型选择器
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MnemosyneOS/dsh-agent-llm该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 26 处,展示前 26 条)
- 读取本地文件index.js:41
const text = readFileSync(join(dirname(exe), 'version'), 'utf8').trim(); - 读取本地文件index.js:125
if (!existsSync(spec.home)) { - 读取本地文件index.js:147
if (options.hermes.enabled && options.hermes.home && existsSync(join(options.hermes.home, 'auth.json'))) { - 发起网络请求lib/workbuddy-connector.js:125
const response = await fetch(`${endpoint.replace(/ +$/, '')}/v2/chat/completions`, { - 发起网络请求lib/hermes-connector.js:68
const response = await fetch(`${session.inferenceBase}/chat/completions`, { - 读取本地文件lib/workbuddy-auth.js:108
const raw = await readFile(outPath, 'utf8'); - 删除本地文件lib/workbuddy-auth.js:119
await unlink(outPath); - 执行外部命令来自配置/变量lib/workbuddy-auth.js:137
const child = spawn(exe, ['-e', helper], { - 读取本地文件lib/workbuddy-auth.js:209
const raw = JSON.parse(await readFile(store.file, 'utf8')); - 读取本地文件lib/discovery.js:35
if (typeof candidate === 'string' && candidate.length > 0 && existsSync(candidate)) return candidate; - 读取本地文件lib/discovery.js:42
return statSync(path).isDirectory(); - 读取本地文件lib/discovery.js:123
entries = readdirSync(dir, { withFileTypes: true }); - 读取本地文件lib/discovery.js:202
return merged.filter((path) => existsSync(path)); - 读取本地文件lib/discovery.js:225
if (existsSync(join(dir, 'auth.json')) || existsSync(join(dir, 'config.yaml'))) { - 读取本地文件lib/discovery.js:255
entries = readdirSync(root); - 读取本地文件lib/hermes-auth.js:58
const text = await readFile(path, 'utf8'); - 读取本地文件lib/hermes-auth.js:77
const state = parseJson(await readFile(join(home, 'gateway_state.json'), 'utf8')); - 写入本地文件lib/hermes-auth.js:104
await writeFile(tmp, `${JSON.stringify(next, null, 2)}\n`, 'utf8'); - 写入本地文件lib/hermes-auth.js:105
await rename(tmp, path); - 发起网络请求lib/hermes-auth.js:116
const response = await fetch(`${portalBase}/api/oauth/token`, { - 读取本地文件lib/workbuddy-catalog.js:179
names = await readdir(cacheDir); - 读取本地文件lib/workbuddy-catalog.js:188
const info = await stat(path); - 读取本地文件lib/workbuddy-catalog.js:197
const text = await readFile(candidate.path, 'utf8'); - 发起网络请求lib/wire.js:206
const response = await fetch(url, init); - 读取本地文件lib/hermes-catalog.js:29
return await readFile(path, 'utf8'); - 发起网络请求lib/hermes-catalog.js:141
const response = await fetch(`${session.inferenceBase}/models`, {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 插件:把本机已登录的 WorkBuddy / WorkBuddy AI / Hermes Agent 大模型接入 DSH 模型库,显示与 Agent 一致的模型名称、积分倍率与免费额度。
README
由 DeepSeek 最新模型翻译生成dsh-agent-llm
把本机已登录的 WorkBuddy、WorkBuddy AI、Hermes Agent 三个智能体的大模型接入 DeepSeek Harness(DSH)的模型库。装好后在会话框右下角的模型选择器里即可直接选用,无需在 DSH 里重新登录任何账号。
- 三个智能体各是一个独立的 DSH 服务商,出现在模型选择器中。
- 模型名称、积分倍率(倍率 ×3.47)、免费标记、上下文长度、输出上限、推理档位、能力标签均来自对应智能体自己的产品配置,与智能体内显示的信息一致。
- 请求走智能体官方网关/推理接口,消耗的是对应智能体账号的积分/额度,免费模型照常免费。
- 只读取本机登录态,不复制账号、不写死 token、不上传任何凭据。
- 不依赖任何 @deepseek-ai/ 包,只使用 DSH 公开的 ctx.llm.registerAdapter() 接缝; DSH 升级后仍可用(前提是该公开接缝不变)。
展开完整文档(README 剩余 1 节)
dsh-agent-llm
把本机已登录的 WorkBuddy、WorkBuddy AI、Hermes Agent 三个智能体的大模型接入 DeepSeek Harness(DSH)的模型库。装好后在会话框右下角的模型选择器里即可直接选用,无需在 DSH 里重新登录任何账号。
- 三个智能体各是一个独立的 DSH 服务商,出现在模型选择器中。
- 模型名称、积分倍率(倍率 ×3.47)、免费标记、上下文长度、输出上限、推理档位、能力标签均来自对应智能体自己的产品配置,与智能体内显示的信息一致。
- 请求走智能体官方网关/推理接口,消耗的是对应智能体账号的积分/额度,免费模型照常免费。
- 只读取本机登录态,不复制账号、不写死 token、不上传任何凭据。
- 不依赖任何 @deepseek-ai/ 包,只使用 DSH 公开的 ctx.llm.registerAdapter() 接缝; DSH 升级后仍可用(前提是该公开接缝不变)。
安装
通过 SkillHub 插件市场
在 DSH 的插件市场里搜索 dsh-agent-llm,或直接安装:
- owner:MnemosyneOS
- name:dsh-agent-llm
直接安装 GitHub 仓库
dsh plugin --profile web add github:MnemosyneOS/dsh-agent-llm#<commit-sha>
<commit-sha> 用仓库 Release/Tag 对应的完整 40 位 commit。
安装完成后刷新一次 DSH Web 页面,浏览器才会加载新的 Client 模块(模型标签徽标)。
前置条件
插件本身不会替你登录智能体,只复用它们已经保存的本地会话:
1. 本机安装并登录过 WorkBuddy AI 或 WorkBuddy 桌面端(至少一个)。
2. 或者本机安装并登录过 Hermes Agent(Nous 账号)。
3. Windows 10/11,DSH 与智能体使用同一个 Windows 用户。
三个智能体都没有登录时插件会保持空闲,不会报错,也不会影响 DSH 启动。
自动发现
插件按以下顺序自动定位智能体,无需手工配置路径:
| 目标 | 探测顺序 |
| WorkBuddy AI 数据根 | WORKBUDDY_AI_HOME → %USERPROFILE%\.workbuddy-ai |
| WorkBuddy 数据根 | WORKBUDDY_HOME → %USERPROFILE%\.workbuddy |
| WorkBuddy 可执行文件 | DSH_AGENT_LLM_WORKBUDDY_AI_EXE / DSH_AGENT_LLM_WORKBUDDY_EXE → Windows 卸载表 InstallLocation → %LOCALAPPDATA%\Programs\{WorkBuddyAI,WorkBuddy} → 用户目录与盘符下的浅层目录扫描 |
| Hermes 数据根 | HERMES_HOME → ~/.hermes → ~/HermesAgent/home → %LOCALAPPDATA%\Programs\Hermes\home → 用户目录与盘符下的浅层目录扫描(以存在 auth.json 或 config.yaml 为准) |
浅层扫描只在前面几项都失败时触发,深度上限 3 层、只看目录名,不读取文件内容。
装在非标准位置时,用下面的 config 显式指定即可。
使用
1. 确保对应智能体已登录。
2. 刷新 DSH 页面。
3. 点开会话框右下角的模型选择器,选择 WorkBuddy AI、WorkBuddy 或 Hermes Agent 分组。
- 倍率直接显示在模型名里:Fast · 倍率 ×0.34。
- 免费模型显示 免费 徽标。
- 悬停模型名可看到完整信息(上下文、输出上限、能力、智能体原始描述)。
4. 发送消息,请求按当前选择路由到对应智能体,积分从该账号扣除。
数据来源与显示规则
| 智能体 | 模型清单来源 | 积分/倍率来源 |
| WorkBuddy AI | %USERPROFILE%\.workbuddy-ai\cache\acc-product-config-v3.json | 同文件 models[].credits + modelPromotions(按 Asia/Shanghai 日期与每日时段计算生效折扣) |
| WorkBuddy | %USERPROFILE%\.workbuddy\cache\acc-product-config-v3.json | 同上 |
| Hermes Agent | $HERMES_HOME\cache\nous_recommended_cache.json + context_length_cache.yaml(在线时用 Nous /v1/models 校正) | Nous 免费层::free 模型为 免费;付费层显示付费模型 |
WorkBuddy 的登录态在 %LOCALAPPDATA%\CodeBuddyExtension\Data\Public\auth\workbuddy-desktop-ai.info / workbuddy-desktop.info,token 字段是 AES-256-GCM 密文;插件调用已安装的 WorkBuddyAI.exe(ELECTRON_RUN_AS_NODE=1,无窗口、只读)取得 at-rest 密钥后在本进程内解密, 不落盘、不打印。
Hermes 的登录态在 $HERMES_HOME\auth.json(providers.nous)。Nous access token 约 1 小时过期: Hermes 网关运行中由 Hermes 自己续期;网关未运行时插件用同一刷新接口续期,并把轮换后的 token 原子写回 auth.json,保证 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'
authFile: 'C:\Users\<you>\AppData\Local\CodeBuddyExtension\Data\Public\auth\workbuddy-desktop-ai.info'
appVersion: '5.8.4'
workbuddy:
enabled: true
home: 'C:\Users\<you>\.workbuddy'
exe: 'C:\Users\<you>\AppData\Local\Programs\WorkBuddy\WorkBuddy.exe'
hermes:
enabled: true
home: 'C:\Users\<you>\HermesAgent\home'
allowRefresh: true # false = 不自动续期,仅使用未过期的 Nous token
环境变量覆盖:HERMES_HOME、WORKBUDDY_AI_HOME、WORKBUDDY_HOME、 DSH_AGENT_LLM_WORKBUDDY_AI_EXE、DSH_AGENT_LLM_WORKBUDDY_EXE。
升级稳定性
- 只用 Node 内置模块 + ctx.llm.registerAdapter() 公开接缝,不 import DSH 内部模块。
- 插件包装在 DSH profile(~/.dsh/profiles/<profile>)里,升级 DSH 本体不会删掉它。
- WorkBuddy 模型清单读的是 Agent 自己维护的缓存文件,Agent 更新模型后不用改插件。
- Hermes 读 auth.json / cache/,调用稳定的 Nous 推理接口;不 import Hermes Python 模块。
- Client 端只覆盖 conversation.input.model.label 槽位(优先级 -1);将来槽位 API 若有变化,最坏情况是标签退化成模型名,请求与模型选择本身不受影响。
已知限制
- 图片不转发:provider 声明为纯文本,DSH 会把消息里的图片替换成占位文本;模型名/描述仍按 Agent 原始能力显示「图像输入」。
- WorkBuddy 旧版 token 有效期较短(约 30 天,刷新后约 60 天)。过期后打开一次 WorkBuddy 桌面端即可自动续期;插件有意不调用 token 刷新接口,避免轮换导致桌面端掉线。
- 旧版 WorkBuddy 渠道校验兼容:其网关会拦截系统提示里重复出现的完整品牌词 DeepSeek Harness(HTTP 400 / code 11128)。旧版 provider 在发送前把该品牌词规范化为官方缩写 DSH(同一段系统提示里已定义该缩写,语义不变);WorkBuddy AI 与 Hermes 不受影响,仍原样发送。
- Hermes 免费层只能选免费模型:Nous 账号是免费层时,付费模型在 Agent 里同样不可选,所以插件只列出可用的 :free 模型。
- Hermes 自动续期只在「网关未运行」时写回 token;网关运行中 token 没刷新时,请求会提示稍后重试。
安全与隐私
- 插件复用本机已登录会话,属于非官方集成;请遵守各 Agent 的服务条款,风险自负。
- token 只在 Host 进程内存里使用;日志只记录模型名、路由与消耗数值,不记录 token。
- WorkBuddy 密钥读取方式(ELECTRON_RUN_AS_NODE 调用官方二进制内置 binding)不修改任何 Agent 文件,但可能被杀软/EDR 关注;企业环境可将对应 provider 设为 enabled: false。
- Hermes auth.json 只在自动续期路径写入,且为原子替换;不希望插件改动该文件时设置 hermes.allowRefresh: false。
- 插件不发起任何遥测,也不向 MnemosyneOS 或第三方上传数据。
诊断
cd <插件目录>
node tests/live-smoke.mjs # 只读:列出三个 provider 的模型与免费状态
node tests/live-smoke.mjs --live # 用免费模型各发一次带工具调用的请求(消耗 0 积分)
node tests/dsh-e2e.mjs # 经 DSH 本体做端到端验证(需要运行中的 dsh web)
目录
dsh-agent-llm/
index.js Host 入口:注册 provider client.js 模型标签扩展(倍率/免费徽标) lib/adapter.js DSH LlmAdapter 兼容层(零依赖) lib/discovery.js Agent 安装位置自动发现 lib/wire.js 消息/工具/SSE 公共转换 lib/workbuddy-.js WorkBuddy 目录、登录态、流式连接 lib/hermes-.js Hermes 目录、Nous 登录态与续期、流式连接 cordis.patch.yml Bundle patch
locale/{en,zh}.json 插件市场显示标题/描述
icon.svg 插件图标
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
MnemosyneOS/dsh-agent-llm
把本机已登录智能体的大模型接入模型选择器
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1