Evidence snapshot reviewed Aug 20, 2026GitHub checked Aug 21, 2026
Evidence-verifiedPlugin BundleDsh Cctui Profile

dsh-ccTUI

A Claude-style terminal UI bundle for Deepseek-Harness with streaming transcripts, tool trails, approvals, and session controls.

At a glance

What it does

A Claude-style terminal UI bundle for Deepseek-Harness with streaming transcripts, tool trails, approvals, and session controls.

Use cases
Terminal UiAgent WorkflowSession ManagementTool Review
Works with
Deepseek HarnessDshNodejs
Compatibility

Dsh Cctui Profile
@deepseek-ai/cordis ^4.0.1; dsh-agent, dsh-llm, dsh-session, and dsh-tools ^0.1.0-rc.7; schemastery ^3.18.1

Trust & status

Evidence-verified
Checked Aug 20, 2026, 12:08 PM UTC

Code-evidenced contributions

What it adds to DSH

Terminal UIClaude-style terminal interface

Provides streaming transcripts, tool trails, approval prompts, plan review, session switching, and model selection in a terminal UI.

Mechanism evidence
Agent Presetsdsh-cctui profile bundle

Packages a dsh bundle with a profile-oriented launch flow and a cordis patch manifest.

Mechanism evidence

Before you choose it

dsh-ccTUI is presented as an in-process terminal interface for Deepseek-Harness. Its README describes a streaming markdown transcript, tool-result views, approval and question prompts, plan review, session switching, slash commands, and model selection.

Best for

DSH users who want a keyboard-oriented terminal interface for Deepseek-Harness sessions.

Common tasks

  • Review tool activity in a terminal
  • Manage and resume sessions
  • Inspect approval and plan prompts

Permissions and data

The interface operates against configured harness services and may use local credentials and filesystem capabilities through the harness.

Permissions
  • Uses Deepseek-Harness services described by the README
  • May access local files through harness tools when the user grants or configures those capabilities
Data handling
  • The README says the TUI does not store the API key itself
  • Requests are handled by the configured harness and provider; this pipeline did not test data flows
External services
  • Deepseek-Harness services
  • A configured model/provider
  • DeepSeek API when configured
Credentials
  • A DeepSeek API key may be configured through the harness credential store or environment as described in the README
  • Users are responsible for file permissions and credential management

Limitations

  • No runtime or installation test was performed
  • The npm channel was not found for dsh-cctui@0.3.16
  • The prepare lifecycle script was not executed
  • The Git Bundle evidence does not establish runtime compatibility or performance

What DSHub checked

  • The repository was observed at commit a19f0fa8c02e59079d4117f09976abbdb7293f09
  • The package manifest, bundle patch, and installer were captured
  • The README was captured and pinned to the observed commit
  • The Git Bundle structure and installer checks passed

What DSHub did not check

  • Runtime behavior, performance, and harness compatibility
  • Behavior of the prepare lifecycle script
  • npm registry availability and integrity for dsh-cctui@0.3.16
  • Credential and external-service behavior at runtime

Pinned install

Install dsh-ccTUI

./install.sh
TargetDsh Cctui ProfilePackageagentforce314/dsh-ccTUI#a19f0fa8c02e59079d4117f09976abbdb7293f09CheckedAug 20, 2026, 12:08 PM UTC

The copy action is fixed to the reviewed package version. Evidence-verified confirms structure and distribution; it is not a security certification or runtime guarantee.

Upstream project

Project README

View at commit a19f0fa
Maintainer-authored contentCaptured from README.md on Aug 20, 2026. The text and repository-relative media are fixed to commit a19f0fa8c02e with content hash bbdc179b1353; provider-hosted badges may update independently. README commands are upstream documentation; the DSHub copy action above is the verified, version-pinned install.

dsh-ccTUI

Claude Code style TUI for Deepseek-Harness — 🐳 ported from the clawcodex ui-tui and packaged as a dsh bundle plugin (npm package dsh-cctui).

