Back to home

lywusichen

dsh-skill-panel

DeepSeek Harness 技能悬浮窗插件:侧边栏技能按钮,一键查看当前会话已加载的技能并打开本地目录。

Stars
1
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026

Introduction

dsh-skill-panel

English | 中文 | 日本語

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 configurationdsh 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

dsh plugin --profile web add github:<user>/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

Clicking it opens the loaded-skills dialog:

Loaded-skills dialog

Hovering a skill row reveals the folder button that opens that skill's local directory:

Open local folder

Development

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