# dsh-skill-panel [English](README.md) | [中文](README.zh.md) | [日本語](README.ja.md) DeepSeek Harness plugin: a **skill trigger in the sidebar foot** that opens a dialog (same form and feel as the built-in Settings dialog) listing the current session's **loaded skills**, each with an **"open local folder"** jump to its directory on disk. - **Zero configuration** — `dsh plugin add` wires the plugin row automatically via the bundled `dsh.bundle.patch`; no `cordis.patch.yml` edits. - **No custom RPC** — the catalog rides the platform's `skill.list` RPC and folder jumps ride `host.openPath`. The `directoryPath` field is an optional host enhancement: on hosts that do not expose it, rows simply render without the folder button (the dialog still lists every skill). - **Auto-refresh** — the host's `skills/change` event (plus a 30s poll fallback for older cores) keeps an open dialog in sync when skills are added, removed, or edited on disk — no reopening, no manual refresh. - **Bilingual** — simplified Chinese and English UI copy follows the web UI's locale. ## Install ```sh dsh plugin --profile web add github:/dsh-skill-panel ``` Then **restart `dsh web`**. A skill icon appears at the bottom of the left sidebar (beside Settings). Click it to open the skills dialog; hover a skill row to reveal its folder button. ## Usage - The dialog shows the **current session's** skill catalog (name, routing description, and a `user-only` badge where applicable), re-fetched per-session and cached alongside the composer's `/` skill menu. - Click the folder icon on a row to open that skill's local directory with the Host's default application (e.g. Explorer / Finder). ## Screenshots The skill trigger sits at the bottom of the left sidebar, beside Settings: ![Skill trigger in the sidebar foot](assets/skill-trigger.png) Clicking it opens the loaded-skills dialog: ![Loaded-skills dialog](assets/skill-dialog.png) Hovering a skill row reveals the folder button that opens that skill's local directory: ![Open local folder](assets/open-folder.png) ## Development ```sh npm install # esbuild only npm run build # bundles src/client.jsx -> lib/client.js (also runs via prepare on install) ``` The client bundle is a single CJS file; `@deepseek-ai/*` and react-family modules stay external because the dsh shell provides them as platform-static modules. **Commit `lib/client.js`** — git-hosted installs consume the built artifact directly. ## License [MIT](LICENSE)