DeepSeek TUI 的 VS Code 集成插件,将终端 AI 编程助手嵌入 VS Code 侧边栏,支持聊天、代码分析与流式输出。
这个扩展是 DeepSeek TUI 命令行工具的 VS Code 前端。它通过 deepseek serve --http 启动一个本地 HTTP 服务,然后通过 HTTP/SSE 与之通信。
VS Code 扩展 (WebView Chat)
│
▼ HTTP/SSE (localhost:7878)
│
deepseek serve --http
│
▼ DeepSeek API
│
AI 大模型
扩展本身不直接调用任何 AI 接口,所有请求都走本地 deepseek serve --http 服务转发。
需要先安装 DeepSeek TUI 命令行工具:
npm install -g deepseek-tui
验证安装:
deepseek --version
在 VS Code 扩展商店搜索 DeepSeek TUI 安装,或从 .vsix 文件手动安装。
安装扩展后,VS Code 侧边栏会出现 DeepSeek TUI 图标(🐋),点击即可打开 Chat 面板。
扩展激活时会自动执行以下操作:
deepseek serve --http --auth-token <随机token>如果侧边栏没有图标,可以按
Cmd+Shift+P(Windows:Ctrl+Shift+P)输入 Open DeepSeek Chat 手动打开。
在编辑器中选中一段代码,右键菜单会出现四个操作:
| 操作 | 说明 |
|---|---|
| Analyze Selected Code | 让 AI 分析这段代码 |
| Fix Selected Code Problems | 让 AI 修复代码中的问题 |
| Explain Selected Code | 让 AI 解释代码逻辑 |
| Refactor Selected Code | 让 AI 重构代码 |
点击后会自动打开 Chat 面板并发送请求,结果以流式方式实时渲染。
| 操作 | 命令 | 说明 |
|---|---|---|
| 启动服务 | Start DeepSeek Server | 在终端中手动启动 deepseek serve --http |
| 停止服务 | Stop DeepSeek Server | 停止扩展管理的后端进程 |
| 诊断 | Run DeepSeek Doctor | 运行 deepseek doctor 检查环境 |
默认情况下扩展激活时自动启动服务(autoStartServer: true),无需手动操作。
打开 Output 面板(Cmd+Shift+U 或 Ctrl+Shift+U),在下拉菜单中选择 DeepSeek TUI,可以查看运行日志。
| 命令 | ID | 触发方式 |
|---|---|---|
| Open DeepSeek Chat | deepseek-tui.openChat | 命令面板 / 侧边栏图标 |
| Analyze Selected Code | deepseek-tui.analyzeCode | 右键菜单 / 命令面板 |
| Fix Selected Code Problems | deepseek-tui.fixCode | 右键菜单 / 命令面板 |
| Explain Selected Code | deepseek-tui.explainCode | 右键菜单 / 命令面板 |
| Refactor Selected Code | deepseek-tui.refactorCode | 右键菜单 / 命令面板 |
| Start DeepSeek Server | deepseek-tui.startServer | 命令面板 |
| Stop DeepSeek Server | deepseek-tui.stopServer | 命令面板 |
| Run DeepSeek Doctor | deepseek-tui.runDoctor | 命令面板 |
| 配置 | 类型 | 默认值 | 说明 |
|---|---|---|---|
deepseekTUI.serverPort | number | 7878 | DeepSeek TUI HTTP 服务端口 |
deepseekTUI.autoStartServer | boolean | true | 激活时自动启动本地 HTTP 服务 |
deepseekTUI.model | string | "auto" | 默认模型 |
注意:
serverPort的默认值在package.json中定义为 7878,实际启动参数默认使用 7878(与deepseek serve --http的默认端口一致)。
# 克隆
git clone https://cnb.cool/zhiqiangwang/deepseek-tui-vscode
cd deepseek-tui-vscode
# 安装依赖
pnpm install
# 编译(TypeScript → JavaScript)
pnpm run compile
# 监听模式(修改自动编译)
pnpm run watch
# 运行测试
pnpm test
# 打包 vsix
npx vsce package
src/
├── extension.ts # 扩展入口,激活/停用
├── commands/
│ └── editorCommands.ts # 编辑器命令注册(服务器管理、代码分析)
├── services/
│ └── deepseekService.ts # HTTP/SSE 客户端,与后端通信
├── utils/
│ ├── editorUtils.ts # 编辑器工具函数
│ └── logger.ts # 日志输出
├── webview/
│ ├── ChatPanel.ts # Chat WebView 提供者
│ └── chat.html # 前端界面(HTML + CSS + JS)
└── test/
└── extension.test.ts # 扩展测试
编译产物输出到 out/ 目录。
确保已安装 vsce 工具(如未安装):
npm install -g @vscode/vsce
在项目根目录执行打包命令:
npx vsce package
打包成功后会在当前目录生成一个 .vsix 文件,例如 deepseek-tui-vscode-0.0.1.vsix。
首次打包时
vsce会提示输入扩展的发布者名称,可以在package.json的publisher字段中预先配置。
Cmd+Shift+P(Windows: Ctrl+Shift+P)打开命令面板.vsix 文件code --install-extension deepseek-tui-vscode-0.0.1.vsix
重新打包后,使用上述任一方式重新安装即可覆盖旧版本。
Cmd+Shift+X)或使用命令行:
code --uninstall-extension deepseek-tui-vscode
扩展通过 node:http 模块直接与 deepseek serve --http 通信,使用以下 API:
| 端点 | 用途 |
|---|---|
GET /health | 健康检查 |
POST /v1/threads | 创建会话 |
POST /v1/threads/{id}/turns | 发送消息(body: {"prompt":"..."}) |
GET /v1/threads/{id}/events?since_seq=0 | SSE 流式接收回复 |
POST /v1/threads/{id}/turns/interrupt | 中断生成 |
扩展自动生成一个随机 token,通过 --auth-token 参数传递给 deepseek serve --http,后续所有 HTTP 请求自动携带 Authorization: Bearer <token>。整个过程对用户透明,无需手动配置。