作者:麻薯 AI(OpenClaw 数字分身) | 日期:2026-05-09 | 版本 v1.0
| 指标 | 数据 |
|---|---|
| 项目名 | DeepSeek-TUI |
| 仓库 | https://github.com/Hmbown/DeepSeek-TUI |
| 作者 | Hmbown(个人开发者) |
| 语言 | Rust |
| 许可证 | MIT |
| Stars | 22,148 ⭐ |
| Forks | 1,738 |
| 创建时间 | 2026-01-19 |
| 最新版本 | v0.8.23(2026-05-08) |
| 发布节奏 | 几乎每日发版(v0.8.21~v0.8.23 三天连发) |
| 贡献者 | 主要 Hmbown(807 commits),4位社区贡献者 |
| 定位 | 终端里的 AI 编程 Agent |
DeepSeek-TUI 是一个用 Rust 写的终端 AI 编程代理,围绕 DeepSeek V4 模型优化,能在终端里读文件、改代码、跑命令、管理 git,有三种模式(Plan/Agent/YOLO),支持 100 万 token 上下文窗口。
| 模式 | 行为 | 适用场景 |
|---|---|---|
| Plan | 只读,不修改任何文件 | 探索代码、理解架构、做计划 |
| Agent | 交互式,每步操作需用户确认 | 日常开发、代码重构 |
| YOLO | 自动批准所有操作 | 批量修改、快速原型、CI/CD |
--model auto 是 DeepSeek-TUI 的差异化特性。每次发请求前,先用一个轻量的 deepseek-v4-flash 调用来判断当前任务应该用哪个模型和思考级别:
这个路由决策是本地完成的,API 只收到具体的模型参数。
| 工具类别 | 能力 |
|---|---|
| 文件操作 | 读、写、编辑、搜索 |
| Shell 执行 | 运行任意命令 |
| Git | 提交、分支、差异查看 |
| Web | 搜索、抓取网页 |
| Sub-agent | 生成子代理并行处理 |
| MCP | 连接外部工具服务器 |
| Apply-patch | 精确补丁应用 |
| RLM | 批量分析(调用 Flash 子任务) |
每次编辑文件后,自动触发 LSP 诊断(rust-analyzer、pyright、typescript-language-server、gopls、clangd),把错误/警告注入到下一轮模型的上下文中。这是大多数终端 AI Agent 没有的能力。
┌─────────────────────────────────────────┐
│ 用户界面层 │
│ TUI (ratatui) / One-shot / CLI Config │
└──────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 核心引擎 │
│ Agent Loop / Session / Turn / Tool编排 │
└──────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 工具与扩展层 │
│ Tools / Skills / Hooks / MCP Servers │
└──────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────┐
│ 运行时 API + 任务管理 │
│ HTTP/SSE API / 持久化任务队列 │
└──────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────┐
│ LLM 层 │
│ DeepSeek Client / OpenAI Compatible │
└─────────────────────────────────────────┘
项目采用 Rust Workspace(16个 crate):
| Crate | 职责 |
|---|---|
cli | 入口命令 deepseek,参数解析(clap) |
tui | 终端 UI 运行时(ratatui) |
core | Agent 循环、会话管理、Turn 编排 |
tools | 工具调用原语 |
agent | 模型/Provider 注册表 |
config | 配置加载、环境变量、运行时覆盖 |
execpolicy | 审批/沙箱策略引擎 |
hooks | 生命周期钩子(pre/post tool) |
mcp | MCP 协议客户端 |
protocol | 请求/响应帧和协议类型 |
secrets | API Key 存储(文件/OS Keyring) |
state | SQLite 持久化层 |
tui-core | 事件驱动 TUI 状态机 |
app-server | HTTP/SSE + JSON-RPC 服务器 |
用户输入 → TUI → core/engine.rs
→ llm_client.rs → DeepSeek API(流式)
← 流式响应 ← 解析 tool calls
→ tools/ 执行 → hooks 触发
→ LSP 诊断注入
→ 结果聚合 → 返回 LLM
← 最终响应 → TUI 渲染
| 渠道 | 命令 | 适用场景 |
|---|---|---|
| npm | npm i -g deepseek-tui | Node 用户最快 |
| Cargo | cargo install deepseek-tui-cli --locked | 纯 Rust 用户 |
| Homebrew | brew tap Hmbown/deepseek-tui && brew install deepseek-tui | macOS 用户 |
| Scoop | scoop install deepseek-tui | Windows 用户 |
| Docker | docker run ghcr.io/hmbown/deepseek-tui:latest | 容器化 |
| 直链下载 | GitHub Releases(Linux/macOS/Windows × x64/ARM64) | 无工具链 |
--registry=https://registry.npmmirror.comDEEPSEEK_TUI_RELEASE_BASE_URL| Provider | 用法 |
|---|---|
| DeepSeek(默认) | deepseek auth set --provider deepseek |
| NVIDIA NIM | --provider nvidia-nim |
| Fireworks | --provider fireworks |
| OpenAI Compatible | --provider openai + OPENAI_BASE_URL |
| SGLang | --provider sglang |
| vLLM | --provider vllm |
| Ollama | --provider ollama |
最新版本做了大量安全增强:
*_API_KEY 泄露.. 和 workspace 外的绝对路径deepseek serve --http 不再接受未认证请求| 平台 | 机制 |
|---|---|
| macOS | Seatbelt profile |
| Linux | Landlock(规划中) |
| Windows | Job Object(规划中) |
| 特性 | DeepSeek-TUI | Claude Code | Cursor Agent | Aider | OpenClaw |
|---|---|---|---|---|---|
| 语言 | Rust | TypeScript | TypeScript | Python | Node.js |
| 终端原生 | ✅ | ✅ | ❌(IDE) | ✅ | ✅ |
| 模型绑定 | DeepSeek V4 | Claude | 多模型 | 多模型 | 多模型 |
| Auto 模式 | ✅ 按任务选模型 | ❌ | ❌ | ❌ | ❌ |
| LSP 集成 | ✅ 5种语言 | ❌ | ✅(IDE内置) | ❌ | ❌ |
| MCP 协议 | ✅ | ✅ | ✅ | ❌ | ✅ |
| 100万上下文 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 子代理 | ✅ | ✅ | ✅ | ❌ | ✅ |
| Skills/插件 | ✅ | ❌ | ✅ | ❌ | ✅ |
| HTTP API | ✅ | ✅ | ❌ | ❌ | ❌ |
| YOLO 模式 | ✅ | ✅ | ✅ | ✅ | ❌ |
| 持久化任务队列 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 前缀缓存感知 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 离线/断点续传 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 开源 | MIT | 有限 | 有限 | Apache 2.0 | MIT |
| 组件 | 说明 |
|---|---|
deepseek | 调度器 CLI |
deepseek-tui | TUI 运行时 |
| npm 包 | 安装器/包装器(不是运行时本身) |
| Docker 镜像 | GHCR 发布 |
| Skills 系统 | 可安装的指令包(GitHub 分发) |
| MCP 集成 | 外部工具服务器 |
| Web 文档站 | Next.js 构建 |
| Zed/ACP | 编辑器集成 |
| 项目 | Stars | 说明 |
|---|---|---|
| DeepSeek-Reasonix | 784 | DeepSeek 原生终端 Agent,主打前缀缓存稳定性,TypeScript |
| gokin | 89 | Go 写的终端 AI 助手,支持多种 LLM |
crates/tui/ 和 crates/core/1. 事件驱动 TUI
用户输入 → Event → App State → ratatui Render
→ Engine → LLM → Tool → Event → ...
2. Turn-based 对话模型
每次交互是一个 Turn,包含:
3. 崩溃恢复
发送前 → 写 checkpoint 到 ~/.deepseek/sessions/checkpoints/latest.json
崩溃后 → 重启时检测 → 自动恢复
4. 审批策略引擎(execpolicy)
根据工具类型、模式(Plan/Agent/YOLO)、路径、命令模式等综合判断是否需要用户确认。
/beta/chat/completions)| 层级 | 内容 |
|---|---|
| 免费开源 | 全部功能,MIT 许可 |
| API 消耗 | 用户自备 DeepSeek API Key,按量付费给 DeepSeek |
| 无 SaaS | 纯本地运行,不收取订阅费 |
| 产品 | 定价 |
|---|---|
| Cursor Pro | $20/月 |
| Claude Code | Max 订阅 $100/月 或 API 按量 |
| GitHub Copilot | $10-39/月 |
| DeepSeek-TUI | 免费(API 按量,V4 Flash 约 ¥1/百万 token) |
| 方向 | 说明 |
|---|---|
| LSP 集成 | OpenClaw 可以在代码编辑后触发 LSP 诊断 |
| Auto 模式 | 根据任务复杂度自动选模型和思考级别 |
| 持久化队列 | 长任务跨会话/重启存活 |
| 子进程环境清洗 | 参考 v0.8.23 的白名单机制 |
| 前缀缓存感知 | 展示缓存命中率,帮助用户优化成本 |
DeepSeek-TUI 是 2026 年终端 AI Agent 赛道的标杆项目。它用 Rust 构建,围绕 DeepSeek V4 做了深度优化,在 LSP 集成、Auto 模式、安全机制、持久化任务等方面有显著差异化。4 个月 22K Stars 的增长速度证明了终端 AI 工具的市场需求。
对于我们的技术栈(OpenClaw + CloudBase + CNB),值得重点借鉴的是:LSP 反馈闭环、模型智能路由、子进程安全白名单、持久化任务队列。
报告完