dsh-composer-launcher:把 DSH 1.5 输入框「+」做成统管菜单

前言

在 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。

典型用法

  1. 执行上述 dsh plugin --profile web add 命令,重启或刷新 DSH Web 客户端后,点击输入框左侧 +,在「添加」中选文件或历史对话,或在「能力」中选技能 / MCP。
  2. 在芯片栏确认引用无误后发送;模型侧会看到带 【参考网页】 等标记的文本,而非裸粘贴的 URL 碎片。
  3. 需要引用真实浏览器标签时:按界面「安装说明」完成扩展一次性加载,或点「用带扩展的浏览器打开」走调试实例;扩展推送成功后,「标签页」行由桥供数。
  4. 在设置 → 插件 → 启动器 中按需关闭某一行、调整 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye