DeepSeek-TUI - 终端 AI 编码代理

DeepSeek-TUI

面向 DeepSeek V4 的高性能终端用户界面客户端


项目概述

DeepSeek-TUI 是一个功能强大的终端用户界面(TUI)应用,专为与 DeepSeek AI 模型交互而设计。它提供了完整的编码代理功能,支持流式推理输出、本地工作区编辑、以及多种运行模式,让开发者能够在终端环境中高效地使用 DeepSeek AI。

核心定位

  • 终端编码代理: 面向 DeepSeek V4 的完整 CLI 工具
  • 流式推理: 实时显示 DeepSeek 模型的思考过程
  • 工作区集成: 直接在本地工作区执行文件操作和代码编辑
  • 多模式运行: 支持 Plan、Agent、YOLO 三种交互模式

主要特性

特性 描述
Auto 模式 --model auto 自动选择最优模型和思考级别
思考流式输出 实时显示 DeepSeek 推理块(reasoning blocks)
完整工具套件 文件操作、Shell执行、Git、Web搜索、apply-patch、子代理、MCP服务器
1M Token 上下文 支持超大上下文窗口,带上下文跟踪和压缩功能
三种运行模式 Plan(只读探索)、Agent(交互审批)、YOLO(自动审批)
推理级别切换 off → high → max 三级推理深度循环切换
会话管理 检查点保存与恢复,支持断点续聊
MCP 协议 完整支持 Model Context Protocol 服务器连接
LSP 诊断 内联显示代码错误和警告

技术架构

技术栈

主要语言: Rust (Edition 2024) - 占比 ~98.3%

层级 技术 版本
语言 Rust 1.88+ (使用 stabilized let_chains)
TUI 框架 ratatui v0.29
终端控制 crossterm v0.28
异步运行时 tokio v1.49.0 (full features)
HTTP 客户端 reqwest v0.13.1 (rustls, streaming)
HTTP 服务端 axum v0.8.5
序列化 serde / serde_json v1.0.228 / v1.0.149
CLI 解析 clap v4.5.54
持久化 rusqlite v0.32.1
行编辑 rustyline v15.0.0
剪贴板 arboard v3.4

语言分布

语言 字节数 占比
Rust 6,158,641 ~98.3%
JavaScript 50,474 ~0.8%
HTML 35,809 ~0.6%
Shell 10,869 ~0.2%
Dockerfile 2,664 ~0.04%

模块化 Workspace 结构(14 个 Crate)

复制代码
DeepSeek-TUI/
├── crates/
│   ├── agent/         # 代理编排逻辑
│   ├── app-server/    # HTTP/SSE 运行时 API 服务
│   ├── cli/           # 分发命令入口 (deepseek)
│   ├── config/        # 配置管理
│   ├── core/          # 核心引擎和流式客户端
│   ├── execpolicy/    # 执行策略处理
│   ├── hooks/         # 扩展性钩子系统
│   ├── mcp/           # MCP 协议实现
│   ├── protocol/      # OpenAI 兼容协议
│   ├── secrets/       # API Key 管理
│   ├── state/         # 会话状态管理
│   ├── tools/         # 工具注册 (shell, file, git, web, MCP等)
│   ├── tui/           # TUI 二进制 (deepseek-tui)
│   └── tui-core/      # TUI 核心组件
├── docs/              # 文档
├── website/           # 网站资源
├── npm/               # npm 封装包
├── scripts/           # 构建脚本
└── vendor/            # Vendored 依赖

架构流程

复制代码
deepseek (分发CLI) → deepseek-tui (伴侣二进制) →
ratatui界面 ↔ 异步引擎 ↔ OpenAI兼容流式客户端

核心组件

Crate 功能
cli 命令行入口点,参数解析
tui TUI 应用主入口,ratatui 界面
tui-core UI 组件:聊天显示、输入框、状态栏
core DeepSeek API 客户端,流式响应处理
tools 工具注册表:Shell、文件、Git、Web、MCP、子代理
state 会话状态,持久化队列,检查点恢复
mcp Model Context Protocol 实现

关键依赖详解

TUI 相关依赖:

包名 版本 用途
ratatui 0.29 TUI 框架,即时渲染模型
crossterm 0.28 跨平台终端控制
schemaui 0.12.0 UI schema 系统(TUI/Web)
rustyline 15.0.0 交互式行编辑/Readline
unicode-width 0.2 Unicode 文本宽度计算
unicode-segmentation 1.12 Unicode 分词
portable-pty 0.8 PTY 处理

数据处理依赖:

包名 版本 用途
image 0.25 图像处理(PNG)
pdf-extract 0.7 PDF 提取
ignore 0.4 Gitignore 风格过滤
sha2 0.10 SHA 哈希
zeroize 1.8.2 安全内存清零

