Skip to content

Hmbown/DeepSeek-TUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

┬?

History

672 Commits
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?
┬?

­¤É│ DeepSeek TUI

This terminal-native coding agent is built around DeepSeek V4's 1M-token context window and prefix cache capability. It is distributed as a single binary and requires no Node.js or Python runtime. It also includes an MCP client, a sandbox, and a durable task queue out of the box.

ń«ĆõĮōõĖŁµ¢ć README

Install

deepseek ships as a self-contained Rust binary ŌĆö no Node.js or Python runtime is required to run it. Pick whichever path you already have on your machine; they all land the same binary on your PATH.

# 1. npm ŌĆö easiest if you already use Node. The npm package is a thin
#    installer that downloads the matching prebuilt binary from GitHub
#    Releases; it does NOT add a Node runtime dependency to deepseek itself.
npm install -g deepseek-tui

# 2. Cargo ŌĆö no Node needed.
cargo install deepseek-tui-cli --locked   # `deepseek` (entry point)
cargo install deepseek-tui     --locked   # `deepseek-tui` (TUI binary)

# 3. Direct download ŌĆö no Node, no toolchain.
#    https://github.com/Hmbown/DeepSeek-TUI/releases
#    Prebuilt for Linux x64/ARM64, macOS x64/ARM64, Windows x64.

In mainland China, speed up the npm path with --registry=https://registry.npmmirror.com, or use the Cargo mirror below.

CI npm crates.io DeepWiki

Buy me a coffee

DeepSeek TUI screenshot


What Is It?

DeepSeek TUI is a coding agent that runs entirely in your terminal. It gives DeepSeek's frontier models direct access to your workspace ŌĆö reading and editing files, running shell commands, searching the web, managing git, and orchestrating sub-agents ŌĆö all through a fast, keyboard-driven TUI.

Built for DeepSeek V4 (deepseek-v4-pro / deepseek-v4-flash) with 1M-token context window and native thinking-mode (chain-of-thought) streaming.

Key Features

  • Native RLM (rlm_query) ŌĆö fans out 1ŌĆō16 cheap deepseek-v4-flash children in parallel for batched analysis and parallel reasoning, all against the existing API client
  • Thinking-mode streaming ŌĆö watch the model's chain-of-thought unfold in real time as it works through your tasks
  • Full tool suite ŌĆö file ops, shell execution, git, web search/browse, apply-patch, sub-agents, MCP servers
  • 1M-token context ŌĆö automatic intelligent compaction when context fills up; prefix-cache aware for cost efficiency
  • Three modes ŌĆö Plan (read-only explore), Agent (interactive with approval), YOLO (auto-approved)
  • Reasoning-effort tiers ŌĆö cycle through off ŌåÆ high ŌåÆ max with Shift + Tab
  • Session save/resume ŌĆö checkpoint and resume long-running sessions
  • Workspace rollback ŌĆö side-git pre/post-turn snapshots with /restore and revert_turn, without touching your repo's .git
  • Durable task queue ŌĆö background tasks survive restarts; think scheduled automation, long-running reviews
  • HTTP/SSE runtime API ŌĆö deepseek serve --http for headless agent workflows
  • MCP protocol ŌĆö connect to Model Context Protocol servers for extended tooling; please see docs/MCP.md
  • LSP diagnostics ŌĆö inline error/warning surfacing after every edit via rust-analyzer, pyright, typescript-language-server, gopls, clangd
  • User memory ŌĆö optional persistent note file injected into the system prompt for cross-session preferences
  • Localized UI ŌĆö en, ja, zh-Hans, pt-BR with auto-detection
  • Live cost tracking ŌĆö per-turn and session-level token usage and cost estimates; cache hit/miss breakdown
  • Skills system ŌĆö composable, installable instruction packs from GitHub with no backend service required

How It's Wired

deepseek (dispatcher CLI) ŌåÆ deepseek-tui (companion binary) ŌåÆ ratatui interface Ōåö async engine Ōåö OpenAI-compatible streaming client. Tool calls route through a typed registry (shell, file ops, git, web, sub-agents, MCP, RLM) and results stream back into the transcript. The engine manages session state, turn tracking, the durable task queue, and an LSP subsystem that feeds post-edit diagnostics into the model's context before the next reasoning step.

