前言¶
DeepSeek Harness(DSH)把能力拆成插件之后,入口会分散在左侧栏页面、右侧栏标签和各自菜单里。聊天过程中若要换插件,往往要在主栏和侧栏之间来回切,对话上下文也容易丢。插件坞(dsh-plugin-dock)不重写各插件界面,只通过 DSH 公开插槽发现入口、用公开 API 打开它们,把「已安装插件 + 快捷动作」收进右侧栏面板,并在左侧栏与输入框提供总入口。
这是什么¶
插件坞由维护者 Sun-0306 发布,包名 dsh-plugin-dock,当前版本 0.1.0,MIT 许可证,属于 DSH 社区目录中的客户端类插件(Host + Web Client 双半插件)。
一句话定位:右侧随手调用面板 + 左侧全局入口页 + 输入框一键按钮。价值在于「不离开对话」——右栏与主栏会话并排,窄屏时右栏可全屏,宽度约 320–900 px 均可用。
- 目录页:https://www.skillhub.cn/plugins/Sun-0306/dsh-plugin-dock
- 源码:https://github.com/Sun-0306/dsh-plugin-dock
入口与界面¶
同一产品有四个入口:
| 位置 | 作用 |
|---|---|
左侧栏面板列表(id plugin-dock,与「插件」「定时任务」同级) |
全局门户;默认点击后回到对话并在右栏打开插件坞 |
右侧栏标签页(type id dsh-plugin-dock) |
主工作区:搜索、快捷动作、右侧面板、插件页、已安装插件 |
右栏「+」指南(order 45) |
从指南再次打开插件坞 |
输入框工具行左侧(id plugin-dock-launcher) |
一键在右栏打开插件坞 |
右栏面板自上而下包括:标题行(含搜索、刷新、设置页入口)、快捷动作(内置「上下文归纳」示范跨插件调用)、右侧面板(枚举其他插件注册的右栏 tab)、插件页(左侧栏整页入口,可选「整页打开」或「右侧打开」)、已安装插件(Host 目录 API 清单,可展开详情)、底部状态(偏好同步、设置页、刷新)。搜索框会同时过滤上述区块;标签页 keepMounted,切走再回来保留搜索词与展开状态。
点左侧栏「插件坞」时,默认不会停在整页:leftEntryOpensDock 默认为 true,会把主栏切回对话并在右栏打开插件坞。需要完整控制中心时,在面板内点「打开完整设置页」或底部「设置页」,才进入整页(状态条、目录、设置、自检、API 文档等)。无会话、右栏打不开时会留在整页并提示;约 0.5 秒内的导航不会被强行拉回(导航守卫)。
安装与启用¶
前置条件¶
- DSH 0.2.1 系 Web/Desktop 组合,desktop profile 需由 DeepSeek Harness 初始化;
- Host 半要求 Node ≥ 20(随 DSH 运行,无需单独起进程);
- 仓库无构建步骤、无第三方依赖,可直接以本地目录或打包 tgz 安装。
安装前请自行阅读仓库源码与 MIT 许可证;插件在当前 DSH 进程权限下运行,与宿主共享 profile 目录。
推荐方式¶
维护者在 README 中提供了脚本与等价 CLI,路径需换成你本机上的插件目录(勿使用 git clone 作为唯一手段;按官方文档用 link: 或 file: 安装)。
桌面版若 npm 全局 dsh 拒绝写入 desktop profile,应使用 DeepSeek Harness 自带 CLI,例如:
"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
plugin --profile desktop add "link:/你的路径/dsh-plugin-dock"
等价核心命令(将路径改为本机目录):
dsh plugin --profile desktop add link:/你的路径/dsh-plugin-dock
确认 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 中包含 "dsh-plugin-dock";若 CLI 未自动写入,可手动追加。也可使用打包安装包(版本以 dist 文件名为准):
dsh plugin --profile desktop add file:/你的路径/dsh-plugin-dock/dist/dsh-plugin-dock-0.1.0.tgz
仓库内还提供 scripts/install-manual.sh、scripts/install-local.sh 等脚本(README 含完整步骤与备份 package.json.bak.<时间戳> 说明)。完全退出并重启 DSH 后生效;Host 半可能 HMR 热加载,客户端界面通常需 ⌘/Ctrl+R 刷新 GUI。
快速自检:不带 token 请求 http://127.0.0.1:57598/dsh-plugin-dock/api/health 若返回 401 JSON,说明 Host 半已加载;带页面 token 时返回 ok:true。
卸载¶
dsh plugin --profile desktop remove dsh-plugin-dock
并从 dsh.profile.bundles 删除 "dsh-plugin-dock" 后重启。数据目录 <profile>/.dsh-plugin-dock/ 默认保留;彻底清空可手动删除,例如 ~/.dsh/profiles/desktop/.dsh-plugin-dock。
典型用法¶
聊天中调用¶
- 打开会话,点输入框左侧插件坞按钮,或右栏「+」→ 插件坞;
- 在「快捷动作」点「一键归纳」:对当前会话做上下文归纳并显示用量(需已安装
dsh-context-summarizer); - 在「右侧面板」点任意插件 chip:该插件在右栏打开,对话仍可见;
- 在「插件页」点「整页打开」进入该插件整页,或点「右侧打开」优先用右栏 tab。
收藏、最近与整页¶
已安装插件行可星标收藏;打开过的插件进入「最近」(最多 50 条)。偏好经 Host /api/prefs 持久化到 <profileDir>/.dsh-plugin-dock/state.json,Host 不可用时退回 localStorage 并在底栏显示「本地缓存」。
整页控制中心提供统一目录、设置与自检(/api/self-check)。常用设置项:
| 设置项 | 默认 | 说明 |
|---|---|---|
leftEntryOpensDock |
true |
左栏入口直接开右栏并回到对话 |
autoOpenDock |
true |
首次打开页面时自动开一次右栏(有 localStorage 标记) |
showPageEntries |
true |
是否展示「插件页」区块 |
density |
comfortable |
comfortable / compact |
设计要点与适用场景¶
插件坞只枚举入口、调用公开 API(如 ctx.sidebarRight.openTab、ctx.layout.selectPanel),不 import 其他插件内部模块、不读对方 DOM。某能力缺失时对应按钮降级,不阻塞整个面板。
适合:插件装得较多、希望在同一会话旁切换右栏工具或打开整页设置的用户。不适合把它当成各插件功能的替代品——具体能力仍由各插件提供。
「上下文归纳」快捷动作为跨插件调用示例;未安装归纳插件或缺少 token/会话时,卡片显示空状态与「打开插件页」兜底,不会拖垮面板。
结尾¶
插件坞把 DSH 已安装插件的入口收到右侧栏,用左侧栏门户和输入框按钮缩短路径,核心判断是:调用插件的时机几乎总在对话进行中。若你在用 DSH 0.2.1+ 桌面版并愿意本地 link 或 tgz 安装,可按 README 安装后从输入框左侧按钮或左栏「插件坞」试用。