dsh-better-command
No description
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 29, 2026
- Updated
- Aug 29, 2026
Introduction
dsh-better-command
Lovstudio's slash-menu matching upgrade for the DeepSeek Harness web surface. The plugin provides the slashMatcher service — a separator-transparent, abbreviation-aware candidate ranker — that the / menu sources (ui-commands and ui-skill) consult at candidate time. With the plugin mounted, dshp matches dsh-plugin-creator, dbc matches dsh-better-command, and dsh-p matches dsh-plugin-creator.
This is a Lovstudio plugin, not a DeepSeek-AI package, distributed under the @lovstudio scope.
What it does
The slash pipeline asks each / source for menu candidates per keystroke. The harness command source filters by ordered-subsequence matching; the skill source filters by literal name prefix — so a skill like dsh-plugin-creator is unreachable by typing dshp. The harness ships the SlashMatcher extension point (in dsh-client-ui-input-trigger's frozen trigger contract): a source may consult the slashMatcher service at candidate time and must keep its built-in filter when the service is absent. This plugin provides that service:
-,_,., and whitespace are transparent in names and queries (dshpmatchesdsh-plugin-creator).- Word-initial abbreviations score at boundaries (
dbcmatchesdsh-better-command). - Matching is case-insensitive and name-only; descriptions never match.
- Ranking tiers: literal prefix > separator-stripped prefix > boundary-weighted subsequence score; equal scores keep source order.
The plugin is fully self-contained: it imports no @deepseek-ai runtime symbols (the service contract is a structural mirror), and its browser half is served to the page by the client module system once composed.
Install
Plugins distribute as a bundle (dsh.bundle.patch → cordis.patch.yml). Install into the web profile (the one dsh web boots):
# from git (append #<sha> to pin a commit)
dsh plugin --profile web add github:lovstudio/dsh-better-command
# or straight from npm
dsh plugin --profile web add @lovstudio/dsh-better-command
The client half (dsh.client) is served to the page automatically by the client module system once the plugin is composed — no rebuild of the web application is needed.
Use
- Start the web UI:
dsh web. - Type
/in the composer and start an abbreviation:/dshp,/dbc,/dsh-p. - The menu surfaces the hyphenated commands and skills the default filters would miss.
Notes
- Requires a harness build that ships the
SlashMatcherextension point and the ui-commands / ui-skill wiring that consults it (the frozen trigger contract indsh-client-ui-input-trigger). Absent the extension point, the harness sources never read the service and the plugin is inert. - Uninstalling the plugin restores the built-in filters exactly: the extension point is opt-in and no harness source depends on the service.
- Matching is a per-keystroke browser computation; it never reaches a model request or the session log.