DeepSeek-TUI:在终端里运行 DeepSeek 编程 Agent

整理 DeepSeek-TUI 的定位、安装方式、核心功能和使用建议:它是一个运行在终端里的 DeepSeek 编程 Agent,支持文件编辑、命令执行、Plan/Agent/YOLO 模式、Auto model、MCP、会话恢复和工作区回滚。

DeepSeek-TUI 是一个运行在终端里的 AI 编程 Agent。它围绕 DeepSeek V4 模型设计,通过 deepseek 命令启动,可以在 TUI 界面里读写文件、执行 shell 命令、搜索网页、管理 git、调用 MCP server,并支持子 Agent 协作。

它和普通聊天 CLI 的区别在于:DeepSeek-TUI 更像一个终端工作台。它不只是把问题发给模型,而是把“看代码、改文件、跑命令、检查诊断、保存会话、恢复状态”这些开发动作整合在一起。

项目仓库显示,DeepSeek-TUI 主要由 Rust 编写,许可证为 MIT。GitHub 项目描述是“Coding agent for DeepSeek models that runs in your terminal”。

它适合谁

DeepSeek-TUI 适合喜欢在终端里工作的开发者,尤其是这些场景:

  • 想用 DeepSeek 模型做代码修改和项目分析。
  • 不想打开完整 IDE,只想在终端里处理任务。
  • 希望 AI 工具能读写本地 workspace。
  • 需要 Plan、Agent、YOLO 这类不同自动化程度的模式。
  • 希望保留会话、恢复长任务、回滚工作区改动。
  • 想接入 MCP、LSP 诊断、HTTP/SSE runtime API 等扩展能力。

如果你只需要简单问答,普通 Web 端或轻量 CLI 已经够用。DeepSeek-TUI 更适合把模型真正放进本地开发流程里。

安装方式

DeepSeek-TUI 发布为 Rust 二进制程序,常用入口命令是 deepseek,配套 TUI 运行时是 deepseek-tui。README 提供了多种安装方式。

如果你已经使用 Node.js,可以通过 npm 安装:

1
2
3
npm install -g deepseek-tui
deepseek --version
deepseek --model auto

npm 包本身是安装器和 wrapper,会下载对应平台的预编译 Rust 二进制文件。npm 包要求 Node.js >=18

如果不想依赖 Node.js,也可以通过 Cargo 安装两个二进制:

1
2
cargo install deepseek-tui-cli --locked
cargo install deepseek-tui --locked

macOS 用户可以使用 Homebrew:

1
2
brew tap Hmbown/deepseek-tui
brew install deepseek-tui

也可以直接从 GitHub Releases 下载预编译版本。README 中列出的预构建平台包括 Linux x64/ARM64、macOS x64/ARM64 和 Windows x64。

Docker 运行示例:

1
2
3
4
docker run --rm -it \
  -e DEEPSEEK_API_KEY \
  -v "$PWD:/workspace" \
  ghcr.io/hmbown/deepseek-tui:latest

国内网络环境下,如果 npm 或 GitHub 下载较慢,可以使用 npm 镜像、Cargo 镜像,或者从 Releases 手动下载二进制文件。

首次配置 API Key

首次启动时,DeepSeek-TUI 会提示输入 DeepSeek API key。保存后,它会写入:

1
~/.deepseek/config.toml

也可以提前通过命令配置:

1
2
deepseek auth set --provider deepseek
deepseek auth status

如果更喜欢环境变量,也可以这样启动:

1
2
export DEEPSEEK_API_KEY="YOUR_KEY"
deepseek

配置完成后,可以用下面命令检查环境:

1
deepseek doctor

如果 deepseek doctor 提示 key 来源异常,可以用 deepseek auth status 查看当前 credential 来源。README 说明中提到,保存到配置文件的 key 优先级高于 keyring 和环境变量。

清除保存的 key:

1
deepseek auth clear --provider deepseek

Auto mode:自动选择模型和思考强度

DeepSeek-TUI 支持 auto 模式:

1
deepseek --model auto

也可以在 TUI 里使用:

1
/model auto

Auto mode 会同时决定两件事:

  • 模型:deepseek-v4-flashdeepseek-v4-pro
  • Thinking:offhighmax

它的流程是:真正执行用户任务前,先用一次较小的路由调用分析当前请求和近期上下文,然后决定本轮应该使用哪个模型和思考级别。简单问题可以走 Flash 和低思考;复杂编码、调试、架构、安全审查或多步骤任务可以切到 Pro 或更高 thinking。

需要注意的是,auto 是 DeepSeek-TUI 本地功能。上游 API 不会收到 model: "auto",而是收到 TUI 最终选择出来的具体模型和 thinking 设置。

如果你要做基准测试、控制成本,或者必须固定某个模型行为,建议直接指定模型,而不是使用 auto。

三种工作模式

DeepSeek-TUI 提供三种模式,自动化程度不同:

模式 用途
Plan 只读探索,模型先分析项目并提出计划
Agent 默认交互模式,工具调用需要 approval gate
YOLO 自动批准工具调用,适合可信 workspace

Plan 模式适合先看项目、定位问题、讨论方案。Agent 模式适合日常编码,模型可以执行多步任务,但关键动作仍有确认。YOLO 模式效率最高,但风险也最大,应该只在你完全信任的仓库和任务里使用。

