dsh-voice-prompt-compressor
Compress verbose voice-dictation text into token-efficient prompts — fully local, zero LLM tokens.
A DeepSeek Harness (DSH) plugin that removes filler words, repetitions, and politeness padding from speech-to-text / dictation output, then helps organize the result into a structured prompt (Context / Goal / Constraints / Deliverables).
Features
- Deterministic local compression — normalize → strip fillers → strip politeness → dedupe.
No network, no LLM call, no tokens spent.
- Bilingual wordlists — Chinese and English fillers, hedges, and politeness phrases;
auto
language detection by CJK ratio.
compress_voice_texttool — callable by the agent; returns compressed text plus savings stats
(estimatedTokensSaved, ratio, removed counts per category).
- Bundled skill
voice-prompt-compressor— auto-triggers when the user pastes rambling
dictation, and organizes the compressed text into a four-section prompt.
- Configurable —
mode(light / balanced / aggressive) andkeepPolitenessoverridable in
your profile patch layer.
Install
# local development install (file: reference)
dsh plugin --profile web add /path/to/dsh-voice-prompt-compressor
# after publishing to npm
dsh plugin --profile web add dsh-voice-prompt-compressorNote: dist/ is not committed — after cloning, run npm install && npm run build before installing.
Refresh the web page after installing. The plugin registers a tool and a skill; both become available in new sessions.
Usage
Skill (recommended): paste rambling voice dictation into the chat. The agent loads the voice-prompt-compressor skill, calls compress_voice_text, and presents a compressed four-section prompt (Context / Goal / Constraints / Deliverables).
Tool: the agent can call compress_voice_text directly with these parameters:
| Parameter | Type | Default | Description | | ---------------- | -------------------- | ---------- | --------------------------------------------- | | text | string (required) | — | The dictation / transcript text to compress | | language | auto \| zh \| en | auto | Wordlist language; auto detects by CJK ratio | | mode | light \| balanced \| aggressive | config | Compression strength | | keepPoliteness | boolean | config | Keep politeness phrases when true |
The tool returns:
{
"compressed": "…",
"originalLength": 512,
"compressedLength": 210,
"estimatedTokensSaved": 76,
"ratio": 0.59,
"removedCategories": { "fillers": 18, "repeats": 3, "politeness": 2 }
}Config
Override in your profile patch layer (same id):
- insert:
- id: voice-prompt-compressor
config:
mode: balanced # light | balanced | aggressive
keepPoliteness: falseHow it works
The pipeline is purely mechanical and deterministic:
1. normalize — full-width alphanumerics to half-width, unify whitespace. 2. strip-fillers — remove filler words and discourse markers (嗯, 那个, 就是说, 然后, um, like, you know, basically, …). Ambiguous demonstratives (那个 / 这个 / 就是) are only removed adjacent to punctuation or whitespace in balanced mode; aggressive removes them anywhere plus hedges (说实话, frankly, …). 3. strip-politeness — remove politeness padding (麻烦你, please, could you, thanks, …) unless keepPoliteness: true. 4. dedupe — collapse adjacent repeats (不对不对 → 不对, very very → very).
Compression is mechanical only — it never rewrites meaning. Technical requirements, constraints, edge cases, and business rules are preserved verbatim.
Development
npm install
npm test # builds then runs node --test
npm run typecheckPublishing
1. Push the repo to GitHub. 2. (Optional) npm publish. 3. Submit to the DSH plugin market: open an issue/PR at dsh-market/dsh-market or register at https://awesome-dsh-plugin.com.
License
MIT