fan56/dsh-tui-pi8

@aiwayds/dsh-tui-pi

A fully-featured pi-style terminal UI for DeepSeek Harness (dsh) — history look-back & fork-at-turn, guided preset switching, live subagent steering, model profiles & themes

包名
@aiwayds/dsh-tui-pi
版本
2.7.0
许可证
MIT
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:fan56/dsh-tui-pi

Configuration

Every knob lives under the dsh-tui settings namespace in ~/.dsh/settings.yaml (note the section name: dsh-tui). Theme / panel height / footer hints / icon set are applies: 'live' — a committed change hot-applies to the running TUI, no restart:

KeyDefaultMeaning
themeautoColor scheme: auto (follow the terminal) / light / dark / any registered theme name (/theme writes back to the same key)
panelHeight'1'Think/tool panel height: '1' / '5' / '7' / '10' / 'all' (full content)
maxAgents4Max concurrently running subagents, 0 = unlimited (hot-tunable in /agents → l limits)
maxRounds75Max assistant messages per subagent before a wrap-up request is injected; 0 = unlimited
maxRoundsGrace7Grace rounds after the wrap-up before the child is force-stopped (session preserved, resumable); 0 = warn only
disableSubagenttrueDisable the native subagent tool; delegation goes through registered agents (~/.dsh/agents/*.md); subagent_fork/workflow/ralph stay available
footerHintsall truePer-segment footer hint toggles: send/stop/quit/quitEmpty/subagents/search/history
cacheHitModelastMessageFooter CH segment scope: lastMessage — the latest assistant message's cache-hit rate, matching the pi-tui footer (default); session — cumulative over the whole session
iconSetautoauto/nerdfont/plain — powerline glyphs adapt to your font; install a Nerd Font with node scripts/install-font.mjs
rememberPresettrueRemember the last /preset selection per workspace (keyed by directory) and start the next launch there — the first session composes under it instead of the server-side default. false always starts on the server default. The memory itself lives in $DSH_HOME/workspace-presets.json
favoriteModels[]Favorite models (provider/id), pinned to the top of the /model picker
hiddenModels[]Hidden models (provider/id), moved to the picker's Hidden section (f favorites / h hides inside the picker — both persist to these keys)

Session-store knobs (env overrides DSH_TUI_RETENTION_* / DSH_TUI_RESUME_*; precedence: settings.yaml > env > default):

dsh-tui:
  retention:        # startup janitor for ~/.dsh/sessions — DELETES old logs. Once per startup.
    maxCount: 100   # <= 0 disables the janitor
    maxAgeDays: 30
    minIdleHours: 24
  resume:           # /resume display filter — only HIDES picker rows, never deletes.
    maxAgeDays: 30
    minBytes: 1024

Key remaps live in ~/.dsh/keybindings.json (keyboard section above); DSH_TUI_COPY_ON_SELECT=0 keeps drag-selection visual-only.

The plugin ships a bundled skill (dsh-tui-pi-config): ask the agent to "configure the TUI" and the guide loads automatically — it collects your choices interactively via ask_user_question (theme, panel height, subagent concurrency) and writes the dsh-tui: section for you. The full key table and the DSH_TUI_* env var list live in skills/dsh-tui-pi-config/SKILL.md.