跳到主要内容

DeepSeek TUI 深度体验:当 AI 编程智能体住进终端

· 阅读需 8 分钟
一介布衣
全栈开发者

为什么终端才是编程智能体的最佳归宿

现在的 AI 编程工具太多了。Cursor 在 IDE 里给你补全代码,Claude 在网页上跟你聊架构,GitHub Copilot 在编辑器旁边当副驾。但你是否也跟我一样,经常在这几个窗口之间切来切去——浏览器里问完问题,切到编辑器里改代码,再切到终端里跑测试,切到 Git 里看 diff。

每一次切换,上下文就断一次。

DeepSeek TUI 走了一条不一样的路:把编程智能体直接塞进终端。不需要 IDE 插件,不需要浏览器标签页,就在你每天敲命令的那个黑色窗口里,让 AI 帮你读写文件、跑 shell、管 Git、查网页、调度子智能体。全键盘操作,手不用离开主键区。

这个项目开源在 GitHub(Hmbown/DeepSeek-TUI),用 Rust 编写,底层驱动的是 DeepSeek V4 模型。

它到底能干什么

先说几个让我觉得真正有用的核心能力,而不是简单罗列功能清单:

100 万 token 上下文,不是噱头

很多工具都吹自己的上下文长度,但 100 万 token 在编程场景里是真的有意义。一个中等规模的 Java 或 TypeScript 项目,全量源码加上配置文件,大概就在 30-80 万 token 之间。也就是说,整个项目的代码它都能"看"到

更关键的是它带了智能压缩——接近上限时自动做"缓存感知压缩",复用前缀缓存。这不是简单地把旧消息扔掉,而是有策略地保留关键信息,同时大幅降低成本。

三种模式,覆盖不同场景

这是我觉得设计得最用心的地方:

  • Plan 模式:只读。接手一个陌生项目时,让它先摸清结构、给出修改计划,但它不会动你任何文件。适合评估大改动的风险和成本。
  • Agent 模式(默认):每步操作都需要你确认。日常编码调试用这个,安全可控。
  • YOLO 模式:自动批准所有操作。适合在实验性分支里批量处理已知模式的任务,比如批量重命名、统一代码风格。

三种模式让你在"放手"和"掌控"之间灵活切换,而不是一刀切。

LSP 诊断闭环

这个功能容易被忽略,但实际用起来很爽。AI 改完代码后,不是交给你就完事了——它会自动调用对应语言的 LSP 服务器(rust-analyzer、pyright、typescript-language-server 等),拿到错误和警告,再把诊断结果喂回给模型,让模型自己修复。

编辑 → 诊断 → 纠错,形成闭环。你看到的最终结果,是已经过一轮自检的代码。

工作区回滚,不动你的 Git

它用 side-git 记录每轮对话的文件快照,你随时可以用 /restore 回滚到任意一轮。重点是:它不动你项目本身的 .git。你的 Git 历史保持干净,AI 的改动有独立的回滚机制。两者互不干扰。

安装和配置:比想象中简单

我试了三种安装方式,最推荐 npm(如果你有 Node.js 的话):

# 国内用户加个镜像源,快很多
npm install -g deepseek-tui --registry=https://registry.npmmirror.com

注意 npm 在这里只是个"下载器",它从 GitHub Releases 拉预编译的二进制文件。安装完之后你的项目里不依赖 Node.js,运行时完全独立。

其他安装方式还有 Cargo(Rust 工具链)和直接下载预编译二进制。官方覆盖了 Linux x64/ARM64、macOS x64/ARM64、Windows x64。自 v0.8.8 起,npm 安装已经原生支持 ARM64 Linux( HarmonyOS 轻薄本、树莓派、Graviton 等都能用)。

配置 API Key 也很直接:

deepseek auth set --provider deepseek
# 然后粘贴你的 Key,来自 platform.deepseek.com/api_keys

密钥保存在 ~/.deepseek/config.toml,不触发系统密钥环弹窗,任何终端都能直接用。

想切中文界面?在输入框里敲 /config,选择 "Edit locale",输入 zh-Hans 就行。或者直接改配置文件:

# ~/.deepseek/settings.toml
locale = "zh-Hans"

成本算一笔账

这是很多开发者关心的实际问题。DeepSeek V4 有两个模型可选:

deepseek-v4-flash(日常主力):

  • 输入(缓存命中):$0.0028 / 1M token
  • 输入(缓存未命中):$0.14 / 1M token
  • 输出:$0.28 / 1M token

