DeepSeek CLI
Unofficial terminal UI (TUI) + CLI for the DeepSeek platform: chat with DeepSeek models and run an approval-gated tool-using agent.
Not affiliated with DeepSeek Inc.
Quickstart
- Get an API key from https://platform.deepseek.com
- Install and run:
- Press
F1or run/helpfor the in-app command list - If anything looks off, run
deepseek doctor
Install
Prebuilt via npm/bun (recommended)
The npm package is a thin wrapper that downloads the platform-appropriate Rust binary from GitHub Releases.
# installs `deepseek`
From crates.io (Rust)
Build from source
Direct download
Download a prebuilt binary from https://github.com/Hmbown/DeepSeek-TUI/releases and put it on your PATH as deepseek.
Configuration
On first run, the TUI can prompt for your API key and save it to ~/.deepseek/config.toml. You can also create the file manually:
# ~/.deepseek/config.toml
= "YOUR_DEEPSEEK_API_KEY" # must be non-empty
= "deepseek-chat" # optional
= false # optional
= 3 # optional (1-5)
Useful environment variables:
DEEPSEEK_API_KEY(overridesapi_key)DEEPSEEK_BASE_URL(default:https://api.deepseek.com; China users may usehttps://api.deepseeki.com)DEEPSEEK_PROFILE(selects[profiles.<name>]from the config; errors if missing)DEEPSEEK_CONFIG_PATH(override config path)DEEPSEEK_MCP_CONFIG,DEEPSEEK_SKILLS_DIR,DEEPSEEK_NOTES_PATH,DEEPSEEK_MEMORY_PATH,DEEPSEEK_ALLOW_SHELL,DEEPSEEK_MAX_SUBAGENTS
See config.example.toml and docs/CONFIGURATION.md for a full reference.
Modes
In the TUI, press Tab to cycle modes: Normal → Plan → Agent → YOLO → RLM → Duo → Normal.
- Normal: chat; asks before file writes or shell
- Plan: design-first prompting; same approvals as Normal
- Agent: multi-step tool use; asks before shell
- YOLO: enables shell + trust + auto-approves all tools (dangerous)
- RLM: externalized context + REPL helpers; auto-approves tools (best for large files)
- Duo: player-coach autocoding with iterative validation (based on g3 paper)
Approval behavior is mode-dependent, but you can also override it at runtime with /set approval_mode auto|suggest|never.
Tools
DeepSeek CLI exposes tools to the model: file read/write/patching, shell execution, web search, sub-agents, and MCP servers.
- Workspace boundary: file tools are restricted to
--workspaceunless you enable/trust(YOLO enables trust automatically). - Approvals: the TUI requests approval depending on mode and tool category (file writes, shell).
- Web search:
web_searchuses DuckDuckGo HTML results and is auto-approved. - Skills: reusable workflows stored as
SKILL.mddirectories (default:~/.deepseek/skills). Use/skillsand/skill <name>. - MCP: load external tool servers via
~/.deepseek/mcp.json(supportsserversandmcpServers). MCP tools currently execute without TUI approval prompts, so only enable servers you trust. Seedocs/MCP.md.
RLM
RLM mode is designed for “too big for context” tasks: large files, whole-doc sweeps, and big pasted blocks.
- Auto-switch triggers: “largest file”, explicit “RLM”, large file requests, and large pastes.
- In RLM mode,
/load @pathloads a file into the external context store (outside RLM mode,/loadloads a saved chat JSON). - Use
/replto enter expression mode (e.g.search(\"pattern\"),lines(1, 80)). - Power tools:
rlm_load,rlm_exec,rlm_status,rlm_query.
rlm_query can be expensive: prefer batching and check /status if you're doing lots of sub-queries.
Duo Mode
Duo mode implements the player-coach autocoding paradigm for iterative development with built-in validation:
- Player: implements requirements (builder role)
- Coach: validates implementation against requirements (critic role)
- Tools:
duo_init,duo_player,duo_coach,duo_advance,duo_status
Workflow: init → player → coach → advance → (repeat until approved)
Examples
Shell completions:
Troubleshooting
- No API key: set
DEEPSEEK_API_KEYor rundeepseekand complete onboarding - Config not found: check
~/.deepseek/config.toml(orDEEPSEEK_CONFIG_PATH) - Wrong region / base URL: set
DEEPSEEK_BASE_URLtohttps://api.deepseeki.com(China) - Session issues: run
deepseek sessionsand trydeepseek --resume latest - MCP tools missing: validate
~/.deepseek/mcp.json(orDEEPSEEK_MCP_CONFIG) and restart
Documentation
docs/README.mddocs/CONFIGURATION.mddocs/MCP.mddocs/ARCHITECTURE.mdCONTRIBUTING.md
Development
License
MIT
DeepSeek is a trademark of DeepSeek Inc. This is an unofficial project.