dsh-cli
An interactive terminal UI plugin for DeepSeek Harness.
This is dkc's independently developed fork of dsh-TUI by chimney.
Preview
Highlights
- Streaming Markdown, tool cards, images, Mermaid diagrams, and keyboard completion.
- A pixel whale, live work status, context bar, TPS gauge, and clickable timeline.
- Session management with resume, fork, rewind, background work, and export.
- DSH presets, skills, MCP, goals, subagents, provider authentication, and extensions.
- Authentication for OpenAI, Claude, OpenCode, OpenRouter, Hermes Agent, Infron, and OrcaRouter.
- Virtualized rendering and bounded caches for long sessions.
Quick Start
Requires Node.js ^22.19 || >=24, pnpm 11, a
DeepSeek Harness source
checkout with dependencies installed, and DEEPSEEK_API_KEY. We aim to support
the latest DSH release. The primary validated Harness version is 0.2.0-rc.1;
older supported versions are listed in ADAPTER.md.
Clone recursively to fetch submodules. In an existing checkout, run
git submodule update --init --recursive before installation.
git clone --recurse-submodules https://github.com/askdkc/dsh-cli.git
cd dsh-cli
pnpm install --frozen-lockfile
pnpm build
node scripts/with-publish-manifest.mjs npm pack --ignore-scripts
TARBALL="$PWD/askdkc-dsh-cli-$(node -p "require('./package.json').version").tgz"
cd ~/DIR/TO/deepseek-harness
pnpm dsh plugin --profile dsh-cli add "$TARBALL"
pnpm dsh --profile dsh-cli
Replace ~/DIR/TO/deepseek-harness with your checkout path. The first interactive
launch registers dsh-cli; open a new shell, then run it from your project directory.
To update this fork, rebuild and reinstall the tarball. /update uses the registry.
For PATH setup and install issues, see Getting started.
Use
Enter sends, Tab completes, Ctrl+Enter interrupts and sends, and double
Esc rewinds. Press ? for shortcuts.
The working-status line follows each accepted request in English, Japanese, or
Chinese. Ambiguous short requests keep that session's previous progress language;
/lang controls the rest of the interface separately.
/resume opens the session manager; /auth connects providers and /model
selects a model. /bg keeps a session running until the TUI exits. See
Interaction and commands for the full reference.
/model opens a centered picker with Favorites, Recent, and provider sections.
/model seek deep opens it with an order-independent search; an exact
/model provider/model-id switches directly. In the picker, use Ctrl+F to
toggle a favorite, Ctrl+A to connect a provider, and Esc to close.
To import Claude Code, Codex, OMP, zcode, or Grok Build conversations, run
dsh-cli migrate to see available histories, then
dsh-cli migrate <agent> [--dry-run]. Tool traffic is not imported.
See Session migration.
Documentation
- Getting started · VS Code
- Interaction · Configuration · Themes
- Architecture and limitations · All docs
- Plugin development · Contributing
Acknowledgments
The pixel whale's 22 hand-drawn frames and idle animations come from dsh-ui-whale by @lhh010 (BSD-3-Clause). Thank you for the art and inspiration 🐋💜
Community projects and companion tools: Friends' links.
License
MIT. The original copyright notice for chimney is retained; dkc's copyright notice covers the fork's independent development.
No comments yet. Be the first to write one.