脚本与扩展:

包名 版本 用途
starlark 0.13.0 内嵌脚本语言
tiny_http 0.12 轻量 HTTP 服务

架构模式

模式 说明
Workspace 模块化 14 个独立 crate,关注点分离
异步架构 全 tokio 运行时,并发操作
流式 API OpenAI 兼容协议,DeepSeek V4 专用
工具注册表 Shell/文件/Git/Web/MCP/子代理统一管理
会话状态 持久化队列,检查点恢复
HTTP/SSE API deepseek serve --http 无头代理模式

安装指南

方式一: npm 安装(推荐 - 自动下载预编译二进制)

bash 复制代码
npm install -g deepseek-tui

方式二: Cargo 安装(Rust 原生编译)

bash 复制代码
cargo install deepseek-tui-cli --locked   # deepseek 入口命令
cargo install deepseek-tui --locked       # TUI 二进制

方式三: Homebrew (macOS)

bash 复制代码
brew tap Hmbown/deepseek-tui
brew install deepseek-tui

方式四: Windows Scoop

bash 复制代码
scoop install deepseek-tui

方式五: 直接下载二进制

从 GitHub Releases 下载预编译版本:

  • Linux x64 / ARM64
  • macOS x64 / ARM64
  • Windows x64

方式六: 源码编译

bash 复制代码
git clone https://github.com/Hmbown/DeepSeek-TUI.git
cd DeepSeek-TUI
cargo build --release

注意: 需要 Rust 1.88+ 编译器


配置说明

API Key 配置

获取 API Key : 访问 DeepSeek Platform 注册获取

配置方式:

bash 复制代码
# 方式一: 环境变量
export DEEPSEEK_API_KEY=your_api_key_here

# 方式二: 命令行设置
deepseek auth set

配置文件位置

类型 路径
用户配置 ~/.deepseek/config.toml
项目覆盖 <workspace>/.deepseek/config.toml

关键环境变量

变量 说明
DEEPSEEK_API_KEY API 密钥
DEEPSEEK_BASE_URL API Base URL
DEEPSEEK_MODEL 默认模型
DEEPSEEK_PROVIDER 提供商选择: deepseek, nvidia-nim, fireworks, sglang, vllm
DEEPSEEK_PROFILE 配置 Profile 名称
DEEPSEEK_MEMORY 启用用户记忆 (on)
NVIDIA_API_KEY NVIDIA NIM 认证
FIREWORKS_API_KEY Fireworks 认证
SGLANG_API_KEY SGLang 认证
VLLM_API_KEY vLLM 认证
SGLANG_BASE_URL 自托管 SGLang 端点
VLLM_BASE_URL 自托管 vLLM 端点
NO_ANIMATIONS=1 强制无障碍模式
SSL_CERT_FILE 企业代理 CA 证书

使用方法

基本命令

bash 复制代码
deepseek                          # 启动交互式 TUI
deepseek "explain this function"  # 单次提示模式
deepseek --model auto             # 自动选择模型+思考级别
deepseek --yolo                   # 自动审批所有工具操作
deepseek auth set                 # 保存 API 密钥
deepseek doctor                   # 检查设置和连接状态
deepseek sessions                 # 列出已保存会话
deepseek resume --last            # 恢复最近会话

运行模式

模式 说明 适用场景
Plan 只读探索模式 代码分析、架构研究
Agent 交互审批模式 需要确认的操作
YOLO 自动审批模式 自动化工作流

键盘快捷键

按键 功能
Tab 补全 /@ 条目;运行时排队后续任务
Shift+Tab 循环推理级别: off → high → max
F1 打开可搜索帮助覆盖层
Esc 返回/关闭
Ctrl+K 命令面板
Ctrl+R 恢复早期会话
Alt+R 搜索提示历史
Ctrl+S 暂存当前草稿
@path 在编辑器中附加文件/目录上下文
Ctrl+N 新建对话
Ctrl+Q 退出应用
Ctrl+C 取消当前流式响应
Enter 发送消息
Shift+Enter 输入框插入换行

模型与定价

DeepSeek 官方模型

模型 上下文窗口 特点
deepseek-v4-pro 1M tokens 高性能推理模型,适合复杂任务
deepseek-v4-flash 1M tokens 快速响应模型,适合日常对话
deepseek-chat 1M tokens Legacy alias → deepseek-v4-flash
deepseek-reasoner 1M tokens Legacy alias → deepseek-v4-flash

DeepSeek 定价详情

