DDDPG/dsh-plugins--plugins-dsh-tab-complete ↗★ 0
dsh-tab-complete
DSH web plugin: Tab completes the highlighted slash-menu candidate in the composer (commands, skills, subagents, @-file references), without executing anything.
AI 분석
核心用途是优化 DSH 输入框的斜杠命令补全体验。适合频繁使用斜杠命令、技能或文件引用的用户,通过 Tab 键快速补全参数,避免误执行。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:DDDPG/dsh-plugins#543d4b046af0c67602be6d16cba7f6ed94239247&path:plugins/dsh-tab-completedsh-tab-complete
A DeepSeek Harness web plugin: Tab completes the highlighted slash-menu candidate in the composer input, without executing anything.
Part of the dsh-plugins collection.
Behavior
| Highlighted candidate | Tab |
|---|---|
Command with input (/goal, /feedback) | Completes /goal via the product's own claim path — the token is colored and the parameter hint shows; keep typing args, then Enter executes. |
Bare command (/compact, …) | Completes /compact as plain text with no trailing space; the menu stays open on the token, so the next Enter executes it exactly like typing it manually. |
popupSelect command (/resume, /model, …) | Completes /resume bare (no trailing space) — the menu stays open and the next Enter opens the command's second-stage selection panel; a trailing space would silently break that panel trigger. |
| Skill / subagent | Completes /skill-name / @subagent (delegated to each source's own pick). |
@-file reference (dsh-at-file) | Completes @relative/path from the candidate's value (not the display name); directory candidates keep their / suffix. |
| Menu closed | Tab keeps its default focus behavior. |
Nothing executes on Tab; popupSelect shells (/model, /resume, …) are never
opened by Tab itself — they stay ready for the user's own Enter (which opens
them via the product menu pick). IME composition is never intercepted, and Tab
with a modifier key (Shift/Ctrl/Alt/Meta) always keeps its default browser
behavior. While the menu is open but candidates are still loading, Tab keeps
focus in the composer for 1.5s, then yields to the browser default.
How it works
- Host half (
lib/index.js) is empty — it only exists so the package mounts as a loader entry. - Client half (
lib/client.js) captureskeydownon Tab while the slash menu is open (aria-activedescendant) and completes the highlighted candidate without executing it.
Install
Published on npm as dsh-tab-complete. Install into a dsh profile (bundle
channel; takes effect on the next dsh start):
dsh plugin --profile web add dsh-tab-complete
Local-dev channel (hot-applied by the running server, no restart — for developing this plugin):
./scripts/install.sh web plugins/dsh-tab-complete
Uninstall: dsh plugin --profile web remove dsh-tab-complete.