前言¶
DeepSeek Harness(DSH)官方桌面版自带插件管理器,但能力集中在「已知包名或规格」的安装与卸载:你填一个依赖,它帮你写进 profile。社区里实际可用的第三方插件往往挂在 GitHub topic dsh-plugin 上,官方并没有统一的浏览入口。若你经常要在 harness 里扩展能力,却不想逐个搜仓库、复制 README、再手动拼安装命令,dsh-plugin-market 把发现、预览和装入当前 profile 收进同一界面。
下面介绍该插件的定位、能力与安装要点。事实以仓库 VCPr0j3k7/dsh-plugin-market 的 README 与 package.json(版本 0.1.0,MIT 许可)为准。
这是什么¶
dsh-plugin-market 由维护者 VCPr0j3k7 发布,分类属于 DSH 生态中的联网工具。一句话定位:为 DSH 官方桌面版(desktop profile)补上第三方插件的发现能力——从 GitHub topic dsh-plugin 拉取仓库列表,支持浏览、预览 README(可选 DeepL 中文翻译与本地关键词提取)、一键装入当前 profile,并在客户端侧读取 GitHub 加速代理等共享配置。
它不替代官方插件管理器:装、卸、启停仍遵循 profile 语义(改写 dsh.profile.bundles),只是把入口放到同一套 UI 里。列表与详情完全依赖 GitHub 公开 API,不经过中间聚合服务。
插件以独立 bundle 形式装入 profile,同时包含宿主半边(Node.js,Cordis 插件 index.js)与客户端半边(浏览器 client.js)。
核心功能¶
插件市场浏览与安装¶
- 通过
POST /market/list列出 topicdsh-plugin下的仓库,带约 1 小时的磁盘缓存。 - 展开卡片时
POST /market/details拉取 README、可选译文与本地提取的中文关键词。 POST /market/install下载并装入当前 profile;POST /market/cancel可取消进行中的下载。安装进度由客户端每 300ms 轮询GET /events?since=<seq>获取增量。
侧边栏槽位 sidebar.panellist 提供「插件市场」入口;主区域与 README 预览抽屉分别注册在 main、shell.overlay。
README 预览与翻译¶
展开卡片时大致顺序为:
- 优先匹配作者自带的中文 README 文件名(如
README.zh-CN.md等),命中则直接用 raw 内容。 - 否则走 GitHub readme 端点取正文。
- 本地词典匹配提取中文关键词(不消耗外部配额)。
- 若配置了 DeepL 且正文 CJK 占比低于约 8%、中文字符少于 30,可选机器翻译。
抽屉内提供完整原文(Markdown 渲染,上限约 40 万字符)、中文译文(纯文本,单次翻译上限受 translate.maxCharacters 等配置约束)、以及 Markdown 源码视图。渲染采用自写子集与 HTML 白名单,避免不可信 README 注入脚本。
GitHub 加速代理与令牌¶
在 ~/.dsh/dsh-extras.json(与同族桌面设置插件共用)中可配置:
githubProxy.enabled/githubProxy.baseUrl:默认关闭;开启后把对api.github.com、raw.githubusercontent.com、codeload.github.com等路径改写到用户自建反向代理,并手动跟随 302,避免 fetch 直连跳转到未代理域名。githubToken:留空按匿名 API 额度(README 写明约 60 次/小时);填写后走认证额度。若代理为明文 HTTP,令牌会经代理发出,需自行评估链路可信性。
与官方 CLI 的关系¶
除界面一键安装外,行为与官方 profile 一致。插件无法替宿主进程重启:POST /restart-host 会提示手动退出并重新打开 harness;安装 bundle 变更后仍需用户自行重启。
环境要求¶
| 项 | 要求 |
|---|---|
| Node.js | ^22.19.0 \|\| >=24 |
| DeepSeek Harness | 官方桌面版,desktop profile |
| pnpm | 使用官方桌面版随包 pnpm,无需单独安装 |
| DeepL API Key | 可选,仅 README 机器翻译需要 |
安装与启用¶
任选其一安装依赖:
# 用官方桌面版随包的 pnpm 装进 profile
pnpm add "file:<插件目录绝对路径>"
# 或者直接从 GitHub 装
pnpm add "github:VCPr0j3k7/dsh-plugin-market"
pnpm add 只会写入 profile 的 dependencies,不会自动登记 bundle。DSH 启动时按 dsh.profile.bundles 装配插件树,因此必须把包名加入 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 数组,例如:
// ~/.dsh/profiles/desktop/package.json
{
"dependencies": {
"dsh-plugin-market": "file:/path/to/dsh-plugin-market"
},
"dsh": {
"profile": {
"bundles": [
// …官方 bundle…
"dsh-plugin-market"
]
}
}
}
漏登记时常见现象:依赖已在 node_modules,界面空白且日志无明确报错——包从未被装载。
更省事的方式是使用官方 CLI,会在 pnpm 完成后执行 reconcilePlugins(),把声明了 dsh.bundle.patch 的依赖自动追加进 bundles:
dsh plugin --profile desktop add github:VCPr0j3k7/dsh-plugin-market
无论哪种方式,安装后都需要重启 harness;运行中的实例不会热更新插件。
卸载:
pnpm remove dsh-plugin-market
若 dsh.profile.bundles 仍有 dsh-plugin-market,手动删除对应条目后再重启。
启用条件需同时满足:包在 dependencies 中可解析,且包名出现在 dsh.profile.bundles 中。
典型用法¶
- 完成安装并重启后,在侧边栏打开「插件市场」。
- 等待列表从 GitHub topic 加载(网络慢或限流时可在设置中配置
githubToken或githubProxy)。 - 点击仓库卡片展开详情,在抽屉中阅读 README;需要中文时可依赖作者中文 README、本地关键词,或配置
translate.apiKey后使用 DeepL 译文视图。 - 确认仓库与许可证后,使用界面的一键安装装入当前 profile;关注安装进度事件,必要时取消下载。
- 若 profile 有 bundle 变更,按提示手动重启 harness 使新插件生效。
设置页「测试连通性」对 GitHub 代理会探测根路径与一条 raw 请求,两者均通过才算可用。
适用场景与注意¶
适合谁: 使用 DSH 官方桌面版、希望从社区 topic dsh-plugin 系统性浏览第三方插件、并在同一窗口内预览说明后再安装的智能体或 harness 开发者。
务必注意:
- 插件与 harness 以当前 DSH 进程权限运行;一键安装会改写 profile 依赖与 bundles。安装前应阅读目标仓库源码、许可证与维护状态,勿仅凭 README 渲染结果信任代码。
- 发现能力完全依赖 GitHub;匿名 API 有速率限制,国内网络可自建代理但需与 README 中的路径前缀映射一致,否则可能静默 404。
- 官方桌面版「插件库」相关开关可能通过
sanitizeProfile(...)清理非官方 bundle;若市场插件运行一段时间后消失,优先检查dsh.profile.bundles是否被重写。 - SkillHub 等社区目录页(plugins/VCPr0j3k7/dsh-plugin-market)便于检索,与 DeepSeek / 幻方无官方从属关系,不是官方应用商店。
结尾¶
dsh-plugin-market 把 GitHub topic dsh-plugin 变成可浏览、可读 README、可一键装入 desktop profile 的工作流,并可选 DeepL 与 GitHub 代理,补上了官方管理器在「发现」侧的空白。进一步了解实现细节、路由表与已知限制,见 GitHub 仓库 VCPr0j3k7/dsh-plugin-market;插件索引页见 SkillHub 目录。