模型 输入(缓存命中) 输入(缓存未命中) 输出
deepseek-v4-pro $0.003625/1M $0.435/1M $0.87/1M
deepseek-v4-flash $0.0028/1M $0.14/1M $0.28/1M

注意: DeepSeek Pro 价格目前享受 75% 折扣(有效期至 2026-05-31 15:59 UTC),之后将恢复标准价格。


其他 API 提供商

DeepSeek-TUI 支持多种第三方和自托管 API 提供商:

提供商 命令参数 说明
DeepSeek --provider deepseek 默认官方 API
NVIDIA NIM --provider nvidia-nim NVIDIA 云服务
Fireworks --provider fireworks Fireworks AI 平台
SGLang --provider sglang 自托管 SGLang 推理服务
vLLM --provider vllm 自托管 vLLM 推理服务
Ollama 自定义 DEEPSEEK_BASE_URL 本地 Ollama 运行(OpenAI 兼容)

提供商配置示例

bash 复制代码
# 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

# 自托管 SGLang
SGLANG_BASE_URL="http://localhost:30000/v1" deepseek --provider sglang --model deepseek-v4-flash

# 自托管 vLLM
VLLM_BASE_URL="http://localhost:8000/v1" deepseek --provider vllm --model deepseek-v4-flash

本地 Ollama 配置

Ollama 提供了 OpenAI 兼容 API,可以直接与 DeepSeek-TUI 配合使用。

Ollama 端点说明

端点 Ollama 地址
Base URL http://localhost:11434/v1
Chat Completions http://localhost:11434/v1/chat/completions
Models http://localhost:11434/v1/models

配置步骤

1. 启动 Ollama 并拉取模型

bash 复制代码
# 启动 Ollama 服务
ollama serve

# 拉取常用模型
ollama pull llama3.2
ollama pull deepseek-r1:7b    # Ollama 版 DeepSeek
ollama pull qwen2.5:7b
ollama pull mistral

2. 配置 DeepSeek-TUI 使用 Ollama

bash 复制代码
# 方式一: 设置 Base URL
export DEEPSEEK_BASE_URL="http://localhost:11434/v1"
deepseek --model llama3.2 "Hello"

# 方式二: 使用 vLLM 提供商参数(兼容 OpenAI 端点)
VLLM_BASE_URL="http://localhost:11434/v1" deepseek --provider vllm --model llama3.2

# 使用 Ollama 的 DeepSeek 模型
export DEEPSEEK_BASE_URL="http://localhost:11434/v1"
deepseek --model deepseek-r1:7b "Write a function"

Ollama 常用模型列表

模型 大小 说明
llama3.2 3B Meta Llama 3.2
deepseek-r1:7b 7B DeepSeek R1 推理模型
deepseek-coder:6.7b 6.7B DeepSeek 代码模型
qwen2.5:7b 7B 通义千问 2.5
mistral 7B Mistral 模型
codellama 7B Code Llama 代码模型

Ollama 使用注意事项

  1. API Key: Ollama 默认不需要 API Key,可忽略或设置任意值
  2. 模型名称 : 使用 Ollama 中的实际模型名(可通过 ollama list 查看)
  3. 推理块: Ollama 对 reasoning blocks 的支持可能有限
  4. 上下文: 本地模型的上下文窗口取决于模型本身,通常小于 1M tokens
  5. 性能: 推理速度取决于本地硬件(CPU/GPU/内存)

验证 Ollama 连接

bash 复制代码
# 检查 Ollama 服务状态
curl http://localhost:11434/v1/models

# 使用 DeepSeek-TUI 诊断
export DEEPSEEK_BASE_URL="http://localhost:11434/v1"
deepseek doctor

提供商认证环境变量

变量 说明
DEEPSEEK_API_KEY DeepSeek API 密钥
DEEPSEEK_BASE_URL API 端点 URL(可用于 Ollama 等自定义端点)
NVIDIA_API_KEY NVIDIA NIM 认证
FIREWORKS_API_KEY Fireworks 认证
SGLANG_API_KEY SGLang 认证(可选)
VLLM_API_KEY vLLM 认证(可选)
SGLANG_BASE_URL SGLang 自托管端点 URL
VLLM_BASE_URL vLLM 自托管端点 URL(也可用于 Ollama)

提示 : Ollama 使用 DEEPSEEK_BASE_URL="http://localhost:11434/v1"VLLM_BASE_URL 配置


功能详解

流式推理输出

DeepSeek-TUI 支持 DeepSeek 模型的推理块(reasoning blocks)实时流式显示,让用户能够看到 AI 的思考过程。

复制代码
[Reasoning]
分析代码结构...
检查依赖关系...
生成解决方案...

[Response]
这里是最终的回答...

工具套件

