* fix: address PR #4 follow-ups Honor low_motion in the default tool transcript path and align composer cursor padding with the rendered placeholder. Add focused regression tests for both behaviors. * lint: remove redundant imports in empty_state test, reuse create_test_app The test had inner `use` statements for Config, App, TuiOptions, and PathBuf that duplicated the module-level test imports. It also manually constructed App instead of calling the existing create_test_app() helper. * fix: replace useless format!("{text}") with text.to_string() in details_affordance_line * test: pin composer_density in cursor test to avoid sensitivity to loaded settings Settings::load() may return a non-default composer_density on some CI environments. Explicitly set ComposerDensity::Comfortable so the expected cursor position is deterministic across all platforms. * fix: make tool low_motion test robust against coarse Windows timers Use a 2× cycle offset so the animated frame index is 2 (maximally distant from 0), giving 1800 ms of headroom before the animation could wrap back to index 0. The previous 1× offset left only ~15 ms of margin, causing flaky failures on Windows where Instant resolution is approximately 15.6 ms. * fix: correct headroom comment in tool animation test (3600ms, not 1800ms) * fix: resolve lint, parity, and Windows test failures - Fix rustfmt line-length issue in history.rs tool animation test - Settings::path() now respects DEEPSEEK_CONFIG_PATH for Windows test compat - doctor_check_mcp_server recognizes Unix-style absolute paths on Windows - Use checked_sub for Instant arithmetic in web_run tests to prevent underflow on freshly-booted Windows CI runners * fix: expand ~ in DEEPSEEK_CONFIG_PATH when resolving settings path ---------
DeepSeek TUI
npm i -g deepseek-tui
A coding agent for DeepSeek models that runs in your terminal.
Quickstart
npm install -g deepseek-tui
Set your API key:
mkdir -p ~/.deepseek && echo 'api_key = "YOUR_DEEPSEEK_API_KEY"' > ~/.deepseek/config.toml
Then run:
deepseek-tui
Other install methods
# From crates.io (requires Rust 1.85+)
cargo install deepseek-tui --locked # TUI
cargo install deepseek-tui-cli --locked # deepseek CLI facade
# From source
git clone https://github.com/Hmbown/DeepSeek-TUI.git
cd DeepSeek-TUI
cargo install --path crates/tui --locked
The canonical crates.io packages for this repository are deepseek-tui and
deepseek-tui-cli. The unrelated deepseek-cli crate is not part of this
project.
What it does
An agent loop with file editing, shell execution, web.run browsing, git operations, task tracking, and MCP server integration. Context-aware memory compaction keeps long sessions on track. crates/tui remains the live shipped runtime while the workspace extraction continues.
Three visible modes (Tab / Shift+Tab to cycle):
| Mode | Behavior |
|---|---|
| Plan | Design-first — proposes before acting |
| Agent | Multi-step autonomous tool use |
| YOLO | Full auto-approve, no guardrails |
First Run Workflow
- Paste your API key in onboarding.
- Choose a mode for the task in front of you:
Planto review a plan first,Agentto let the model use tools,YOLOonly inside a trusted workspace. - Watch the status area while work is running: approvals, queued work, and active sub-agents stay there while the turn is live.
- Recover work with
Ctrl+Ror/sessionsif you need to resume an interrupted thread.
Everyday Workflows
- Use
Ctrl+Kfor the command palette when you want to switch modes, open config, resume sessions, or inspect a tool quickly. - Use
/queueto review or edit queued prompts before sending them. - Use
/subagentsto inspect background agent state when autonomous work fans out. - Use
/configto adjust approval mode, theme, sidebar focus, and other runtime preferences.
Usage
deepseek-tui # interactive TUI
deepseek-tui -p "explain this in 2 sentences" # one-shot prompt
deepseek-tui --yolo # YOLO mode
deepseek doctor # check setup
deepseek models # list available models
deepseek serve --http # HTTP/SSE API server
Controls: F1 help, Esc walks the cancel stack, Ctrl+K command palette.
Configuration
~/.deepseek/config.toml — see config.example.toml for all options.
Key environment overrides: DEEPSEEK_API_KEY, DEEPSEEK_BASE_URL, DEEPSEEK_PROFILE.
Full reference: docs/CONFIGURATION.md.
Docs
docs/ — architecture, modes, MCP integration, runtime API, and release runbooks. The live runtime still ships from crates/tui; the newer workspace crates are incremental extraction targets.
Contributing
See CONTRIBUTING.md. Not affiliated with DeepSeek Inc.
