Skip to content
dsh.fish
Bundle

dsh-voice-prompt-compressor

DSH plugin: compress verbose voice-dictation text into token-efficient prompts, fully local.

Source
yuzh1090
License
MIT
Updated
Updated 18 days ago

Readme

# 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_text` tool** — 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) and `keepPoliteness` overridable in
  your profile patch layer.

## Install

```bash
# 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-compressor
```

**Note:** `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:

```json
{
  "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`):

```yaml
- insert:
    - id: voice-prompt-compressor
      config:
        mode: balanced      # light | balanced | aggressive
        keepPoliteness: false
```

## How 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

```bash
npm install
npm test        # builds then runs node --test
npm run typecheck
```

## Publishing

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](https://github.com/dsh-market/dsh-market) or register at
   https://awesome-dsh-plugin.com.

## License

MIT

Install

dsh plugin --profile web add github:yuzh1090/dsh-voice-prompt-compressor

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source