完整的开发工具支持:

  • 文件操作: 读取、写入、编辑文件
  • Shell执行: 运行命令行指令
  • Git: 版本控制操作
  • Web搜索: 实时网络查询
  • apply-patch: 代码补丁应用
  • 子代理: 任务分解执行
  • MCP服务器: 扩展工具连接

MCP 协议集成

支持 Model Context Protocol,可连接外部工具和服务:

toml 复制代码
[mcp.servers]
github = { command = "gh-mcp-server" }
database = { command = "mysql-mcp-server" }

依赖清单

核心依赖(Workspace)

复制代码
tokio = "1.49.0"           # 异步运行时(full features)
reqwest = "0.13.1"         # HTTP 客户端(rustls, json, streaming)
serde = "1.0.228"          # 序列化框架
serde_json = "1.0.149"     # JSON 处理
clap = "4.5.54"            # CLI 参数解析
axum = "0.8.5"             # HTTP 服务端
rusqlite = "0.32.1"        # SQLite 持久化
tracing = "0.1"            # 日志/追踪
toml = "0.9.7"             # 配置文件解析
anyhow = "1.0.100"         # 错误处理
thiserror = "2.0"          # 自定义错误类型
chrono = "0.4.43"          # 时间处理
uuid = "1.11"              # UUID 生成

TUI 专用依赖

复制代码
ratatui = "0.29"           # TUI 框架
crossterm = "0.28"         # 终端控制
schemaui = "0.12.0"        # UI schema 系统
rustyline = "15.0.0"       # 行编辑/Readline
arboard = "3.4"            # 剪贴板支持
colored = "3.0.0"          # 终端颜色
portable-pty = "0.8"       # PTY 处理
unicode-width = "0.2"      # Unicode 宽度
unicode-segmentation = "1.12" # Unicode 分词

扩展功能依赖

复制代码
image = "0.25"             # 图像处理(PNG)
pdf-extract = "0.7"        # PDF 提取
starlark = "0.13.0"        # 内嵌脚本语言
tiny_http = "0.12"         # 轻量 HTTP
ignore = "0.4"             # Gitignore 过滤
sha2 = "0.10"              # SHA 哈希
zeroize = "1.8.2"          # 安全内存清零

系统要求

要求 说明
Rust 编译器 1.88+ (编译源码需要)
操作系统 Linux x64/ARM64, macOS x64/ARM64, Windows x64
终端 支持 ANSI 颜色的现代终端
网络 DeepSeek API 访问权限

预编译版本: 通过 npm/Homebrew/Scoop 安装无需 Rust 编译器


常见问题

Q: API Key 无效?

确保已正确设置环境变量或通过 deepseek auth set 配置。

Q: 无法连接 API?

检查网络连接和防火墙设置,运行 deepseek doctor 诊断。

Q: 如何恢复之前的会话?

使用 deepseek resume --lastCtrl+R 恢复历史会话。


项目信息

项目 信息
仓库地址 https://github.com/Hmbown/DeepSeek-TUI
作者 Hmbown
版本 v0.8.14
主要语言 Rust (Edition 2024) - 98.3%
许可证 MIT License
文档目录 docs/
Rust 要求 1.88+ (stabilized let_chains)

相关链接

相关推荐
VBAMatrix16 小时前
deepseek-v4正式接入Excel,一键生成财务分析报告
word·excel·审计·财务分析·deepseek·会计师事务所·tb工具箱
kyriewen16 小时前
GPT-5.5 全员白嫖,DeepSeek 估值 3000 亿,但 Claude 今天被请喝茶了
gpt·claude·deepseek
IT当时语_青山师__JAVA技术栈1 天前
DeepSeek V4 出来了,我一个 Java 老炮第一时间接进 Spring Boot——附 V3 vs V4 实测对比
gpt·openai·deepseek
2601_955781981 天前
DeepSeek 模型在 OpenClaw 中的配置与使用
deepseek·open claw安装·open claw部署
冰镇生鲜1 天前
claudeCode+DeepSeekV4pro[1m]
deepseek
AC赳赳老秦2 天前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
AI精钢2 天前
DeepSeek KV Cache 入门解读:98% 命中率背后的工程逻辑
大模型·llm推理·kv cache·deepseek·ai工程
AC赳赳老秦2 天前
财务报销自动化:用 OpenClaw 自动识别发票信息、填写报销单、校验报销规则,减少手工操作
运维·网络·eclipse·github·visual studio·deepseek·openclaw
AC赳赳老秦3 天前
投标合规提效:用 OpenClaw 实现标书 / 合同自动审核、关键词校验、格式优化,降低废标风险
开发语言·前端·python·eclipse·emacs·deepseek·openclaw