DeepSeek-TUI 是一款面向 DeepSeek V4 模型的终端原生编程智能体,完全在命令行中运行,提供文件操作、Shell 执行、Git 管理、网页浏览、子智能体协调等能力,通过键盘驱动的 TUI 界面交互。
核心特性
| 特性 | 说明 |
|---|---|
| 100 万 Token 上下文 | 完整窗口支持,带压缩追踪和前缀缓存遥测 |
| 流式推理 | 实时观察模型思维链 |
| 自动模型选择 | 根据任务复杂度自动在 Flash 和 Pro 之间切换 |
| 三种交互模式 | Plan(只读)/ Agent(审批)/ YOLO(自动批准) |
| 持久任务队列 | 任务在应用重启后仍可恢复 |
| 子智能体并行 | 最多 10 个(可配至 20 个)并发背景任务 |
| LSP 诊断集成 | 编辑后实时显示 rust-analyzer、pyright、gopls 等诊断信息 |
| MCP 服务器 | 通过 Model Context Protocol 扩展工具能力 |
安装
npm(推荐,无需 Node.js 运行时)
npm install -g deepseek-tuiCargo(从 Rust 源码编译)
cargo install deepseek-tui-cli --lockedcargo install deepseek-tui --lockedHomebrew(macOS)
brew tap Hmbown/deepseek-tuibrew install deepseek-tui直接下载二进制
前往 Releases 页面 下载对应平台的预编译二进制文件:
- Linux x64 / ARM64
- macOS (Intel / Apple Silicon)
- Windows x64
Docker
# 创建持久化数据卷docker volume create deepseek-tui-home
# 启动容器(挂载当前目录为工作区)docker run --rm -it \ -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ -v deepseek-tui-home:/home/deepseek/.deepseek \ -v "$PWD:/workspace" \ -w /workspace \ ghcr.io/hmbown/deepseek-tui:latestTIPDocker 方式通过数据卷持久化配置和会话数据,容器删除后数据不丢失。
配置 API
DeepSeek 官方(推荐)
# 设置提供商deepseek auth set --provider deepseek
# 设置 API Key(从 platform.deepseek.com 获取)export DEEPSEEK_API_KEY="your_api_key_here"或写入 Shell 配置文件永久生效:
echo 'export DEEPSEEK_API_KEY="your_api_key_here"' >> ~/.zshrcsource ~/.zshrcNVIDIA NIM
deepseek auth set --provider nvidia-nim --api-key "YOUR_KEY"OpenRouter
deepseek auth set --provider openrouter --api-key "YOUR_KEY"
# 指定模型调用deepseek --provider openrouter --model deepseek/deepseek-v4-pro自托管(Ollama / vLLM)
# Ollama 本地部署deepseek auth set --provider ollama --base-url "http://localhost:11434"
# vLLMdeepseek auth set --provider vllm --base-url "http://localhost:8000" --api-key "YOUR_KEY"配置文件
用户级配置:~/.deepseek/config.toml
工作区级配置:.deepseek/config.toml(工作区配置优先级更高)
[tui]locale = "zh-Hans" # 界面语言:en / ja / zh-Hans / pt-BR,留空自动检测theme = "catppuccin" # 主题:catppuccin / tokyo-night / dracula / gruvbox / light / dark
[agent]max_subagents = 10 # 最大并发子智能体数量(最高 20)auto_mode = true # 启用自动模型选择
[context]user_memory = true # 跨会话的用户记忆注入可用主题: catppuccin、tokyo-night、dracula、gruvbox,以及内置的 light / dark,运行时用 /theme 命令切换。
启动与使用模式
基本启动
# 交互模式启动(默认 Agent 模式)deepseek
# 一次性查询(非交互)deepseek "解释这个文件的作用" @src/main.rs
# 指定工作目录deepseek --dir /path/to/project三种交互模式
Plan 模式(只读探索)
deepseek --plan只读取文件和分析代码,不执行任何修改操作。适合先理解项目结构再决定行动。
Agent 模式(默认)
deepseek每次工具调用(文件写入、Shell 命令等)都需要用户审批确认,安全可控。
YOLO 模式(自动批准)
deepseek --yolo自动批准所有工具调用,适合可信任的工作区或自动化脚本。
YOLO 模式注意事项YOLO 模式下 AI 会直接执行所有操作,建议仅在有版本控制的项目中使用,确保误操作可回滚。
模型选择
# 自动选择(根据任务复杂度选 Flash 或 Pro)deepseek --model auto
# 强制使用 Prodeepseek --model deepseek-v4-pro
# 强制使用 Flash(速度快,成本低)deepseek --model deepseek-v4-flashAuto 模式会在每轮对话前用 Flash 模型做预检,判断任务是否需要 Pro 的推理能力,从而在成本和质量间自动平衡。
Headless HTTP/SSE 模式
# 启动 HTTP API 服务(无界面)deepseek serve --http --port 3000适合将 DeepSeek-TUI 作为后端服务集成到其他系统。
内置工具
DeepSeek-TUI 内置以下工具,AI 可自主调用(Agent 模式下需用户审批):
| 工具类别 | 功能 |
|---|---|
| 文件操作 | 读写、创建、删除、重命名工作区文件 |
| Shell 执行 | 运行任意 Shell 命令,带当前目录验证和安全检查 |
| Git 管理 | 提交、分支、diff、stash 等版本控制操作 |
| 网页浏览 | 搜索网页、抓取 URL 内容(含 SSRF 防护) |
| 补丁应用 | 通过 apply-patch 应用代码修改 |
| 子智能体 | 生成具有独立上下文和工具注册表的并发后台任务 |
| MCP 服务器 | 连接 Model Context Protocol 服务器扩展工具 |
| RLM | 持久 REPL 会话,用低成本 Flash 模型做批量分析 |
附加文件/目录上下文
在输入框中使用 @ 附加文件或目录:
@src/main.rs 帮我重构这个函数@./tests/ 分析测试覆盖率子智能体系统
子智能体允许并发后台执行复杂任务:
非阻塞启动: agent_open 立即返回,子智能体在后台独立运行。
并行执行: 默认最多 10 个子智能体并发(可配置至 20 个)。
完成通知: 子智能体完成时发送结构化事件,包含摘要、证据列表和指标。
按需读取结果: 大型对话日志使用 var_handle 引用,通过 handle_read 配合切片、范围查询或 JSONPath 投影按需读取。
典型用法示例:
# 在对话框中让 AI 并行分析多个模块分析这个项目的所有模块,为每个模块启动一个子智能体并行工作,最后汇总报告键盘快捷键
| 快捷键 | 功能 |
|---|---|
Tab | 自动补全 / 或 @;或队列草稿 / 切换模式(视上下文) |
Shift+Tab | 循环切换推理强度:关闭 → 高 → 最大 |
F1 | 打开可搜索的帮助面板 |
Esc | 返回 / 关闭对话框 |
Ctrl+K | 命令面板 |
Ctrl+R | 恢复历史会话 |
Alt+R | 搜索历史 / 恢复草稿 |
Ctrl+S | 暂存当前草稿 |
↑(输入框开头) | 移除上一行附件 |
NOTE完整快捷键列表可在项目的
docs/KEYBINDINGS.md查看,或按F1在应用内搜索。
LSP 诊断集成
每次文件编辑后,DeepSeek-TUI 自动调用对应语言服务器提供内联错误/警告反馈:
| 语言 | LSP 服务器 |
|---|---|
| Rust | rust-analyzer |
| Python | pyright |
| TypeScript / JavaScript | typescript-language-server |
| Go | gopls |
| C / C++ | clangd |
AI 会读取诊断信息并自动修复,形成”编辑 → 检查 → 修复”的闭环。
会话持久化与回滚
DeepSeek-TUI 通过旁路 Git 记录实现会话快照:
# 恢复上次会话deepseek # 然后按 Ctrl+R 选择历史会话
# 查看会话历史deepseek sessions list长时间任务中途断开后,重新启动并恢复会话,AI 会从中断点继续执行。
Skills 系统
Skills 是可组合的指令包,可从 GitHub 安装:
# 安装内置 Skilldeepseek skills install <skill-name>
# 从 GitHub 安装deepseek skills install github:username/repoSkills 让你为特定项目或工作流定制 AI 行为,例如代码审查规范、提交信息格式等。
价格参考
| 模型 | 上下文 | 输入(缓存命中) | 输入(缓存未命中) | 输出 |
|---|---|---|---|---|
| deepseek-v4-pro | 100 万 token | $0.003625/1M* | $0.435/1M* | $0.87/1M* |
| deepseek-v4-flash | 100 万 token | $0.0028/1M | $0.14/1M | $0.28/1M |
* Pro 价格为限时 75% 折扣,有效期至 2026 年 5 月 31 日。
DeepSeek-TUI 实时显示每轮对话的 Token 消耗和费用,并统计缓存命中/未命中情况,帮助控制成本。
降低成本的技巧
- 使用
--model auto让简单任务自动切换到 Flash 模型- 通过
@精确附加相关文件,避免传入不必要的上下文- 利用前缀缓存:相同前缀的对话可大幅降低输入 Token 费用
常用工作流示例
理解新项目
deepseek --plan> @./ 帮我分析这个项目的整体架构,生成一份架构文档修复 Bug
deepseek> 运行测试套件,找出失败的测试并修复对应的 Bug代码重构
deepseek --yolo> 将 src/ 目录下所有 JavaScript 文件迁移到 TypeScript,保持逻辑不变并行分析
deepseek> 为每个子目录启动一个子智能体,并行分析代码质量,最后汇总评分报告发现错误或想要改进这篇文章?
在 GitHub 上编辑此页