farchanjo/caveman-plugin-dsh ↗★ 0

caveman-plugin-dsh

Caveman voice for DSH with Jev decision model support (TypeSafe or OpenRouter): terse replies, typed intent toggles, plugin-only.

包名
caveman-plugin-dsh
兼容性
待验证
Cordis 依赖范围
^4.0.1
版本
0.6.1
许可证
MIT AND Apache-2.0
最近更新
2026年10月28日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:farchanjo/caveman-plugin-dsh

Usage

/caveman (or /caveman help) opens a text wizard in the footer:

1on 2off 3st 4cav 5ultra 6mega · 7jev+ 8jev- 9key- 10ls 11url 12key+ q

Type the number; the footer repaints with the new state and nothing is sent to the model. q closes, any other text closes the menu and goes through as a normal message. Prompts (key, model pick) consume the next line and stay open on a bad value, showing the reason inline; c cancels the prompt. The menu expires after 120 s.

PickActionPickAction
1voice on7jev on
2voice off8jev off
3status9clear key
4 / 5 / 6level caveman / ultracave / megacave10list models
10 / 11provider typesafe / openrouter12set key

Direct verbs still work without the menu: /caveman on, /caveman off, /caveman status, /caveman caveman|ultracave|megacave, /caveman jev on|off| , /caveman key |clear, /caveman model [list|].

Spoken phrases work too and never need a slash: "stop caveman", "normal mode", "talk like caveman", "be brief". A loose phrase ("pode voltar ao modo normal?") is disambiguated by the decision model before it is acted on.

Every change is persisted to the state file, so the mode, level and jev switch survive a restart.

Configuration

Optional keys in the profile row's config:

KeyDefaultMeaning
alwaysOntrueinitial voice mode when the file is first created
decision.timeoutMs1500hard cap per classification
decision.apiKey–inline OpenRouter key for CI, wins over the file
commandstrueregister the /caveman command
statustrueshow the TUI badge
- id: caveman-plugin-dsh
  config:
    alwaysOn: false

CAVE_DEBUG=1 appends scope/classify decisions to $TMPDIR/caveman-plugin-dsh.log.