这类工具能修改本地文件、运行命令,因此不要在不熟悉的目录里随便启用高自动化模式。涉及删除、迁移、批量改写、部署等任务时,最好保持 Agent 模式并看清每一步。

工具能力

根据 README,DeepSeek-TUI 的工具能力覆盖面很广,包括:

  • 文件读写和 apply patch。
  • shell 命令执行。
  • git 操作。
  • web search 和 browse。
  • 子 Agent 协作。
  • MCP server 接入。
  • LSP 诊断。
  • 会话保存和恢复。
  • 工作区回滚。
  • 持久化任务队列。
  • HTTP/SSE runtime API。
  • skills 系统。

其中比较实用的是 LSP 诊断和工作区回滚。

LSP 诊断可以在编辑后把 rust-analyzer、pyright、typescript-language-server、gopls、clangd 等工具的错误和警告反馈给模型,减少“模型改完但项目编不过”的情况。

工作区回滚通过 side-git 快照记录每轮前后的状态,并提供 /restorerevert_turn 一类恢复能力。它不直接操作你仓库本身的 .git,但仍建议在重要仓库里保持正常 git 提交习惯。

常用命令

README 中列出的常用命令包括:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
deepseek
deepseek "explain this function"
deepseek --model deepseek-v4-flash "summarize"
deepseek --model auto "fix this bug"
deepseek --yolo
deepseek auth set --provider deepseek
deepseek doctor
deepseek doctor --json
deepseek models
deepseek sessions
deepseek resume --last
deepseek resume <SESSION_ID>
deepseek fork <SESSION_ID>
deepseek serve --http
deepseek serve --acp
deepseek pr <N>
deepseek mcp list
deepseek mcp validate
deepseek update

这些命令覆盖了交互式 TUI、一次性 prompt、模型指定、会话恢复、HTTP 服务、ACP 适配、PR 预处理、MCP 管理和更新检查。

Zed 和 ACP

DeepSeek-TUI 可以作为 Agent Client Protocol server 被编辑器调用。以 Zed 为例,可以添加自定义 agent server:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "agent_servers": {
    "DeepSeek": {
      "type": "custom",
      "command": "deepseek",
      "args": ["serve", "--acp"],
      "env": {}
    }
  }
}

README 说明中也提醒:当前 ACP 支持新会话和 prompt response,但工具驱动的编辑和 checkpoint replay 还没有通过 ACP 暴露。

配置和多 provider

用户配置文件位于:

1
~/.deepseek/config.toml

项目级 overlay 可以放在:

1
<workspace>/.deepseek/config.toml

但 README 说明中明确限制了一些字段不能放进项目 overlay,例如 api_keybase_urlprovidermcp_config_path。这有助于避免把敏感配置随项目提交出去。

DeepSeek-TUI 默认 provider 是 deepseek,也支持 NVIDIA NIM、Fireworks、OpenAI-compatible endpoint、SGLang、vLLM、Ollama 等路径。

例如配置 OpenAI-compatible endpoint:

1
2
deepseek auth set --provider openai --api-key "YOUR_OPENAI_COMPATIBLE_API_KEY"
OPENAI_BASE_URL="https://openai-compatible.example/v4" deepseek --provider openai --model glm-5

自托管 Ollama 示例:

1
2
ollama pull deepseek-coder:1.3b
deepseek --provider ollama --model deepseek-coder:1.3b

成本和上下文

DeepSeek-TUI 围绕 DeepSeek V4 设计,README 中提到 deepseek-v4-prodeepseek-v4-flash 支持 1M-token context,并且 TUI 会显示 token、成本估算、prefix-cache 命中和未命中等信息。

这对长任务很重要。AI 编程 Agent 往往会不断读文件、总结历史、携带上下文,成本不只取决于模型单价,也取决于它是否能复用 prefix cache、是否及时压缩上下文、是否避免无意义的大段输出。

如果只是轻量改动,deepseek-v4-flash 或 auto mode 可能更合适。复杂重构、长上下文调试和架构分析,再考虑更高 thinking 或 Pro 模型。

由于模型价格和优惠会变化,真正使用前仍建议查看 DeepSeek 官方定价页,以及 TUI 当前版本里的成本估算说明。

使用建议

建议从低风险流程开始:

  1. 在一个小型测试仓库里安装并运行 deepseek doctor
  2. 使用 Plan 模式让它只读分析项目。
  3. 在 Agent 模式里让它做小范围修改。
  4. 每次修改后用 git diff 和测试命令确认结果。
  5. 熟悉 /restore、会话恢复和配置路径后,再尝试更长任务。
  6. YOLO 模式只用于你能接受自动修改的临时分支或测试目录。

不要把 API key 写进项目目录,也不要把 ~/.deepseek/config.toml 复制到公共仓库。涉及公司代码时,还要确认模型服务、日志、web search 和第三方 provider 是否符合内部安全要求。

小结

DeepSeek-TUI 是一个功能比较完整的终端 AI 编程 Agent。它把 DeepSeek V4、TUI、工具调用、LSP 诊断、会话恢复、工作区回滚、MCP 和 skills 系统放在同一套 Rust 工具链里,适合愿意在终端里完成 AI 辅助开发的人。

它不是最轻的 DeepSeek 客户端,但它的优势也正在这里:它把“模型对话”推进到“可执行的本地开发流程”。如果你已经习惯 Claude Code、Codex 或其他终端 Agent,那么 DeepSeek-TUI 值得作为 DeepSeek 模型方向的一个重点选择。

参考资料

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计