dsh-composer-tabs —— 输入框菜单 Tab 分页插件
给 DeepSeek Harness(DSH)的输入框菜单加一层 Tab 分页:把原来挤在一个列表里的「指令、技能、插件自带的技能」按来源分成一个个页面,找东西更快更清楚。
不用改任何代码,装好重启后自动生效;以后新装插件带了新技能,也会自动多出一个对应的 Tab,旧的不受影响。
一、它做了什么?
在下面两个菜单里都加了 Tab 页:
- 输入框左下角的 加号(+)菜单
- 输入框打
/弹出的菜单
Tab 的顺序是固定的:
① 指令 系统内置的指令(如 /plan、/goal、/permission …)
② 我的技能 你自己放进技能目录的技能文件
③ 创造模式技能 当前预设(preset)自带的技能;没有就不显示这一页
④ 各插件 每个插件带的技能各占一页(按名字排序)
⑤ 内置技能 随包分发的技能
⑥ 其他 无法归类的内容
每个页面内,条目上方会有一个灰色小标题标明来源,和原版菜单的分组标题样式一致。
一句话概括:原来的一个大列表,现在变成了「指令 / 我的技能 / 各插件」的分页,点一下 Tab 就切换。
二、怎么安装?
方式一:用 DSH 官方命令安装(推荐)
DSH 自带 dsh plugin 命令,一条命令就能装好(自动装依赖 + 自动挂载):
dsh plugin --profile web add @luoye233666/dsh-composer-tabs@latest
装完后完全退出并重新启动 DSH 即可生效(本插件有 Host 半区,需重启程序本体,光刷新网页不够)。
如果你的 DSH 版本较老、没有
dsh plugin命令,用下面的方式二。
方式二:用 git 克隆 + 手动挂载
如果不想发布到 npm、或 DSH 版本不支持 dsh plugin,可以克隆源码后手动挂载:
# 1. 克隆到插件目录
cd G:\软件\deepseek-harness\插件
git clone <这个仓库的地址> dsh-composer-tabs
# 2. 在 profile 里登记依赖(路径用你实际 clone 的位置,注意用正斜杠 /)
# 打开 C:\Users\<你的用户名>\.dsh\profiles\web\package.json,
# 在 dependencies 里加一行:
# "@luoye233666/dsh-composer-tabs": "link:G:/软件/deepseek-harness/插件/dsh-composer-tabs"
# 再在 dsh.profile.bundles 末尾加一行:
# "@luoye233666/dsh-composer-tabs"
# 3. 安装并重启
cd C:\Users\<你的用户名>\.dsh\profiles\web
pnpm install
然后完全退出并重新启动 DSH。
更新
- npm 方式:
dsh plugin --profile web add @luoye233666/dsh-composer-tabs@latest - git 方式:进克隆目录
git pull后pnpm install
三、怎么使用?
装好重启后,什么都不用配:
- 点输入框左下角的 加号(+),菜单顶部会出现一排 Tab
- 在输入框打
/,弹出的菜单同样有 Tab - 点某个 Tab 就切换这一页的内容
- 点技能条目,会在输入框自动填好
/技能名,回车即可使用
四、它是怎么分的?(原理,简单版)
插件不去猜「这个技能是哪个插件的」,而是直接问 DSH 要真实信息:
- 技能归属:读技能文件真实路径(
node_modules\@某插件\...、~\.dsh\skills\...、预设目录),由此判断它属于哪个插件、是不是你手放的、还是创造模式(preset)带的。 - 哪些是官方指令:只有固定的几个内置指令(compact / export / feedback / goal / permission / plan / model)算「指令」,其余按来源归类。
所以它是全自动的——你装新插件、加新技能,重启后对应的 Tab 就会自己长出来。
五、常见问题
装完没生效?
确认重启的是 DSH 程序本体,不是刷新网页;确认 pnpm install 在 profile 目录跑过。
不想用了怎么卸载?
在 profile 的 package.json 里删掉上面加的两行(dependencies 里那行 + bundles 里那行),重启 DSH 即可,界面恢复原样。
新插件带了技能,但没出现新 Tab? 先重启 DSH 试试;如果还是没有,可能是该技能没有正确的来源信息,可以向作者反馈。
六、文件结构(谁是谁)
dsh-composer-tabs/
├── src/
│ ├── host/index.js Host 端:读技能目录、判断归属
│ └── client/index.js 浏览器端:菜单 Tab 的注入与渲染
├── scripts/build.mjs 构建脚本
├── lib/ 构建产物(由 scripts/build.mjs 生成,不纳入 git)
├── cordis.patch.yml 挂载声明
└── package.json 插件名片
七、想自己改?
改完 src/ 下的源码后,在插件目录运行:
node scripts/build.mjs
再重启 DSH 生效。
No comments yet. Be the first to write one.