The full Claude-Code-style look, feel, and interactions — streaming markdown transcript, tool trail with diff cards, approval and question prompts, plan review, session switcher and resume, slash commands, model picker, context bar — running in-process against harness services (ctx.agents, session/event, the approval waterfall, ctx.userQuestions, ctx.commands).

 ██████╗ ███████╗██╗  ██╗         ██████╗ ██████╗████████╗██╗   ██╗██╗
 ██╔══██╗██╔════╝██║  ██║        ██╔════╝██╔════╝╚══██╔══╝██║   ██║██║
 ██║  ██║███████╗███████║ █████╗ ██║     ██║        ██║   ██║   ██║██║
 ██║  ██║╚════██║██╔══██║ ╚════╝ ██║     ██║        ██║   ██║   ██║██║
 ██████╔╝███████║██║  ██║        ╚██████╗╚██████╗   ██║   ╚██████╔╝██║
 ╚═════╝ ╚══════╝╚═╝  ╚═╝         ╚═════╝ ╚═════╝   ╚═╝    ╚═════╝ ╚═╝
 🐳 Claude Code style TUI for Deepseek-Harness

 ╭─── dsh-ccTUI v0.3.0 ─────────────────────────────────────────────────────────────────────────╮
 │                                                                                              │
 │           Welcome back, you                 │ ▾ Available Tools                              │
 │                                             │ harness: bash, create_goal, edit, …+22         │
 │                    : ' :                    │                                                │
 │                 ___'_______                 │ ▸ Available Skills (0)                         │
 │               /'  o        \--.             │                                                │
 │              |              ___\            │ ────────────────────────────────────────────── │
 │               \____________/  \/            │ 25 tools · 0 skills · /help for commands       │
 │                  \__/  \__/                 │                                                │
 │                                             │                                                │
 │                ────────────                 │                                                │
 │           Model deepseek-v4-flash           │                                                │
 │   Path ~/workspace/dsh-ccTUI                │                                                │
 │    Perms Ask for approval · /permissions    │                                                │
 │ Session cctui-56b37bee-41fd-4feb-b270-5988… │                                                │
 │                                                                                              │
 ╰──────────────────────────────────────────────────────────────────────────────────────────────╯

Install

Requires Node ≥ 22.19, npm, pnpm, and the dsh CLI (npm install -g @deepseek-ai/dsh).

git clone https://github.com/agentforce314/dsh-ccTUI.git
cd dsh-ccTUI
./install.sh           # builds, then: dsh plugin --profile dsh-cctui add "$PWD"
dsh --profile dsh-cctui # launch (or ./bin/dsh-cctui.js)

