Skip to content

dsh-tui

Repo box/github.com/opencharly/pod-dsh:v2026.279.1210

Installs the dsh-TUI terminal-UI plugin (@deepseek-harness-tui/dsh-tui 0.13.0) into the dsh-tui profile of the DeepSeek Harness and exposes it as a typed terminal channel. The candy ships a package.json pinning the plugin, which the npm builder installs globally under NPM_CONFIG_PREFIX (~/.npm-global) so the dsh-tui / dst launcher is on PATH; it composes the dsh CLI candy (which requires nodejs

=22.19.0 and pnpm >=10 — dsh plugin delegates installs to pnpm). The TUI is added to the profile by dsh plugin --profile dsh-tui add … at build time, so a fresh container needs no network to launch it. The first-run wizard is pre-recorded and the launchpad disabled, so the TUI lands on the chat screen deterministically; the published terminal_profile + agent_provide tmux channel let a disposable R10 bed launch, snapshot, type into, and read the TUI. The candy writes the ollama-cloud LLM route to ~/.dsh/cordis.patch.yml; the route authenticates with OLLAMA_API_KEY from the dsh credential store (the launch environment, ~/.dsh/.env, or the config UI) — the key is not part of this candy and a provider turn needs it. Every fact is observable: the dsh-tui launcher at ~/.npm-global/bin/dsh-tui, the profile manifest at $DSH_HOME/profiles/dsh-tui/package.json, dsh-tui version printing the launcher AND profile versions, and the plugin listed by dsh plugin --profile dsh-tui list.

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
run create the dsh-tui prefs directory
run pre-record the dsh-TUI first-run wizard so the channel reaches the chat screen deterministically
run pre-record the dsh-TUI workspace home as seen so the channel boots the chat composer, not the first-run home
run install the ollama-cloud LLM route as the dsh home-level patch (applies to every profile)
run run the auto-detected npm builders (install the dsh CLI + the dsh-tui launcher globally)
run add the dsh-TUI plugin to the dsh-tui profile so a fresh container needs no network to launch it
check the dsh-tui launcher is installed into the npm global bin directory
check the dsh-tui plugin is unpacked under the npm global lib directory
check the dsh-TUI plugin is added to the dsh-tui profile at build time
check the launchpad is disabled so the terminal channel reaches the composer
check the first-run wizard is recorded so the channel does not open on it
check the workspace home is recorded as seen so the channel boots the composer on first launch
check running dsh-tui version exits cleanly and reports the launcher and profile versions
check running dsh-tui help exits cleanly and prints the command surface