前言¶
在 DeepSeek Harness(DSH)里和模型对话时,输入框左侧默认的「+」往往只负责选文件。想把正在看的网页、历史会话、技能、MCP 服务器或本机已装插件指给模型,多半要靠手打或 @ 引用,入口分散。DSH 生态强调「一切皆插件」,社区插件挂在独立目录站点 skillhub.cn,与 DeepSeek / 幻方无官方从属关系。下面介绍维护者 xiamubumu 的客户端插件 dsh-composer-launcher:在 DSH 1.5 上用一个面板统管「添加 / 能力 / 常用插件」,并把选中项落成输入框上方的原生引用芯片;可选浏览器扩展 DSH Tab Bridge 通过本机回环桥推送真实标签页。
这是什么¶
dsh-composer-launcher 是 DSH 1.5 的启动器类客户端插件:把组合器旁的 + 换成约 360px 的三组菜单,选中内容不直接进草稿正文,而是变成与宿主 @ 引用同类的芯片,发送时才序列化进消息。它不改请求、不改工具结果、不改系统提示,README 将其归为纯 UI、服务端无接缝,占用的四个客户端槽位均为 list / keyed,冲突风险自述为很低。
版本 1.1.0,许可证 MIT。仅支持 DSH 1.5(>=0.1.5-rc.2 <0.2.0);宿主平台为 desktop 与 web,支持 Windows、macOS、Linux。Node 引擎要求为 ^22.19.0 || >=24.0.0。
加号菜单与引用芯片¶
三组菜单¶
面板挂在 conversation.input.left 插槽,分为三组:
| 分组 | 内容 |
|---|---|
| 添加 | 文件与文件夹、历史对话、计划、目标 |
| 能力 | 斜杠指令、技能、MCP 服务器 |
| 常用插件 | 已装插件逐行展示,另有「全部插件」 |
具体行为以 README 为准:文件走宿主选择器(可多选、拖拽;无目录选择器时退回 @);历史对话经 remote.sessionReferenceResolver(仅会话);技能经 ctx.remote.skills.list({ sessionId });MCP 依赖宿主 remote.mcpManager;插件列表每次从 ctx.remote.pluginInventory.list() 读取,无本地缓存。
常用插件显示策略由设置项 pluginMode 控制:pinned、frequent 或 mixed(默认 mixed),pluginCount 默认 5,超出后收成「全部插件」。每一行可在设置卡片里单独关闭。
芯片栏¶
选中项落在 conversation.input.dock(输入框上方)。芯片含 label、kind(web / plugin / skill / mcp)、icon,网页类可带 url。按会话隔离,两个对话标签不共用一条栏。发送时写入固定中文标记(两种界面语言下不变,供模型阅读):
| 种类 | 标记形式 |
|---|---|
| 网页 | 【参考网页】<标题> — <url> |
| 插件 | 【使用插件】<名字> |
| 技能 | 【技能】<名字> |
| MCP | 【MCP】<名字> |
标签页与浏览器扩展¶
无扩展时,「标签页」行会提示未安装并指向安装入口。装好可选扩展 DSH Tab Bridge 后,扩展经本机 HTTP 桥(默认 127.0.0.1:43130,可用环境变量 DSH_LAUNCHER_BRIDGE_PORT 覆盖)把日常浏览器标签推给插件。退路是「拉起调试浏览器」:插件自起 Chromium,经 CDP 读标签,并可 --load-extension 挂载暂存扩展;该路径只见临时实例,不是已打开的日常浏览器。Chromium 不允许静默向日常浏览器旁加载扩展,日常浏览器需一次性「加载解压缩的扩展」,或走插件提供的零人工调试浏览器路线。
设置与联动¶
设置卡片注册在 settings.plugin.item,标题为「启动器」(英文界面为 Launcher)。配置命名空间为 composer-launcher,主要字段包括:
- 各行开关:
showWeb、showFiles、showPlan、showGoal、showCmd、showSkill、showMcp(默认均为true) webCount(默认 3)、port(默认 9222,用于 CDP 调试浏览器,非桥端口)pluginMode、pluginCount、pinned(默认空数组)
若安装了 dsh-capability-composer,常用插件行可经 /dsh-capability-composer/effective 收窄;未安装时列出全部插件,「设置组合」跳转会被拒绝并提示安装组合器。与 dsh-context-reclaim、dsh-aux-degrade 无代码级依赖,可单独使用。
安装与启用¶
安装前请确认 DSH 版本落在 1.5 区间,并在安装前自行查看 GitHub 仓库 源码与 MIT 许可证。插件在当前 dsh 进程权限 下运行;宿主还会在 127.0.0.1 上提供 /composer-launcher 前缀的 HTTP 路由与本机桥,使用前宜了解其作用范围。
从 GitHub 安装(README 推荐,并注明已在全新 DSH_HOME 上实测):
dsh plugin --profile web add github:xiamubumu/dsh-composer-launcher
离线环境可从 Releases 下载 dsh-composer-launcher-1.1.0.tgz:
dsh plugin --profile web add /path/to/dsh-composer-launcher-1.1.0.tgz
README 说明:勿用 Release 资产的 HTTPS tarball URL 直接 add(在 DSH 自带 pnpm 10.34.5 上可能触发 ERR_PNPM_MISSING_TARBALL_INTEGRITY);市场与 npm 发布尚未就绪时,应使用 github: 简写或本地路径。本地开发目录可用 node install.mjs,Windows 可用 install.ps1。
典型用法¶
- 执行上述
dsh plugin --profile web add命令,重启或刷新 DSH Web 客户端后,点击输入框左侧+,在「添加」中选文件或历史对话,或在「能力」中选技能 / MCP。 - 在芯片栏确认引用无误后发送;模型侧会看到带
【参考网页】等标记的文本,而非裸粘贴的 URL 碎片。 - 需要引用真实浏览器标签时:按界面「安装说明」完成扩展一次性加载,或点「用带扩展的浏览器打开」走调试实例;扩展推送成功后,「标签页」行由桥供数。
- 在设置 → 插件 → 启动器 中按需关闭某一行、调整
pluginMode或pinned,避免菜单过长。
适用场景与注意¶
适合长期在 DSH 1.5 Web 配置下工作、希望把文件、会话、技能、MCP 与插件入口收拢到「+」菜单、并用芯片统一表达引用的用户。若已使用 dsh-capability-composer,可与本插件联动收窄插件列表;仅关心 MCP 时仍依赖宿主侧的 MCP 管理能力,本插件只提供入口行。
已知边界(摘自 README):插件行不能在此直接启用/禁用插件;真标签页依赖扩展或调试浏览器;Firefox 上 MV3 多为临时载入。本插件自述不需要为 DSH 打补丁;与需要补丁的兄弟插件的提醒相互独立。
结尾¶
dsh-composer-launcher 把 DSH 1.5 输入框的「+」扩展为可配置的添加 / 能力 / 插件菜单,并用原生芯片承载引用,可选 Tab Bridge 补上真实标签页。进一步了解与安装见社区目录页 skillhub.cn/plugins/xiamubumu/dsh-composer-launcher 与源码仓库 github.com/xiamubumu/dsh-composer-launcher。