See docs/ARCHITECTURE.md for the full walkthrough.


Quickstart

npm install -g deepseek-tui
deepseek --version
deepseek

Prebuilt binaries are published for Linux x64, Linux ARM64 (v0.8.8+), macOS x64, macOS ARM64, and Windows x64. For other targets (musl, riscv64, FreeBSD, etc.), see Install from source or docs/INSTALL.md.

On first launch you'll be prompted for your DeepSeek API key. The key is saved to ~/.deepseek/config.toml so it works from any directory without OS credential prompts.

You can also set it ahead of time:

deepseek auth set --provider deepseek   # saves to ~/.deepseek/config.toml

export DEEPSEEK_API_KEY="YOUR_KEY"      # env var alternative; use ~/.zshenv for non-interactive shells
deepseek

deepseek doctor                         # verify setup

To rotate or remove a saved key: deepseek auth clear --provider deepseek.

Linux ARM64 (Raspberry Pi, Asahi, Graviton, HarmonyOS PC)

npm i -g deepseek-tui works on glibc-based ARM64 Linux from v0.8.8 onward. You can also download prebuilt binaries from the Releases page and place them side by side on your PATH.

China / Mirror-friendly Installation

If GitHub or npm downloads are slow from mainland China, use a Cargo registry mirror:

# ~/.cargo/config.toml
[source.crates-io]
replace-with = "tuna"

[source.tuna]
registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"

Then install both binaries (the dispatcher delegates to the TUI at runtime):

cargo install deepseek-tui-cli --locked   # provides `deepseek`
cargo install deepseek-tui     --locked   # provides `deepseek-tui`
deepseek --version

Prebuilt binaries can also be downloaded from GitHub Releases. Use DEEPSEEK_TUI_RELEASE_BASE_URL for mirrored release assets.

Windows (Scoop)

Scoop is a Windows package manager. Once installed, run:

scoop install deepseek-tui
Install from source

Works on any Tier-1 Rust target ŌĆö including musl, riscv64, FreeBSD, and older ARM64 distros.

# Linux build deps (Debian/Ubuntu/RHEL):
#   sudo apt-get install -y build-essential pkg-config libdbus-1-dev
#   sudo dnf install -y gcc make pkgconf-pkg-config dbus-devel

git clone https://github.com/Hmbown/DeepSeek-TUI.git
cd DeepSeek-TUI

cargo install --path crates/cli --locked   # requires Rust 1.85+; provides `deepseek`
cargo install --path crates/tui --locked   # provides `deepseek-tui`

Both binaries are required. Cross-compilation and platform-specific notes: docs/INSTALL.md.

Other API Providers

# NVIDIA NIM
deepseek auth set --provider nvidia-nim --api-key "YOUR_NVIDIA_API_KEY"
deepseek --provider nvidia-nim

# Fireworks
deepseek auth set --provider fireworks --api-key "YOUR_FIREWORKS_API_KEY"
deepseek --provider fireworks --model deepseek-v4-pro

# Self-hosted SGLang
SGLANG_BASE_URL="http://localhost:30000/v1" deepseek --provider sglang --model deepseek-v4-flash

What's New In v0.8.12

