DeepSeek Harness TUI

August 14, 2026 · View on GitHub

中文

A focused terminal workspace for the official DeepSeek Harness engine.
Sessions, tools, approvals, models, themes, and durable history—without cloning the Harness monorepo.

CI npm Node License

DeepSeek Harness TUI demo

Run it

npx --yes deepseek-harness-tui@latest

The npm package selects a prebuilt runtime for macOS, Linux, or Windows. Users do not need the Harness source tree, a submodule, pnpm, or a native compiler.

npx deepseek-harness-tui --cwd ./project
npx deepseek-harness-tui --model deepseek-official/deepseek-v4-flash
npx deepseek-harness-tui --resume <session-id>
npx deepseek-harness-tui --theme luna

Configure providers with the same environment variables and settings used by DeepSeek Harness. For the official API:

export DEEPSEEK_API_KEY="your-key"
npx deepseek-harness-tui

OpenAI-compatible MaaS endpoints can use DEEPSEEK_BASE_URL together with the provider configuration in your Harness settings.

What it includes

  • Durable sessions with create, resume, switch, and transcript pagination
  • Multi-turn follow-up, steering, cancellation, and model selection
  • Tool calls, approvals, structured questions, todos, and command discovery
  • Alternate-screen lifecycle, real PTY behavior, Unicode and ASCII fallbacks
  • Eight built-in themes plus persisted custom themes
  • macOS arm64/x64, Linux arm64/x64, and Windows x64 runtime packages

Theme selector

Use Ctrl+T or /themes to switch among Classic, Sakura Byte, Ocean, Ember, Aurora Pulse, Luna Circuit, Phosphor Grid, and Sunset Circuit.

Independent by design

This repository does not fork or copy the DeepSeek Harness source tree. The TUI lives at the repository root; the official engine is pinned as a Git submodule under vendor/deepseek-harness only for reproducible builds.

TUI source ── adapter/profile overlay ── pinned Harness engine
    │                                      │
    └──────── prebuilt platform runtime ───┘

The boundary has three useful properties:

  1. Users install one prebuilt package and never interact with the submodule.
  2. Dependabot proposes upstream commit updates automatically; CI builds the TUI against each proposed revision.
  3. TUI releases pin an exact tested Harness commit, so an upstream change cannot silently break an installed version.

See ARCHITECTURE.md for the update and release model.

Develop

git clone --recurse-submodules https://github.com/liang7878/deepseek-harness-tui.git
cd deepseek-harness-tui
CI=true pnpm install --frozen-lockfile
npm run check

To test a new Harness revision:

git -C vendor/deepseek-harness fetch origin
git -C vendor/deepseek-harness checkout origin/master
CI=true pnpm install --no-frozen-lockfile
npm run check

Commit the submodule pointer and refreshed lockfile only after compatibility checks pass.

MIT © liang7878