Model/provider configuration comes from your dsh profile (agent-default-model settings or an - id: cctui config override in the profile's cordis.patch.yml: provider, model, cwd, sessionId).

API key

The TUI stores no key; the harness resolves one per request. Write it to the managed store at $DSH_HOME/.credentials.yaml (default ~/.dsh/.credentials.yaml) — a YAML mapping of credential reference to value and nothing else:

DEEPSEEK_API_KEY: sk-…

chmod 600 that file and chmod 700 ~/.dsh: dsh-credentials-local refuses to read a document carrying any group or other permission bit, and fails at boot naming the repair. The document is watched, so a key stored while the TUI is running takes effect on the next request — first run is "browse models, store the key, prompt again", no restart in between. Until one resolves, the route stays registered and /model stays browsable; it is the request that fails, with MISSING_CREDENTIAL naming every entry point it looked at.

The launching environment beats the store (DEEPSEEK_API_KEY=… dsh --profile dsh-cctui) and is deliberately read-only from inside; the store in turn beats <cwd>/.env and ~/.dsh/.env. Keep the key itself out of cordis.patch.yml — adapter config carries only apiKeyEnv, the reference to resolve. One key covers both the conversation and the web_search tool.

Mode 0600 stops other OS users, not the model: the harness never hands it the document's path and never loads the value into the environment, but bash and the filesystem tools run as you and the shipped policy confines writes rather than reads.

Highlights

  • Conversation loop: streamed deltas render live; reasoning behind Ctrl+O/Ctrl+R density toggles; busy verbs and spinners; Esc interrupts (Ctrl+C never kills the app).
  • Tools: Claude-style ⏺ Tool(args) / ⎿ result trail, each result summarised the way the original does it — Read 3 lines, Found 37 files, Received 1.2KB (200 OK), Did 1 search in 2s — with a failed call carrying the tool's own message and a running one its own clock; write/edit diffs render as structured diff cards; sandbox-escalation approvals pop the approval box (1 approve / 2+Enter deny); todo lists pin under the busy line.
  • Subagents: a delegation reads ⏺ Subagent(Review the diff) / ⎿ Done (2 tool uses · 1.2k tokens · 11s), and its children stream into /agents — goal, live tool calls, tokens, spawn tree.
  • Sessions: /sessions (Ctrl+X) lists live and persisted sessions; /resume <id> replays a persisted transcript, tool results and all; /new, /title, /rename.
  • Commands: every harness ctx.commands entry (e.g. /plan, /goal) appears in the completion menu and dispatches through the harness; /model opens the picker backed by the llm catalog; /effort, /context, /usage, /help, /status.
  • Modes: Shift+Tab cycles default → plan → bypassPermissions (mapped onto the harness plan-mode controller and approval policy).

Configuration

Environment knobs use the DSH_CCTUI_ prefix — e.g. DSH_CCTUI_INLINE=0 (alternate screen instead of inline scrollback), DSH_CCTUI_THEME=light|dark, DSH_CCTUI_HOME (data dir, default ~/.dsh-cctui), DSH_CCTUI_FPS=1. CLAUDE_CODE_SCROLL_SPEED is still honored as a migration fallback for people coming from Claude Code.

Development

npm install
npm run typecheck && npm test    # 149 files / ~1900 tests
npm run e2e                      # PTY e2e against a real dsh boot + scripted LLM
npm run e2e:install              # the real `dsh plugin add` install path

Tool rows are the fiddliest surface to eyeball, so they have their own harness: python3 scripts/tool-gallery.py [tool…] [--expand] drives a real dsh boot through one harness tool per scenario (via the scripted test/e2e/probe-llm.mjs) and prints the trail it rendered — the thing to diff against the same call made to Claude Code.

Versioning

Each shipped change increments the patch digit by one; it runs to 99 before rolling over into the minor digit:

0.2.0 → 0.2.1 → … → 0.2.13 → … → 0.2.99 → 0.3.0 → 0.3.1 → …

Write patch numbers without leading zeros (0.3.1, not 0.3.01 — the latter is not valid semver and npm rejects it). Bump package.json in the change's own commit, then tag v<version> on main after it merges.

Architecture and porting details: docs/ARCHITECTURE.md, docs/PLAN.md, docs/PORTING-NOTES.md. The adapter boundary (src/harness/ is the only place that may import @deepseek-ai/*) is CI-gated.

Provenance & license

MIT. Substantial portions are ported from the MIT-licensed clawcodex ui-tui (including its forked Ink renderer) with integration patterns from the MIT-licensed dsh-TUI project — see NOTICE.md.

Operate deliberately

Install and manage

Prerequisites and target Profile

Target Dsh Cctui Profile

Delivery Dsh Bundle Git — agentforce314/dsh-ccTUI#a19f0fa8c02e59079d4117f09976abbdb7293f09

Verify, update, and remove

Show lifecycle commands
Verify
dsh plugin --profile dsh-cctui list

Compatibility and access

Node.js >=22.19 and listed Deepseek Harness peers required; runtime untested. @deepseek-ai/cordis ^4.0.1; dsh-agent, dsh-llm, dsh-session, and dsh-tools ^0.1.0-rc.7; schemastery ^3.18.1

Review compatibility evidence

Risk facts

Lifecycle Script

The manifest declares a prepare lifecycle script; this pipeline did not execute it.

Evidence
Credentials

The README describes DeepSeek API key configuration and filesystem credential permissions; users manage credentials themselves.

Evidence
External Service

The TUI depends on Deepseek-Harness services and a configured model/provider.

Evidence
Evidence and editorial reviewManifest, Bundle patch, distribution and freshness

Immutable evidence

Review status and source activity

AI reviewed

Content uses only the supplied pinned repository evidence. The npm and lifecycle soft checks are resolved by the fixed Git Bundle alternative; final publication still depends on the shared gate.

AI reviewed Aug 20, 2026, 12:10 PM UTCGitHub facts last checked Aug 20, 2026, 12:10 PM UTC

No material source change has been recorded since this evidence baseline.

Next step

Follow the Plugin installation workflow

Subscribe to material changes for dsh-ccTUI