A feature release with 20 community PRs on top of the v0.8.11 cache-maxing foundation. Full changelog.

  • Reasoning-effort auto mode ŌĆö reasoning_effort = "auto" picks the right tier from the prompt: debug/error ŌåÆ Max, search/lookup ŌåÆ Low, default ŌåÆ High
  • Bash arity dictionary ŌĆö auto_allow = ["git status"] matches git status -s but not git push. Knows git, cargo, npm, docker, kubectl, and more
  • Vim modal editing ŌĆö normal/insert mode in the composer with standard Vim keybindings
  • Skill registry sync ŌĆö /skills sync fetches and installs/updates the community registry
  • FIM edit tool ŌĆö surgical code edits via DeepSeek's /beta fill-in-the-middle endpoint
  • Large-tool-output routing ŌĆö outsized tool results get truncated previews with spillover, protecting parent context
  • Pluggable sandbox backends ŌĆö exec_shell can route to Alibaba OpenSandbox or other remote backends
  • Layered permission rulesets ŌĆö builtin/agent/user priority layers for execpolicy deny/allow rules
  • Cache-aware resident sub-agents ŌĆö file content prepended for V4 prefix-cache locality; global lease table
  • Unified slash-command namespace ŌĆö user commands with $1/$2/$ARGUMENTS templates
  • Color::Reset migration ŌĆö all hardcoded backgrounds replaced with Color::Reset for light-terminal support
  • New docs: SECURITY.md (#648), CODE_OF_CONDUCT.md (#686), zh-Hans locale activation (#652)

28 community PRs by @merchloubna70-dot. First-time contributor @zichen0116 (#686).


Usage

deepseek                                         # interactive TUI
deepseek "explain this function"                 # one-shot prompt
deepseek --model deepseek-v4-flash "summarize"   # model override
deepseek --yolo                                  # auto-approve tools
deepseek auth set --provider deepseek            # save API key
deepseek doctor                                  # check setup & connectivity
deepseek doctor --json                           # machine-readable diagnostics
deepseek setup --status                          # read-only setup status
deepseek setup --tools --plugins                 # scaffold tool/plugin dirs
deepseek models                                  # list live API models
deepseek sessions                                # list saved sessions
deepseek resume --last                           # resume the most recent session
deepseek resume <SESSION_ID>                     # resume a specific session by UUID
deepseek fork <SESSION_ID>                       # fork a session at a chosen turn
deepseek serve --http                            # HTTP/SSE API server
deepseek pr <N>                                  # fetch PR and pre-seed review prompt
deepseek mcp list                                # list configured MCP servers
deepseek mcp validate                            # validate MCP config/connectivity
deepseek mcp-server                              # run dispatcher MCP stdio server

Keyboard Shortcuts

Key Action
Tab Complete / or @ entries; while running, queue draft as follow-up; otherwise cycle mode
Shift+Tab Cycle reasoning-effort: off ŌåÆ high ŌåÆ max
F1 Searchable help overlay
Esc Back / dismiss
Ctrl+K Command palette
Ctrl+R Resume an earlier session
Alt+R Search prompt history and recover cleared drafts
Ctrl+S Stash current draft (/stash list, /stash pop to recover)
@path Attach file/directory context in composer
Ōåæ (at composer start) Select attachment row for removal
Alt+Ōåæ Edit last queued message

Full shortcut catalog: docs/KEYBINDINGS.md.


Modes

Mode Behavior
Plan ­¤öŹ Read-only investigation ŌĆö model explores and proposes a plan (update_plan + checklist_write) before making changes
Agent ­¤ż¢ Default interactive mode ŌĆö multi-step tool use with approval gates; model outlines work via checklist_write
YOLO ŌÜĪ Auto-approve all tools in a trusted workspace; still maintains plan and checklist for visibility

Configuration

User config: ~/.deepseek/config.toml. Project overlay: <workspace>/.deepseek/config.toml (denied: api_key, base_url, provider, mcp_config_path). config.example.toml has every option.

Key environment variables:

Variable Purpose
DEEPSEEK_API_KEY API key
DEEPSEEK_BASE_URL API base URL
DEEPSEEK_MODEL Default model
DEEPSEEK_PROVIDER deepseek (default), nvidia-nim, fireworks, sglang
DEEPSEEK_PROFILE Config profile name
DEEPSEEK_MEMORY Set to on to enable user memory
NVIDIA_API_KEY / FIREWORKS_API_KEY / SGLANG_API_KEY Provider auth
SGLANG_BASE_URL Self-hosted SGLang endpoint
NO_ANIMATIONS=1 Force accessibility mode at startup
SSL_CERT_FILE Custom CA bundle for corporate proxies

UI locale is separate from model language ŌĆö set locale in settings.toml, use /config locale zh-Hans, or rely on LC_ALL/LANG. See docs/CONFIGURATION.md and docs/MCP.md.


Models & Pricing

Model Context Input (cache hit) Input (cache miss) Output
deepseek-v4-pro 1M $0.003625 / 1M* $0.435 / 1M* $0.87 / 1M*
deepseek-v4-flash 1M $0.0028 / 1M $0.14 / 1M $0.28 / 1M

Legacy aliases deepseek-chat / deepseek-reasoner map to deepseek-v4-flash. NVIDIA NIM variants use your NVIDIA account terms.

DeepSeek Pro rates currently reflect a limited-time 75% discount, which remains valid until 15:59 UTC on 31 May 2026. After that time, the TUI cost estimator will revert to the base Pro rates.


Publishing Your Own Skill

DeepSeek TUI discovers skills from workspace directories (.agents/skills ŌåÆ skills ŌåÆ .opencode/skills ŌåÆ .claude/skills) and the global ~/.deepseek/skills. Each skill is a directory with a SKILL.md file:

~/.deepseek/skills/my-skill/
ŌööŌöĆŌöĆ SKILL.md

Frontmatter required:

---
name: my-skill
description: Use this when DeepSeek should follow my custom workflow.
---

# My Skill
Instructions for the agent go here.

Commands: /skills (list), /skill <name> (activate), /skill new (scaffold), /skill install github:<owner>/<repo> (community), /skill update / uninstall / trust. Community installs from GitHub require no backend service. Installed skills appear in the model-visible session context; the agent can auto-select relevant skills via the load_skill tool when your task matches their descriptions.


Documentation

Doc Topic
ARCHITECTURE.md Codebase internals
CONFIGURATION.md Full config reference
MODES.md Plan / Agent / YOLO modes
MCP.md Model Context Protocol integration
RUNTIME_API.md HTTP/SSE API server
INSTALL.md Platform-specific install guide
MEMORY.md User memory feature guide
SUBAGENTS.md Sub-agent role taxonomy and lifecycle
KEYBINDINGS.md Full shortcut catalog
RELEASE_RUNBOOK.md Release process
OPERATIONS_RUNBOOK.md Ops & recovery

Full Changelog: CHANGELOG.md.


Thanks

This project ships with help from a growing community of contributors:

  • merchloubna70-dot ŌĆö 28 PRs spanning features, fixes, and VS Code extension scaffolding (#645ŌĆō#681)
  • WyxBUPT-22 ŌĆö Markdown rendering for tables, bold/italic, and horizontal rules (#579)
  • loongmiaow-pixel ŌĆö Windows + China install documentation (#578)
  • 20bytes ŌĆö User memory docs and help polish (#569)
  • staryxchen ŌĆö glibc compatibility preflight (#556)
  • Vishnu1837 ŌĆö glibc compatibility improvements (#565)
  • shentoumengxin ŌĆö Shell cwd boundary validation (#524)
  • toi500 ŌĆö Windows paste fix report
  • xsstomy ŌĆö Terminal startup repaint report
  • melody0709 ŌĆö Slash-prefix Enter activation report
  • lloydzhou and jeoor ŌĆö Compaction cost reports
  • Agent-Skill-007 ŌĆö README clarity pass (#685)
  • woyxiang ŌĆö Windows Scoop install docs (#696)
  • wangfeng ŌĆö Pricing/discount info update (#692)
  • zichen0116 ŌĆö CODE_OF_CONDUCT.md (#686)
  • Hafeez Pizofreude ŌĆö SSRF protection in fetch_url and Star History chart
  • Unic (YuniqueUnic) ŌĆö Schema-driven config UI (TUI + web)
  • Jason ŌĆö SSRF security hardening

Contributing

See CONTRIBUTING.md. Pull requests welcome ŌĆö check the open issues for good first contributions.

Note

Not affiliated with DeepSeek Inc.

License

MIT

Star History

Star History Chart

About

Coding agent for DeepSeek models that runs in your terminal

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages