Files
deepseek-harness/examples/tui-agent
Tianyi Cui 78472196c8 Merge branch 'codex/goal-session' into codex/commands
# Conflicts:
#	docs/architecture.md
#	docs/capability-seams.md
#	docs/config-catalog.md
#	docs/module-graph.md
#	knip.json
#	packages/examples/README.md
#	packages/examples/stdio-demo/README.md
#	packages/examples/stdio-demo/src/index.ts
#	packages/examples/tui-demo/package.json
#	packages/ui/README.md
#	packages/ui/tui/src/index.ts
2026-07-20 22:05:51 +08:00
..
2026-07-20 19:26:04 +08:00
2026-07-20 19:26:04 +08:00
2026-07-20 19:26:04 +08:00
2026-07-20 19:26:04 +08:00

tui-agent

The full-screen interactive coding agent: DeepSeek V4, local bash and filesystem tools, compaction, subagents, workflows, todo_write, timeout/spill policy, and @deepseek-ai/dsh-tui-demo.

Run it

pnpm run demo:tui

The command needs DEEPSEEK_API_KEY in the environment or gitignored repository-root .env. Set RESUME_SESSION_ID to reopen a persisted conversation under ./.sessions.

The TUI renders Markdown history, reasoning, tool-owned terminal/diff/generic cards, token totals, and the latest todo list. Enter submits or steers while the agent runs; Ctrl+O expands cards, Ctrl+R toggles reasoning, Escape cancels, and /help lists commands. ask_user_question opens a keyboard-driven overlay.

Run pnpm run demo:code-mode tui for the Code Mode overlay.

Composition

cordis.yml owns the interactive coding composition directly. code-mode.cordis.yml includes that leaf and replaces the tool presentation mode while adding the code runtime. Non-interactive automation uses the sibling headless-agent composition.

Snapshot tests

tests/snapshots/<scenario>/session.jsonl supplies recorded user prompts and model chunks; sibling child logs drive subagents and workflows. The keyless suite executes those scripts through the real loop and tools, then compares readable terminal cell/style output. Use pnpm run test:snapshot:refresh for presentation-only changes and pnpm run test:snapshot:record with a DeepSeek key when a recorded model journey changes. The implemented TUI snapshot Agent Note owns the scenario matrix.