Bundle
@luoye233666/dsh-composer-tabs
输入框菜单 Tab 增强:为加号菜单与 / 弹窗添加「指令 | 我的技能 | 插件来源」分页 Tab
- Source
- W233666
- License
- MIT
- Updated
- Updated 22 hours ago
Readme
# dsh-composer-tabs —— 输入框菜单 Tab 分页插件 给 DeepSeek Harness(DSH)的输入框菜单加一层 **Tab 分页**:把原来挤在一个列表里的「指令、技能、插件自带的技能」按来源分成一个个页面,找东西更快更清楚。 不用改任何代码,装好重启后自动生效;以后新装插件带了新技能,也会**自动多出一个对应的 Tab**,旧的不受影响。 --- ## 一、它做了什么? 在下面**两个菜单**里都加了 Tab 页: 1. 输入框左下角的 **加号(+)菜单** 2. 输入框打 **`/`** 弹出的菜单 Tab 的顺序是固定的: ``` ① 指令 系统内置的指令(如 /plan、/goal、/permission …) ② 我的技能 你自己放进技能目录的技能文件 ③ 创造模式技能 当前预设(preset)自带的技能;没有就不显示这一页 ④ 各插件 每个插件带的技能各占一页(按名字排序) ⑤ 内置技能 随包分发的技能 ⑥ 其他 无法归类的内容 ``` 每个页面内,条目上方会有一个灰色小标题标明来源,和原版菜单的分组标题样式一致。 **一句话概括**:原来的一个大列表,现在变成了「指令 / 我的技能 / 各插件」的分页,点一下 Tab 就切换。 --- ## 二、怎么安装? ### 方式一:用 DSH 官方命令安装(推荐) DSH 自带 `dsh plugin` 命令,一条命令就能装好(自动装依赖 + 自动挂载): ```sh dsh plugin --profile web add @luoye233666/dsh-composer-tabs@latest ``` 装完后**完全退出并重新启动 DSH** 即可生效(本插件有 Host 半区,需重启程序本体,光刷新网页不够)。 > 如果你的 DSH 版本较老、没有 `dsh plugin` 命令,用下面的方式二。 ### 方式二:用 git 克隆 + 手动挂载 如果不想发布到 npm、或 DSH 版本不支持 `dsh plugin`,可以克隆源码后手动挂载: ```sh # 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/` 下的源码后,在插件目录运行: ```sh node scripts/build.mjs ``` 再重启 DSH 生效。
Install
dsh plugin --profile web add github:W233666/dsh-composer-tabs
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install luoye233666-dsh-composer-tabs from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.