deepseek-v4-pro(更强但更贵):

  • 输入(缓存命中):约 $0.0036 / 1M token
  • 输入(缓存未命中):约 $0.435 / 1M token
  • 输出:约 $0.87 / 1M token

缓存命中价格是未命中的 1/50。这意味着什么?你在一个项目里持续工作时,项目的基础代码作为前缀被缓存了,后续每次对话的输入成本极低。只有第一次或者大幅切换上下文时才会付全价。

实际体感:日常在一个项目里编码调试,单次对话成本通常在几美分到十几美分之间。比 Claude Code 便宜一个数量级。

内置的成本追踪功能会显示每轮和每会话的用量、缓存命中率,你可以随时查看自己花了多少钱。

跟 Claude Code / Codex / Aider 比怎么样

这个问题肯定有人问,我直接说结论:

维度DeepSeek TUIClaude CodeCodex CLIAider
模型DeepSeek V4ClaudeGPT-4/4o任意 OpenAI 兼容
上下文100 万 token20 万 token20 万 token取决于模型
运行环境单一二进制Node.jsGoPython
价格极低(尤其缓存命中)较高中等取决于模型
开源
MCP 支持✅ 内置
LSP 自动修复部分
中文 UI

DeepSeek TUI 的核心优势

  1. 成本:同样的任务,费用大概是 Claude Code 的 1/5 到 1/10
  2. 上下文长度:100 万 token 对 20 万 token,处理大项目时优势明显
  3. 开源:你可以审计代码、自己部署、定制功能
  4. 中文友好:原生中文界面,国内镜像加速

目前不如 Claude Code 的地方

  1. 生态成熟度:Claude Code 的用户基数更大,社区资源更丰富
  2. 技能系统:Claude Code 的 MCP 生态更活跃
  3. 模型能力上限:在极端复杂的推理任务上,Claude Opus 级别仍有优势

实际使用场景建议

基于我的体验,这几个场景特别适合用 DeepSeek TUI:

1. 接手陌生项目

Plan 模式下让它读代码、画架构、给出修改计划。100 万 token 的上下文意味着整个项目都能放进上下文窗口,它不会"看了一半忘了前半部分"。

2. 批量代码修改

YOLO 模式下让它批量处理——统一代码风格、批量重命名、迁移 API。配合工作区回滚,改坏了随时恢复。

3. 日常编码调试

Agent 模式是默认模式,每步操作需要你确认。适合日常开发,AI 帮你写代码、跑测试、查文档,但你始终有最终决定权。

4. 嵌入 CI/CD 流水线

deepseek serve --http 可以启动无界面服务,通过 HTTP/SSE API 调用。可以把它集成到自动化流程里,比如自动代码审查、自动修复简单 Bug。

几个实用技巧

用 @ 引用文件:在输入框里输入 @ 加上文件路径,可以把文件内容附加为上下文。比如 @src/main.py 帮我重构这个文件

暂存草稿:写了一半的想法按 Ctrl+S 暂存,用 /stash list 查看所有暂存,用 /stash pop 取回。适合多任务并行时切换上下文。

恢复历史提示:按 Alt+R 可以搜索历史提示,找回之前用过的 prompt。

推理强度调节Shift+Tab 在 off / high / max 之间切换。简单问题用 off 省成本,复杂推理用 max。

用户记忆:开启后(DEEPSEEK_MEMORY=on),你的偏好(缩进风格、命名习惯等)会跨会话保留,不用每次都交代。

写在最后

AI 编程工具赛道越来越卷,但 DeepSeek TUI 找到了一条差异化的路:不跟 IDE 抢位置,而是在终端里给你一个全能的 AI 编程助手

它的优势很明显——成本低、上下文长、开源可控、中文友好。劣势也客观存在——生态还在早期,模型能力上限跟顶级商业模型还有差距。

但考虑到它的发展速度(v0.8.10 已经在持续迭代中),以及 DeepSeek 模型本身的快速进步,这个项目值得持续关注。

如果你已经厌倦了"浏览器里问、编辑器里改、终端里跑"的割裂流程,不妨花十分钟装一个试试。反正成本不高,不好用随时卸载。

npm install -g deepseek-tui --registry=https://registry.npmmirror.com
deepseek auth set --provider deepseek
deepseek

三个命令,开始体验。