# dsh-skill-panel [English](README.md) | 中文 | [日本語](README.ja.md) DeepSeek Harness 插件:在**侧边栏底部**新增一个**技能图标按钮**(与内置"设置"按钮同款样式与交互),点击弹出悬浮窗,列出当前会话**已加载的技能**,每个技能都带**"打开本地目录"**跳转按钮,直接定位到它在磁盘上的目录。 - **零配置** — `dsh plugin add` 通过内置的 `dsh.bundle.patch` 自动挂载插件行,无需手动编辑 `cordis.patch.yml`。 - **无自定义 RPC** — 技能目录数据复用平台的 `skill.list` RPC,目录跳转复用 `host.openPath`。`directoryPath` 是宿主的可选增强字段:宿主未提供时,技能行自动隐藏文件夹按钮(悬浮窗仍正常列出全部技能)。 - **自动刷新** — 订阅宿主的 `skills/change` 事件(旧版核心自动降级为 30 秒轮询),磁盘上新增、删除或修改技能时,已打开的悬浮窗自动同步,无需关闭重开。 - **中英双语 UI** — 界面文案跟随 Web UI 的语言设置(简体中文 / English)。 ## 安装 ```sh dsh plugin --profile web add github:/dsh-skill-panel ``` 然后**重启 `dsh web`**。左侧边栏底部(设置按钮旁)会出现技能图标。点击打开技能悬浮窗;鼠标悬停在技能行上会浮现文件夹按钮。 ## 使用 - 悬浮窗展示**当前会话**的技能目录(名称、路由说明,以及适用的 `仅用户` 徽标),按会话重新获取,并与输入框 `/` 技能菜单共用同一份缓存。 - 点击技能行的文件夹图标,用宿主系统的默认应用(如 Windows 资源管理器 / macOS Finder)打开该技能的本地目录。 ## 截图 技能按钮位于左侧边栏底部、设置按钮旁: ![侧边栏底部的技能按钮](assets/skill-trigger.png) 点击后打开"已加载技能"悬浮窗: ![已加载技能悬浮窗](assets/skill-dialog.png) 鼠标悬停在技能行上会浮现 📂 文件夹按钮,点击即可打开该技能的本地目录: ![打开本地目录](assets/open-folder.png) ## 开发 ```sh npm install # 仅需 esbuild npm run build # 打包 src/client.jsx -> lib/client.js(安装时 prepare 钩子也会执行) ``` 客户端产物是单个 CJS 文件;`@deepseek-ai/*` 与 react 系列模块保持 external,因为 dsh 外壳把它们作为平台静态模块提供。**请把 `lib/client.js` 提交进仓库**——git 方式安装直接消费构建产物。 ## 许可 [MIT](LICENSE)