dsh-tui

agent
Security Audit
Fail
Health Warn
  • License — License: NOASSERTION
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Fail
  • exec() — Shell command execution in src/chat/file-autocomplete.ts
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Claude Code-style terminal UI for DeepSeek Harness agents, as an out-of-tree dsh plugin bundle

README.md

@dsh-tui/dsh-tui

English | 中文

An interactive terminal (TUI) front door for DeepSeek Harness agents — a Claude Code / Codex-style chat interface in your terminal, installed as an out-of-tree dsh plugin bundle. Built on @earendil-works/pi-tui.

It composes over the official @deepseek-ai/dsh-base bundle, so the whole plugin ecosystem — shell and filesystem tools, skills, subagents, workflows, sandbox approvals — is the same one the official web surface uses. Nothing is forked.

A dsh-tui session

Features

  • Streaming model output and reasoning, rendered as Markdown
  • Tool-call cards with terminal / diff / generic render intents; Ctrl+O cycles collapsed → expanded → hidden
  • Approval and ask_user_question dialogs, plan-mode review included
  • @file path autocomplete and @session reference cards
  • Slash commands: /model (with reasoning-effort selection), /resume, /compact, /details, /help, and every command other plugins register
  • Standing todo panel, token usage and context-pressure status line, session titles
  • Configurable theme; truecolor detected from COLORTERM

Install

Requires Node ^22.19 || >=24 and the dsh CLI (npm i -g @deepseek-ai/dsh@next).

dsh plugin --profile tui add @dsh-tui/dsh-tui
dsh --profile tui                                      # start a session in the current directory
dsh --profile tui --resume <session-id>                # resume a persisted session

To track the repo instead of the npm release, use add github:dsh-tui/dsh-tui. Git-hosted plugins build on install via their prepare script, which pnpm blocks until you allow it: if that add fails, append the key it prints under allowBuilds in ~/.dsh/profiles/tui/pnpm-workspace.yaml and re-run —

allowBuilds:
  "@dsh-tui/dsh-tui": true

Set DEEPSEEK_API_KEY in your environment (or a .env in the launch directory or $DSH_HOME).

Local / self-hosted DeepSeek endpoints

No code changes needed — pick one:

  1. Environment: DEEPSEEK_BASE_URL=http://localhost:8000/v1 alongside DEEPSEEK_API_KEY.

  2. Settings (hot-reloaded): $DSH_HOME/settings.yaml

    llm-deepseek:
      baseURL: http://localhost:8000/v1
    
  3. OpenAI-compatible gateways (vLLM, SGLang, …): declare an llm-pi-ai route in your profile patch ($DSH_HOME/profiles/tui/cordis.patch.yml) and point the default model at it — see the dsh providers guide.

Development

pnpm install   # applies the pi-tui patch (patches/)
pnpm build     # tsc declarations + tsdown runtime bundle

pi-tui is pinned at 0.80.7 with a pnpm patch (editor prompt prefixes) and bundled into lib/ so installs outside this repo never see an unpatched copy.

Status and known limitations

  • Under active development against the pre-release @deepseek-ai/dsh rc line; expect breakage until upstream stabilizes. Peer dependencies pin the tested rc.
  • The recovered test suite (tests/) predates the port and does not run yet.
  • A real model turn requires a reachable DeepSeek-compatible endpoint; everything up to the request (composition, rendering, approvals, resume) works keyless.

Provenance and license

MIT. The TUI implementation was recovered from the DeepSeek Harness repository history (packages/ui/tui, removed upstream in commit 10bb9cbf4a) and ported to the published rc API; upstream copyright is preserved in LICENSE.

Reviews (0)

No results found