dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
把本机已登录的 WorkBuddy、WorkBuddy AI、Hermes Agent 三个 Agent 的大模型接入 DeepSeek Harness(DSH)的模型库。装好后在会话框右下角的模型选择器里即可直接选用, 无需在 DSH 里重新登录任何账号。
倍率 ×3.47)、免费标记、上下文长度、输出上限、推理档位、能力标签
均来自对应 Agent 自己的产品配置,与 Agent 内显示的信息一致。@deepseek-ai/* 包,只使用 DSH 公开的 ctx.llm.registerAdapter() 接缝;
DSH 升级后仍可用(前提是该公开接缝不变)。在 DSH 的插件市场里搜索 dsh-agent-llm,或直接安装:
MnemosyneOSdsh-agent-llmdsh plugin --profile web add github:MnemosyneOS/dsh-agent-llm#<commit-sha>
<commit-sha> 用仓库 Release/Tag 对应的完整 40 位 commit。
安装完成后刷新一次 DSH Web 页面,浏览器才会加载新的 Client 模块(模型标签徽标)。
插件本身不会替你登录 Agent,只复用它们已经保存的本地会话:
三个 Agent 都没有登录时插件会保持空闲,不会报错,也不会影响 DSH 启动。
插件按以下顺序自动定位 Agent,无需手工配置路径:
| 目标 | 探测顺序 |
|---|---|
| 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 显式指定即可。
WorkBuddy AI、WorkBuddy 或 Hermes Agent 分组。
Fast · 倍率 ×0.34。免费 徽标。| Agent | 模型清单来源 | 积分/倍率来源 |
|---|---|---|
| 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。
ctx.llm.registerAdapter() 公开接缝,无 DSH 内部 import。~/.dsh/profiles/<profile>)里,DSH 本体升级不会删除它。auth.json / cache/* 并调用稳定的 Nous 推理接口;不 import Hermes Python 模块。conversation.input.model.label 槽位(优先级 -1);若未来槽位 API 变化,
最坏情况是标签退化为模型名,请求与模型选择本身不受影响。DeepSeek Harness(HTTP 400 / code 11128)。旧版 provider 在发送前把该品牌词规范化为官方缩写
DSH(同一段系统提示中已定义该缩写,语义不变);WorkBuddy AI 与 Hermes 不受影响,仍原样发送。:free 模型。ELECTRON_RUN_AS_NODE 调用官方二进制内置 binding)不修改任何 Agent
文件,但可能被杀软/EDR 关注;企业环境可将对应 provider 设为 enabled: false。auth.json 仅在自动续期路径写入,且为原子替换;不希望插件改动该文件时设置
hermes.allowRefresh: false。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 插件图标
MIT