DDDPG/dsh-plugins--plugins-dsh-tab-complete0

dsh-tab-complete

DSH Web 插件:在输入框中通过 Tab 键补全高亮的斜杠菜单候选(命令、技能、子智能体、@-文件引用),而不直接执行任何内容。

AI 分析

核心用途是优化 DSH 输入框的斜杠命令补全体验。适合频繁使用斜杠命令、技能或文件引用的用户,通过 Tab 键快速补全参数,避免误执行。

套件
dsh-tab-complete
版本
0.1.1
授權
MIT
最近更新
2026年8月15日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:DDDPG/dsh-plugins#543d4b046af0c67602be6d16cba7f6ed94239247&path:plugins/dsh-tab-complete

dsh-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 candidateTab
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 / subagentCompletes /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 closedTab 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) captures keydown on 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.