easycode-ai 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +1344 -0
  3. package/bundle/assets/help/cli-help-knowledge.md +1971 -0
  4. package/bundle/assets/sounds/confirmation-required.wav +0 -0
  5. package/bundle/assets/sounds/response-complete.wav +0 -0
  6. package/bundle/assets/sounds/selection-made.wav +0 -0
  7. package/bundle/dvcode.js +14 -0
  8. package/bundle/easycode.js +7450 -0
  9. package/bundle/fix-binary-permissions.js +215 -0
  10. package/bundle/login/templates/authSelectPage.html +1123 -0
  11. package/bundle/login/templates/deepv.ico +0 -0
  12. package/bundle/login/templates/feishu.ico +0 -0
  13. package/bundle/node_modules/@vscode/ripgrep/bin/darwin-arm64-rg +0 -0
  14. package/bundle/node_modules/@vscode/ripgrep/bin/darwin-x64-rg +0 -0
  15. package/bundle/node_modules/@vscode/ripgrep/bin/linux-arm-rg +0 -0
  16. package/bundle/node_modules/@vscode/ripgrep/bin/linux-arm64-rg +0 -0
  17. package/bundle/node_modules/@vscode/ripgrep/bin/linux-x64-rg +0 -0
  18. package/bundle/node_modules/@vscode/ripgrep/bin/rg.exe +0 -0
  19. package/bundle/node_modules/@vscode/ripgrep/bin/win32-arm64-rg.exe +0 -0
  20. package/bundle/node_modules/@vscode/ripgrep/bin/win32-ia32-rg.exe +0 -0
  21. package/bundle/node_modules/@vscode/ripgrep/bin/win32-x64-rg.exe +0 -0
  22. package/bundle/node_modules/@vscode/ripgrep/lib/download.js +357 -0
  23. package/bundle/node_modules/@vscode/ripgrep/lib/index.d.ts +1 -0
  24. package/bundle/node_modules/@vscode/ripgrep/lib/index.js +42 -0
  25. package/bundle/node_modules/@vscode/ripgrep/lib/postinstall.js +121 -0
  26. package/bundle/node_modules/@vscode/ripgrep/package.json +24 -0
  27. package/bundle/sandbox-macos-permissive-closed.sb +26 -0
  28. package/bundle/sandbox-macos-permissive-open.sb +19 -0
  29. package/bundle/sandbox-macos-permissive-proxied.sb +31 -0
  30. package/bundle/sandbox-macos-restrictive-closed.sb +87 -0
  31. package/bundle/sandbox-macos-restrictive-open.sb +90 -0
  32. package/bundle/sandbox-macos-restrictive-proxied.sb +92 -0
  33. package/package.json +156 -0
package/README.md ADDED
@@ -0,0 +1,1344 @@
1
+ <div align="center">
2
+
3
+ # 🚀 DeepV Code
4
+
5
+ ### **AI 驱动的智能编程助手**
6
+
7
+ *赋能开发者,加速创新*
8
+
9
+ <br>
10
+
11
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
12
+ [![Node.js](https://img.shields.io/badge/Node.js-20%2B-43853D.svg?logo=node.js&logoColor=white)](https://nodejs.org/)
13
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.0%2B-3178C6.svg?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
14
+ [![npm](https://img.shields.io/badge/npm-deepv--code-CB3837.svg?logo=npm)](https://www.npmjs.com/package/deepv-code)
15
+ [![VS Code](https://img.shields.io/badge/VS%20Code-Extension-007ACC.svg?logo=visual-studio-code)](https://code.visualstudio.com/)
16
+
17
+ <br>
18
+
19
+ [English](./README_EN.md) | **简体中文**
20
+
21
+ <br>
22
+
23
+ <!-- 如果有演示 GIF,取消下面这行注释 -->
24
+ <!-- <img src="docs/assets/demo.gif" alt="DeepV Code Demo" width="800"> -->
25
+
26
+ </div>
27
+
28
+ ---
29
+
30
+ ## 📖 目录
31
+
32
+ - [项目简介](#-项目简介)
33
+ - [为什么选择 DeepV Code](#-为什么选择-deepv-code)
34
+ - [核心特性](#-核心特性)
35
+ - [快速安装](#-快速安装)
36
+ - [快速开始](#-快速开始)
37
+ - [CLI 命令参考](#-cli-命令参考)
38
+ - [交互式斜杠命令](#-交互式斜杠命令)
39
+ - [项目架构](#️-项目架构)
40
+ - [VS Code 扩展](#-vs-code-扩展)
41
+ - [内置工具系统](#️-内置工具系统)
42
+ - [MCP 协议支持](#-mcp-协议支持)
43
+ - [Hooks 钩子机制](#-hooks-钩子机制)
44
+ - [配置文件](#️-配置文件)
45
+ - [开发指南](#-开发指南)
46
+ - [常见问题](#-常见问题)
47
+ - [贡献指南](#-贡献指南)
48
+ - [路线图](#️-路线图)
49
+ - [许可证](#-许可证)
50
+ - [相关链接](#-相关链接)
51
+
52
+ ---
53
+
54
+ ## ✨ 项目简介
55
+
56
+ **DeepV Code** 是一款革命性的 AI 驱动智能编程助手,通过深度整合人工智能技术,全面提升软件开发的效率、质量和创新能力。
57
+
58
+ 不同于传统的代码补全工具,DeepV Code 是一个能够**理解整个项目上下文**、**自主编排工具完成复杂任务**的智能代理(Agent)。它将开发者从繁琐重复的工作中解放出来,让你专注于更高层次的创新和问题解决。
59
+
60
+ ### 💡 DeepV Code 能做什么?
61
+
62
+ ```
63
+ 👤 你:帮我分析这个项目的架构,找出性能瓶颈,并给出优化方案
64
+
65
+ 🤖 DeepV Code:
66
+ ├── 📂 扫描项目结构,理解模块依赖
67
+ ├── 🔍 分析代码热点和复杂度
68
+ ├── 📊 识别潜在的性能问题
69
+ ├── 💡 生成优化建议和重构方案
70
+ └── ✏️ 自动应用修改(经你确认后)
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 🌟 为什么选择 DeepV Code
76
+
77
+ <table>
78
+ <tr>
79
+ <td width="50%">
80
+
81
+ ### 🎯 与传统 AI 编码助手的区别
82
+
83
+ | 特性 | 传统工具 | DeepV Code |
84
+ |:---:|:---:|:---:|
85
+ | 上下文范围 | 单文件 | **整个项目** |
86
+ | 交互方式 | 被动补全 | **主动代理** |
87
+ | 任务复杂度 | 简单补全 | **复杂工作流** |
88
+ | 工具调用 | 无 | **Shell/文件/Web** |
89
+ | 会话管理 | 无 | **持久化会话** |
90
+ | 可扩展性 | 受限 | **MCP/Hooks/Skills** |
91
+
92
+ </td>
93
+ <td width="50%">
94
+
95
+ ### 🚀 核心优势
96
+
97
+ - **🧠 深度理解** - 通过 MCP 协议构建完整项目认知
98
+ - **🛠️ 自主执行** - AI 可调用工具完成实际操作
99
+ - **🔄 持续对话** - 会话保存/恢复,上下文不丢失
100
+ - **🎨 多端支持** - CLI + VS Code 插件
101
+ - **🔌 高度可扩展** - Hooks、Skills、MCP 服务器
102
+ - **🔒 安全可控** - 敏感操作需用户确认
103
+
104
+ </td>
105
+ </tr>
106
+ </table>
107
+
108
+ ---
109
+
110
+ ## 🎯 核心特性
111
+
112
+ ### 🧠 AI 驱动的代码生成与重构
113
+
114
+ - **智能代码生成** - 根据自然语言描述生成完整的函数、类、模块甚至整个应用
115
+ - **代码重构建议** - 识别代码异味,提供优化方案,自动统一代码风格
116
+ - **Bug 智能修复** - 分析错误堆栈,定位问题根源,生成修复代码
117
+ - **多语言支持** - TypeScript、JavaScript、Python、Go、Rust、Java 等主流语言
118
+
119
+ ### 🔍 智能调试与问题解决
120
+
121
+ - **错误日志分析** - 深入解析错误信息,快速定位问题
122
+ - **堆栈追踪诊断** - 理解调用链路,找出异常根因
123
+ - **自动修复执行** - 生成修复方案,一键应用(需确认)
124
+ - **增强调试控制台** - `Ctrl+O` 三状态循环:全部日志 → 仅错误 → 关闭,智能过滤错误信息
125
+
126
+ ### 📦 高级上下文管理 (MCP)
127
+
128
+ Model Context Protocol (MCP) 是 DeepV Code 的核心创新:
129
+
130
+ - **全局项目视图** - 理解文件结构、模块依赖、代码语义
131
+ - **跨文件分析** - 追踪函数调用链、类型引用、导入导出
132
+ - **智能上下文选择** - 自动识别与任务相关的文件和代码段
133
+ - **第三方 MCP 服务器** - 接入外部数据源和工具
134
+
135
+ ### 🛠️ 可扩展工具系统
136
+
137
+ AI 通过工具与外部环境交互,内置丰富工具集:
138
+
139
+ ```
140
+ 📁 文件操作 → read_file, write_file, replace, delete_file, glob
141
+ 🔍 代码搜索 → grep (ripgrep), read_many_files
142
+ 💻 命令执行 → shell (bash/powershell)
143
+ 🌐 网络访问 → web_fetch, web_search (Google)
144
+ 🧩 MCP 工具 → 调用任意 MCP 服务器提供的工具
145
+ 📊 代码分析 → task (启动分析子 Agent)
146
+ 📝 任务管理 → todo_write
147
+ 💾 记忆系统 → memory (长期记忆)
148
+ ```
149
+
150
+ ### 🪝 Hooks 钩子机制
151
+
152
+ 在关键工作流节点注入自定义逻辑:
153
+
154
+ - **PreToolExecution** - 工具执行前触发
155
+ - **PostToolExecution** - 工具执行后触发
156
+ - **OnSessionStart** - 会话开始时触发
157
+ - **OnSessionEnd** - 会话结束时触发
158
+
159
+ 支持自动化代码检查、格式化、提交前验证等场景。
160
+
161
+ ### 🔄 会话管理
162
+
163
+ - **会话持久化** - 自动保存对话历史和上下文
164
+ - **会话恢复** - 随时继续之前的工作
165
+ - **历史压缩** - 智能压缩对话历史,节省 Token
166
+ - **检查点恢复** - 文件修改可回滚到之前状态
167
+
168
+ ---
169
+
170
+ ## 📦 快速安装
171
+
172
+ ### 系统要求
173
+
174
+ - **Node.js** 20.0.0 或更高版本
175
+ - **操作系统** Windows / macOS / Linux
176
+ - **终端** 支持 ANSI 颜色的终端模拟器
177
+
178
+ ### 方式一:npm 全局安装(推荐)
179
+
180
+ ```bash
181
+ # 使用 npm
182
+ npm install -g deepv-code
183
+
184
+ # 使用 yarn
185
+ yarn global add deepv-code
186
+
187
+ # 使用 pnpm
188
+ pnpm add -g deepv-code
189
+ ```
190
+
191
+ 安装完成后,验证安装:
192
+
193
+ ```bash
194
+ dvcode --version
195
+ ```
196
+
197
+ ### 方式二:从源码构建
198
+
199
+ ```bash
200
+ # 1. 克隆仓库
201
+ git clone https://github.com/OrionStarAI/DeepVCode.git
202
+ cd DeepVCode
203
+
204
+ # 2. 安装依赖
205
+ npm install
206
+
207
+ # 3. 构建项目
208
+ npm run build
209
+
210
+ # 4. 本地开发运行
211
+ npm run dev
212
+
213
+ # 5. (可选) 生产环境打包
214
+ npm run pack:prod
215
+ ```
216
+
217
+ ---
218
+
219
+ ## 🚀 快速开始
220
+
221
+ ### 第一步:启动 DeepV Code
222
+
223
+ 在任意项目目录中运行:
224
+
225
+ ```bash
226
+ dvcode
227
+ ```
228
+
229
+ 首次启动会引导你完成身份认证。
230
+
231
+ ### 第二步:开始对话
232
+
233
+ ```
234
+ ┌─────────────────────────────────────────────────────────────┐
235
+ │ 🚀 DeepV Code - AI 驱动的智能编程助手 │
236
+ │─────────────────────────────────────────────────────────────│
237
+ │ │
238
+ │ 👋 你好!我是 DeepV Code,你的 AI 编程助手。 │
239
+ │ │
240
+ │ 💡 试试这些命令开始: │
241
+ │ • "分析这个项目的架构" │
242
+ │ • "帮我写一个用户登录的 API" │
243
+ │ • "这段代码有什么问题?" │
244
+ │ • /help 查看帮助 │
245
+ │ │
246
+ └─────────────────────────────────────────────────────────────┘
247
+
248
+ > 你想做什么?
249
+ ```
250
+
251
+ ### 第三步:与 AI 协作
252
+
253
+ ```bash
254
+ # 示例对话
255
+ > 帮我创建一个 Express REST API,包含用户的 CRUD 操作
256
+
257
+ 🤖 好的,我来帮你创建。首先让我了解一下项目结构...
258
+
259
+ [调用工具: glob] 扫描项目文件...
260
+ [调用工具: read_file] 读取 package.json...
261
+ [调用工具: write_file] 创建 src/routes/users.js...
262
+ [调用工具: write_file] 创建 src/controllers/userController.js...
263
+ [调用工具: shell] 安装依赖 express...
264
+
265
+ ✅ 已创建用户 CRUD API,包含以下文件:
266
+ - src/routes/users.js
267
+ - src/controllers/userController.js
268
+ - src/models/User.js
269
+
270
+ 启动服务器:npm run dev
271
+ ```
272
+
273
+ ---
274
+
275
+ ## 📋 CLI 命令参考
276
+
277
+ ### 全局选项
278
+
279
+ ```bash
280
+ dvcode [options]
281
+ ```
282
+
283
+ | 选项 | 简写 | 说明 |
284
+ |:---|:---:|:---|
285
+ | `--model <name>` | `-m` | 指定 AI 模型 |
286
+ | `--prompt <text>` | `-p` | 非交互模式,执行单次提示 |
287
+ | `--prompt-interactive <text>` | `-i` | 执行提示后进入交互模式 |
288
+ | `--sandbox` | `-s` | 在沙箱环境中运行(增强安全性) |
289
+ | `--debug` | `-d` | 启用调试模式,输出详细日志 |
290
+ | `--all-files` | `-a` | 在上下文中包含所有项目文件 |
291
+ | `--yolo` | `-y` | YOLO 模式:自动执行所有操作,无需确认 |
292
+ | `--continue` | `-c` | 继续上次会话 |
293
+ | `--session <id>` | | 恢复指定 ID 的会话 |
294
+ | `--list-sessions` | | 列出所有可用会话 |
295
+ | `--workdir <path>` | | 指定工作目录 |
296
+ | `--version` | `-v` | 显示版本号 |
297
+ | `--help` | `-h` | 显示帮助信息 |
298
+
299
+ ### 使用示例
300
+
301
+ ```bash
302
+ # 基本启动
303
+ dvcode
304
+
305
+ # 使用 Gemini 2.0 Flash 模型
306
+ dvcode -m gemini-2.0-flash
307
+
308
+ # 执行单次任务(非交互)
309
+ dvcode -p "为 src/utils.ts 添加单元测试"
310
+
311
+ # 继续上次会话
312
+ dvcode -c
313
+
314
+ # YOLO 模式(危险:自动执行所有操作)
315
+ dvcode -y
316
+
317
+ # 调试模式
318
+ dvcode -d
319
+
320
+ # 指定工作目录
321
+ dvcode --workdir /path/to/project
322
+
323
+ # 列出所有会话
324
+ dvcode --list-sessions
325
+
326
+ # 恢复特定会话
327
+ dvcode --session abc123
328
+ ```
329
+
330
+ ---
331
+
332
+ ## ⚡ 交互式斜杠命令
333
+
334
+ 在交互模式下,使用以 `/` 开头的命令快速执行操作:
335
+
336
+ ### 核心命令
337
+
338
+ | 命令 | 说明 |
339
+ |:---|:---|
340
+ | `/help` | 显示帮助信息和快速入门指南 |
341
+ | `/help-ask` | AI 智能帮助助手,解答使用问题 |
342
+ | `/issue <描述>` | 提交 GitHub Issue(自动附带错误日志) |
343
+ | `/quit` 或 `/exit` | 退出应用,显示会话统计 |
344
+
345
+ ### 会话与模型
346
+
347
+ | 命令 | 说明 |
348
+ |:---|:---|
349
+ | `/session` | 会话管理:`list` / `new` / `select <id>` / `rebuild` |
350
+ | `/model [name]` | 切换 AI 模型,不带参数显示选择对话框 |
351
+ | `/compress` | 压缩对话历史,减少 Token 消耗 |
352
+ | `/stats` | 显示会话统计信息 |
353
+
354
+ ### 工具与扩展
355
+
356
+ | 命令 | 说明 |
357
+ |:---|:---|
358
+ | `/tools [nodesc]` | 查看可用工具列表 |
359
+ | `/mcp [subcommand]` | MCP 服务器管理:`add` / `auth` / `refresh` |
360
+ | `/memory` | 长期记忆管理:`show` / `add` / `refresh` |
361
+
362
+ ### 工作模式
363
+
364
+ | 命令 | 说明 |
365
+ |:---|:---|
366
+ | `/plan [on\|off]` | 计划模式:只讨论不修改代码 |
367
+ | `/yolo [on\|off]` | YOLO 模式:自动执行所有操作 |
368
+ | `/vim` | 切换 Vim 编辑模式 |
369
+
370
+ ### 文件与编辑
371
+
372
+ | 命令 | 说明 |
373
+ |:---|:---|
374
+ | `/restore [id]` | 恢复文件到检查点状态 |
375
+ | `/refine <text>` | 文本润色,支持 `--tone` / `--lang` / `--level` |
376
+ | `/trim-spaces [on\|off]` | 配置是否自动删除行末空格 |
377
+ | `/copy` | 复制最后一条 AI 回复到剪贴板 |
378
+
379
+ ### 界面与设置
380
+
381
+ | 命令 | 说明 |
382
+ |:---|:---|
383
+ | `/clear` | 清空终端屏幕 |
384
+ | `/theme` | 主题选择对话框 |
385
+ | `/editor` | 编辑器配置对话框 |
386
+ | `/about` | 显示系统和应用信息 |
387
+
388
+ ### 调试控制台
389
+
390
+ DeepV Code 提供增强的调试控制台功能,通过 `Ctrl+O` 快捷键实现三状态循环:
391
+
392
+ | 快捷键 | 状态 | 说明 |
393
+ |:---|:---|:---|
394
+ | `Ctrl+O` (第1次) | 📊 全部日志 | 打开调试控制台,显示所有日志信息 |
395
+ | `Ctrl+O` (第2次) | ⚠️ 仅错误 | 过滤显示错误日志,显示黄色 `[ERRORS ONLY]` 标识 |
396
+ | `Ctrl+O` (第3次) | 🚫 关闭 | 关闭调试控制台 |
397
+
398
+ **功能特点:**
399
+ - 🎯 **智能过滤**:自动识别错误、异常、堆栈跟踪等关键信息
400
+ - 🎨 **视觉提示**:错误模式显示醒目的黄色标识
401
+ - ⚡ **快速切换**:一键在全部日志和错误过滤间切换
402
+ - 🔍 **错误高亮**:自动检测并显示错误关键词和堆栈信息
403
+
404
+ ### 账户与认证
405
+
406
+ | 命令 | 说明 |
407
+ |:---|:---|
408
+ | `/auth` | 身份认证管理 |
409
+ | `/account` | 账户信息和余额查看 |
410
+
411
+ ### 项目配置
412
+
413
+ | 命令 | 说明 |
414
+ |:---|:---|
415
+ | `/init` | 初始化项目配置文件 `DEEPV.md` |
416
+ | `/hooks` | 查看 Hooks 钩子机制帮助文档 |
417
+ | `/ide` | IDE 集成管理(VS Code 模式下可用) |
418
+
419
+ ---
420
+
421
+ ## 🏗️ 项目架构
422
+
423
+ DeepV Code 采用现代化的 **Monorepo** 架构,确保代码一致性和高效协作。
424
+
425
+ ### 目录结构
426
+
427
+ ```
428
+ DeepVCode/
429
+
430
+ ├── 📁 packages/ # 核心包目录
431
+ │ │
432
+ │ ├── 📁 cli/ # 命令行界面包
433
+ │ │ ├── src/
434
+ │ │ │ ├── commands/ # 斜杠命令实现
435
+ │ │ │ ├── ui/ # 终端 UI 组件 (React Ink)
436
+ │ │ │ │ ├── components/ # 可复用 UI 组件
437
+ │ │ │ │ ├── dialogs/ # 对话框组件
438
+ │ │ │ │ └── themes/ # 主题配置
439
+ │ │ │ ├── services/ # 服务层
440
+ │ │ │ ├── auth/ # 客户端认证
441
+ │ │ │ └── utils/ # 工具函数
442
+ │ │ └── package.json
443
+ │ │
444
+ │ ├── 📁 core/ # 核心功能库
445
+ │ │ ├── src/
446
+ │ │ │ ├── tools/ # AI 工具集
447
+ │ │ │ │ ├── shell.ts # Shell 命令执行
448
+ │ │ │ │ ├── read-file.ts # 文件读取
449
+ │ │ │ │ ├── write-file.ts # 文件写入
450
+ │ │ │ │ ├── edit.ts # 文件编辑 (replace)
451
+ │ │ │ │ ├── glob.ts # 文件搜索
452
+ │ │ │ │ ├── grep.ts # 内容搜索
453
+ │ │ │ │ ├── web-fetch.ts # 网页抓取
454
+ │ │ │ │ ├── web-search.ts # Google 搜索
455
+ │ │ │ │ ├── task.ts # 子 Agent 任务
456
+ │ │ │ │ └── ...
457
+ │ │ │ ├── mcp/ # MCP 引擎
458
+ │ │ │ ├── prompts/ # Prompt 模板
459
+ │ │ │ ├── auth/ # 认证模块
460
+ │ │ │ ├── hooks/ # Hooks 系统
461
+ │ │ │ ├── skills/ # Skills 扩展
462
+ │ │ │ ├── services/ # 核心服务
463
+ │ │ │ ├── config/ # 配置管理
464
+ │ │ │ └── utils/ # 工具函数
465
+ │ │ └── package.json
466
+ │ │
467
+ │ ├── 📁 vscode-ide-companion/ # VS Code CLI 伴侣扩展
468
+ │ │ ├── src/
469
+ │ │ │ └── extension.ts # 扩展入口
470
+ │ │ └── package.json
471
+ │ │
472
+ │ └── 📁 vscode-ui-plugin/ # VS Code 完整 UI 插件
473
+ │ ├── src/ # 扩展源码
474
+ │ ├── webview/ # React Webview 前端
475
+ │ └── package.json
476
+
477
+ ├── 📁 docs/ # 文档目录
478
+ │ ├── architecture.md # 架构设计
479
+ │ ├── hooks-user-guide.md # Hooks 使用指南
480
+ │ ├── mcp-improvements-summary.md # MCP 集成说明
481
+ │ └── ...
482
+
483
+ ├── 📁 scripts/ # 构建和工具脚本
484
+ │ ├── build.js # 主构建脚本
485
+ │ ├── build_package.js # 包构建
486
+ │ ├── clean.js # 清理脚本
487
+ │ └── ...
488
+
489
+ ├── 📄 package.json # 根配置 (Workspaces)
490
+ ├── 📄 tsconfig.json # TypeScript 配置
491
+ ├── 📄 eslint.config.js # ESLint 配置
492
+ ├── 📄 esbuild.config.js # esbuild 打包配置
493
+ ├── 📄 DeepV_Code_Whitepaper.md # 产品白皮书
494
+ ├── 📄 DEEPV.md # 项目 AI 开发规范
495
+ └── 📄 LICENSE # Apache 2.0 许可证
496
+ ```
497
+
498
+ ### 技术栈详解
499
+
500
+ | 类别 | 技术 | 说明 |
501
+ |:---:|:---|:---|
502
+ | **语言** | TypeScript 5.x | 强类型,提升代码质量 |
503
+ | **运行时** | Node.js 20+ | 现代 JavaScript 运行时 |
504
+ | **CLI UI** | React + Ink | 声明式终端 UI 框架 |
505
+ | **构建** | esbuild | 极速打包,毫秒级构建 |
506
+ | **测试** | Vitest | 现代化单元测试框架 |
507
+ | **代码规范** | ESLint + Prettier | 统一代码风格 |
508
+ | **包管理** | npm Workspaces | Monorepo 管理 |
509
+ | **AI SDK** | @google/genai | Google Gemini API |
510
+ | **MCP** | @modelcontextprotocol/sdk | MCP 协议实现 |
511
+
512
+ ### 交互流程
513
+
514
+ ```
515
+ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
516
+ │ 用户输入 │────▶│ CLI 包 │────▶│ Core 包 │
517
+ │ (终端) │ │ (UI/交互) │ │ (业务逻辑) │
518
+ └─────────────┘ └─────────────┘ └──────┬──────┘
519
+
520
+ ┌──────────────────────────┼──────────────────────────┐
521
+ │ │ │
522
+ ▼ ▼ ▼
523
+ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
524
+ │ AI Model │ │ Tools │ │ MCP │
525
+ │ (Gemini) │ │ (Shell/File)│ │ Servers │
526
+ └─────────────┘ └─────────────┘ └─────────────┘
527
+ ```
528
+
529
+ ---
530
+
531
+ ## 🔌 VS Code 扩展
532
+
533
+ DeepV Code 提供两个 VS Code 扩展,满足不同使用场景:
534
+
535
+ ### 📡 IDE Companion(CLI 伴侣)
536
+
537
+ **轻量级扩展**,让 VS Code 与终端中运行的 CLI 无缝连接。
538
+
539
+ **功能:**
540
+ - 感知当前打开的文件
541
+ - 获取选中的代码片段
542
+ - 与 CLI 实时同步工作区状态
543
+
544
+ **构建方法:**
545
+
546
+ ```bash
547
+ cd packages/vscode-ide-companion
548
+
549
+ # 安装依赖
550
+ npm install
551
+
552
+ # 构建
553
+ npm run build
554
+
555
+ # 打包为 .vsix
556
+ npm run package
557
+ ```
558
+
559
+ ### 🎨 UI Plugin(图形化插件)
560
+
561
+ **完整功能的图形化 AI 编码助手**。
562
+
563
+ **功能:**
564
+ - 📱 侧边栏 AI 对话窗口
565
+ - 🖱️ 右键菜单代码操作
566
+ - 解释选中代码
567
+ - 优化代码
568
+ - 生成单元测试
569
+ - 添加到当前对话
570
+ - ✨ 代码内联补全建议
571
+ - 🔌 MCP 服务器状态管理
572
+ - 📜 自定义规则管理
573
+ - ⏪ 版本历史和回滚
574
+
575
+ **构建方法:**
576
+
577
+ ```bash
578
+ cd packages/vscode-ui-plugin
579
+
580
+ # 安装扩展依赖
581
+ npm install
582
+
583
+ # 构建 Webview 前端(首次需要)
584
+ cd webview
585
+ npm install
586
+ npm run build
587
+ cd ..
588
+
589
+ # 构建扩展
590
+ npm run build
591
+
592
+ # 打包为 .vsix
593
+ npm run package
594
+ ```
595
+
596
+ **安装扩展:**
597
+
598
+ 1. 打开 VS Code
599
+ 2. 按 `Ctrl+Shift+P` (Windows/Linux) 或 `Cmd+Shift+P` (macOS)
600
+ 3. 输入 "Install from VSIX"
601
+ 4. 选择生成的 `.vsix` 文件
602
+
603
+ ---
604
+
605
+ ## 🛠️ 内置工具系统
606
+
607
+ DeepV Code 的 AI 通过工具系统与外部环境交互。所有工具都经过精心设计,确保安全性和可控性。
608
+
609
+ ### 文件操作工具
610
+
611
+ | 工具 | 说明 | 安全级别 |
612
+ |:---|:---|:---:|
613
+ | `read_file` | 读取文件内容,支持文本、图片、PDF、Excel、Word | 🟢 只读 |
614
+ | `read_many_files` | 批量读取多个文件,支持 glob 模式 | 🟢 只读 |
615
+ | `write_file` | 创建新文件或覆盖写入 | 🟡 需确认 |
616
+ | `replace` | 精准替换文件中的特定内容 | 🟡 需确认 |
617
+ | `delete_file` | 删除文件(会保存备份以便恢复) | 🔴 需确认 |
618
+
619
+ ### 搜索工具
620
+
621
+ | 工具 | 说明 | 安全级别 |
622
+ |:---|:---|:---:|
623
+ | `glob` | 按模式搜索文件名,支持 `**/*.ts` 等模式 | 🟢 只读 |
624
+ | `grep` | 在文件内容中搜索正则表达式 (ripgrep) | 🟢 只读 |
625
+ | `ls` | 列出目录内容 | 🟢 只读 |
626
+
627
+ ### 命令执行
628
+
629
+ | 工具 | 说明 | 安全级别 |
630
+ |:---|:---|:---:|
631
+ | `shell` | 执行 Shell 命令 (bash/powershell) | 🔴 需确认 |
632
+
633
+ ### 网络工具
634
+
635
+ | 工具 | 说明 | 安全级别 |
636
+ |:---|:---|:---:|
637
+ | `web_fetch` | 抓取网页内容,支持本地和远程 URL | 🟢 只读 |
638
+ | `web_search` | Google 搜索 | 🟢 只读 |
639
+
640
+ ### 高级工具
641
+
642
+ | 工具 | 说明 | 安全级别 |
643
+ |:---|:---|:---:|
644
+ | `task` | 启动代码分析子 Agent | 🟢 只读 |
645
+ | `mcp_tool` | 调用 MCP 服务器提供的工具 | 🟡 视工具而定 |
646
+ | `todo_write` | 管理任务列表 | 🟢 只读 |
647
+ | `memory` | 保存/读取长期记忆 | 🟢 只读 |
648
+
649
+ ### 代码质量工具
650
+
651
+ | 工具 | 说明 | 安全级别 |
652
+ |:---|:---|:---:|
653
+ | `read_lints` | 读取代码 Linter 错误 | 🟢 只读 |
654
+ | `lint_fix` | 自动修复 Linter 错误 | 🟡 需确认 |
655
+
656
+ ---
657
+
658
+ ## 🔗 MCP 协议支持
659
+
660
+ **Model Context Protocol (MCP)** 是 DeepV Code 实现深度上下文理解的核心协议。
661
+
662
+ ### 什么是 MCP?
663
+
664
+ MCP 允许 AI 模型:
665
+ - 连接外部数据源和工具
666
+ - 获取实时信息
667
+ - 与第三方服务交互
668
+
669
+ ### 配置 MCP 服务器
670
+
671
+ 在项目根目录创建 `.deepvcode/settings.json`:
672
+
673
+ #### 方式一:标准模式(通过命令启动)
674
+
675
+ 适用于本地 MCP 服务器,通过命令行启动进程。
676
+
677
+ ```json
678
+ {
679
+ "mcpServers": {
680
+ "filesystem": {
681
+ "command": "npx",
682
+ "args": ["-y", "@anthropic/mcp-server-filesystem", "/path/to/allowed/dir"]
683
+ },
684
+ "github": {
685
+ "command": "npx",
686
+ "args": ["-y", "@anthropic/mcp-server-github"],
687
+ "env": {
688
+ "GITHUB_TOKEN": "your-token"
689
+ }
690
+ }
691
+ }
692
+ }
693
+ ```
694
+
695
+ **字段说明:**
696
+ - `command`(必需):启动服务器的命令
697
+ - `args`(可选):命令参数数组
698
+ - `env`(可选):环境变量对象
699
+ - `cwd`(可选):工作目录
700
+ - `timeout`(可选):请求超时(毫秒)
701
+ - `trust`(可选):信任服务器,跳过确认
702
+ - `includeTools`(可选):白名单,仅启用指定工具
703
+ - `excludeTools`(可选):黑名单,排除指定工具
704
+
705
+ #### 方式二:Streamable HTTP 模式(推荐用于云服务)
706
+
707
+ 适用于支持 HTTP 的远程 MCP 服务器,无需本地启动进程。
708
+
709
+ ```json
710
+ {
711
+ "mcpServers": {
712
+ "Web-Search-by-Z.ai": {
713
+ "httpUrl": "https://open.bigmodel.cn/api/mcp-broker/proxy/web-search/mcp",
714
+ "headers": {
715
+ "Authorization": "Bearer **************************"
716
+ }
717
+ },
718
+ "myHttpServer": {
719
+ "httpUrl": "https://api.example.com/mcp/endpoint",
720
+ "headers": {
721
+ "Authorization": "Bearer YOUR_API_KEY",
722
+ "Custom-Header": "custom-value"
723
+ }
724
+ }
725
+ }
726
+ }
727
+ ```
728
+
729
+ **Streamable HTTP 模式字段说明:**
730
+ - `httpUrl`(必需):MCP 服务器的 HTTP 端点 URL
731
+ - `headers`(可选):HTTP 请求头对象,用于认证或传递自定义信息
732
+ - 常用认证方式:`Authorization: Bearer <token>`
733
+ - 其他字段(`includeTools`、`excludeTools`、`trust` 等)同样适用
734
+
735
+ **两种模式对比:**
736
+
737
+ | 特性 | 标准模式 | Streamable HTTP 模式 |
738
+ |-----|---------|---------------------|
739
+ | **连接方式** | 本地启动进程 | HTTP 请求 |
740
+ | **适用场景** | 本地 MCP 服务器 | 云服务、远程 MCP |
741
+ | **配置复杂度** | 需要配置命令、路径 | 只需 URL 和可选 Headers |
742
+ | **资源占用** | 本地进程资源 | 无本地进程 |
743
+ | **网络要求** | 无需网络 | 需要网络连接 |
744
+
745
+ ### 管理 MCP 服务器
746
+
747
+ ```bash
748
+ # 查看所有 MCP 服务器状态
749
+ /mcp
750
+
751
+ # 添加新服务器
752
+ /mcp add github
753
+
754
+ # 刷新服务器连接
755
+ /mcp refresh github
756
+
757
+ # 进行 OAuth 认证
758
+ /mcp auth github
759
+ ```
760
+
761
+ ---
762
+
763
+ ## 🤖 自定义模型支持
764
+
765
+ DeepV Code 支持配置 OpenAI 兼容格式和 Anthropic Claude API 格式的自定义模型,让你可以使用任何兼容的 AI 服务。
766
+
767
+ ### 为什么使用自定义模型?
768
+
769
+ - 🔓 **自由选择** - 使用你最喜爱的 AI 服务商
770
+ - 💰 **成本控制** - 直接向服务商付费,无需通过中间商
771
+ - 🏠 **本地部署** - 支持本地模型(LM Studio, Ollama 等)
772
+ - 🚀 **灵活配置** - 根据需求调整参数和端点
773
+
774
+ ### 快速配置
775
+
776
+ #### 方式一:使用模型管理界面(推荐)
777
+
778
+ 在 CLI 中输入:
779
+
780
+ ```bash
781
+ /model
782
+ ```
783
+
784
+ 然后选择 **"Model Management"**(模型管理)选项,按向导提示填写:
785
+ 1. 选择提供商类型(OpenAI Compatible / Anthropic Claude)
786
+ 2. 输入显示名称
787
+ 3. 输入 API 基础 URL
788
+ 4. 输入 API 密钥(推荐使用环境变量格式 `${OPENAI_API_KEY}`)
789
+ 5. 输入模型 ID
790
+ 6. 设置最大 Token 数(可选)
791
+ 7. 确认配置
792
+
793
+ #### 方式二:手动编辑配置文件
794
+
795
+ 编辑 `~/.deepv/custom-models.json`:
796
+
797
+ ```json
798
+ {
799
+ "models": [
800
+ {
801
+ "displayName": "GPT-4 Turbo",
802
+ "provider": "openai",
803
+ "baseUrl": "https://api.openai.com/v1",
804
+ "apiKey": "${OPENAI_API_KEY}",
805
+ "modelId": "gpt-4-turbo",
806
+ "maxTokens": 128000,
807
+ "enabled": true
808
+ },
809
+ {
810
+ "displayName": "Claude Sonnet",
811
+ "provider": "anthropic",
812
+ "baseUrl": "https://api.anthropic.com",
813
+ "apiKey": "${ANTHROPIC_API_KEY}",
814
+ "modelId": "claude-sonnet-4-5",
815
+ "maxTokens": 200000,
816
+ "enabled": true
817
+ }
818
+ ]
819
+ }
820
+ ```
821
+
822
+ ### 支持的提供商
823
+
824
+ #### OpenAI Compatible (`openai`)
825
+
826
+ 适用于任何遵循 OpenAI Chat Completions 格式的 API:
827
+
828
+ - **OpenAI 官方 API**
829
+ ```json
830
+ {
831
+ "displayName": "GPT-4 Turbo",
832
+ "provider": "openai",
833
+ "baseUrl": "https://api.openai.com/v1",
834
+ "apiKey": "${OPENAI_API_KEY}",
835
+ "modelId": "gpt-4-turbo"
836
+ }
837
+ ```
838
+
839
+ - **Azure OpenAI**
840
+ ```json
841
+ {
842
+ "displayName": "Azure GPT-4",
843
+ "provider": "openai",
844
+ "baseUrl": "https://your-resource.openai.azure.com/openai/deployments/your-deployment",
845
+ "apiKey": "${AZURE_OPENAI_KEY}",
846
+ "modelId": "gpt-4",
847
+ "headers": {
848
+ "api-version": "2024-02-01"
849
+ }
850
+ }
851
+ ```
852
+
853
+ - **本地模型(LM Studio, Ollama)**
854
+ ```json
855
+ {
856
+ "displayName": "Local Llama",
857
+ "provider": "openai",
858
+ "baseUrl": "http://localhost:1234/v1",
859
+ "apiKey": "not-needed",
860
+ "modelId": "llama-3-70b"
861
+ }
862
+ ```
863
+
864
+ - **第三方服务(Groq, Together AI 等)**
865
+ ```json
866
+ {
867
+ "displayName": "Groq Llama 3",
868
+ "provider": "openai",
869
+ "baseUrl": "https://api.groq.com/openai/v1",
870
+ "apiKey": "${GROQ_API_KEY}",
871
+ "modelId": "llama-3-70b-8192"
872
+ }
873
+ ```
874
+
875
+ #### Anthropic Claude (`anthropic`)
876
+
877
+ 适用于 Claude API 端点,支持扩展思考功能:
878
+
879
+ ```json
880
+ {
881
+ "displayName": "Claude Sonnet (Thinking)",
882
+ "provider": "anthropic",
883
+ "baseUrl": "https://api.anthropic.com",
884
+ "apiKey": "${ANTHROPIC_API_KEY}",
885
+ "modelId": "claude-sonnet-4-5",
886
+ "enableThinking": true
887
+ }
888
+ ```
889
+
890
+ ### 配置字段说明
891
+
892
+ **必需字段:**
893
+
894
+ | 字段 | 说明 | 示例 |
895
+ |-----|------|-----|
896
+ | `displayName` | 显示名称 | `GPT-4 Turbo` |
897
+ | `provider` | 提供商类型 | `openai` 或 `anthropic` |
898
+ | `baseUrl` | API 基础 URL | `https://api.openai.com/v1` |
899
+ | `apiKey` | API 密钥 | `${OPENAI_API_KEY}` |
900
+ | `modelId` | 模型名称 | `gpt-4-turbo` |
901
+
902
+ **可选字段:**
903
+
904
+ | 字段 | 说明 | 默认值 |
905
+ |-----|------|--------|
906
+ | `maxTokens` | 最大上下文窗口 | 视提供商而定 |
907
+ | `enabled` | 是否启用 | `true` |
908
+ | `headers` | 额外 HTTP 请求头 | 无 |
909
+ | `timeout` | 请求超时(毫秒) | `300000` |
910
+ | `enableThinking` | 启用 Anthropic 扩展思考 | `false` |
911
+
912
+ ### 使用自定义模型
913
+
914
+ #### 通过模型选择对话框
915
+
916
+ ```bash
917
+ /model
918
+ ```
919
+
920
+ 自定义模型会显示 `[Custom]` 标签和青色,使用方向键选择。
921
+
922
+ #### 直接切换
923
+
924
+ ```bash
925
+ /model custom:openai:gpt-4-turbo@abc123
926
+ ```
927
+
928
+ ### 环境变量设置
929
+
930
+ 推荐使用环境变量存储 API 密钥:
931
+
932
+ **Linux/macOS:**
933
+ ```bash
934
+ export OPENAI_API_KEY="sk-your-key-here"
935
+ export ANTHROPIC_API_KEY="sk-ant-your-key-here"
936
+ ```
937
+
938
+ **Windows PowerShell:**
939
+ ```powershell
940
+ $env:OPENAI_API_KEY="sk-your-key-here"
941
+ $env:ANTHROPIC_API_KEY="sk-ant-your-key-here"
942
+ ```
943
+
944
+ ### 特性与限制
945
+
946
+ ✅ **支持的功能:**
947
+ - 流式和非流式响应
948
+ - 工具调用(Function Calling)
949
+ - 多模态输入(文本、图片)
950
+ - 与 DeepV Code 所有功能集成
951
+
952
+ ⚠️ **注意:**
953
+ - 自定义模型不消耗 DeepV 积分
954
+ - 需直接向 API 提供商付费
955
+ - 某些高级功能可能因提供商限制而不可用
956
+ - Token 计数由提供商决定
957
+
958
+ ### 相关文档
959
+
960
+ - 📖 [自定义模型快速入门](./docs/custom-models-quickstart.md)
961
+ - 📖 [自定义模型完整指南](./docs/custom-models-guide.md)
962
+ - 📖 [自定义模型架构说明](./docs/custom-models-architecture.md)
963
+
964
+ ---
965
+
966
+ ## 🪝 Hooks 钩子机制
967
+
968
+ Hooks 允许你在关键工作流节点注入自定义逻辑。
969
+
970
+ ### 配置 Hooks
971
+
972
+ 在 `.deepvcode/settings.json` 中添加:
973
+
974
+ ```json
975
+ {
976
+ "hooks": {
977
+ "preToolExecution": [
978
+ {
979
+ "matcher": { "toolName": "write_file" },
980
+ "action": {
981
+ "type": "shell",
982
+ "command": "echo 'About to write file: $TOOL_ARGS'"
983
+ }
984
+ }
985
+ ],
986
+ "postToolExecution": [
987
+ {
988
+ "matcher": { "toolName": "write_file", "exitCode": 0 },
989
+ "action": {
990
+ "type": "shell",
991
+ "command": "npm run lint -- --fix $FILE_PATH"
992
+ }
993
+ }
994
+ ]
995
+ }
996
+ }
997
+ ```
998
+
999
+ ### 使用场景
1000
+
1001
+ - **自动格式化** - 文件写入后自动运行 Prettier
1002
+ - **代码检查** - 修改代码后自动运行 ESLint
1003
+ - **提交验证** - 执行 Shell 命令前检查分支
1004
+ - **日志记录** - 记录所有工具调用
1005
+
1006
+ ### 相关文档
1007
+
1008
+ - 📖 [Hooks 使用指南](./docs/hooks-user-guide.md)
1009
+ - 📖 [Hooks 架构设计](./docs/HOOKS_ARCHITECTURE.md)
1010
+ - 📖 [Hooks 示例](./docs/hooks-examples.md)
1011
+
1012
+ ---
1013
+
1014
+ ## ⚙️ 配置文件
1015
+
1016
+ ### 项目配置 `DEEPV.md`
1017
+
1018
+ 在项目根目录创建 `DEEPV.md`,为 AI 提供项目特定的上下文和规范:
1019
+
1020
+ ```markdown
1021
+ # 项目概述
1022
+ 这是一个基于 React + TypeScript 的前端项目...
1023
+
1024
+ # 技术栈
1025
+ - React 18
1026
+ - TypeScript 5
1027
+ - Vite
1028
+ - TailwindCSS
1029
+
1030
+ # 代码规范
1031
+ - 使用函数组件和 Hooks
1032
+ - 命名使用 camelCase
1033
+ - 组件文件使用 PascalCase
1034
+
1035
+ # 目录结构说明
1036
+ - src/components/ - 可复用组件
1037
+ - src/pages/ - 页面组件
1038
+ - src/hooks/ - 自定义 Hooks
1039
+ - src/utils/ - 工具函数
1040
+ ```
1041
+
1042
+ 使用 `/init` 命令可以自动生成初始配置。
1043
+
1044
+ ### 用户配置 `.deepvcode/settings.json`
1045
+
1046
+ ```json
1047
+ {
1048
+ "preferredModel": "gemini-2.0-flash",
1049
+ "theme": "dark",
1050
+ "trimSpaces": true,
1051
+ "mcpServers": {},
1052
+ "hooks": {}
1053
+ }
1054
+ ```
1055
+
1056
+ ---
1057
+
1058
+ ## 🧑‍💻 开发指南
1059
+
1060
+ ### 环境准备
1061
+
1062
+ ```bash
1063
+ # 确保 Node.js 版本 >= 20
1064
+ node --version
1065
+
1066
+ # 克隆仓库
1067
+ git clone https://github.com/OrionStarAI/DeepVCode.git
1068
+ cd DeepVCode
1069
+
1070
+ # 安装依赖
1071
+ npm install
1072
+ ```
1073
+
1074
+ ### 常用命令
1075
+
1076
+ | 命令 | 说明 |
1077
+ |:---|:---|
1078
+ | `npm install` | 安装所有依赖 |
1079
+ | `npm run build` | 构建所有包 |
1080
+ | `npm run dev` | 开发模式运行(带调试) |
1081
+ | `npm run test` | 运行所有测试 |
1082
+ | `npm run lint` | 代码风格检查 |
1083
+ | `npm run lint:fix` | 自动修复代码风格 |
1084
+ | `npm run format` | 格式化代码 (Prettier) |
1085
+ | `npm run typecheck` | TypeScript 类型检查 |
1086
+ | `npm run clean` | 清理构建产物和缓存 |
1087
+ | `npm run pack:prod` | 生产环境打包 |
1088
+ | `npm run pack:vscode` | 打包 VS Code 插件 |
1089
+
1090
+ ### 开发流程
1091
+
1092
+ 1. **修改代码** - 在相应的 `packages/*/src` 目录下修改
1093
+ 2. **构建** - 运行 `npm run build`
1094
+ 3. **测试** - 运行 `npm run dev` 本地测试
1095
+ 4. **检查** - 运行 `npm run lint && npm run typecheck`
1096
+ 5. **提交** - 确保测试通过后提交代码
1097
+
1098
+ ### 调试技巧
1099
+
1100
+ ```bash
1101
+ # 启用调试模式
1102
+ npm run debug
1103
+
1104
+ # 启用文件日志
1105
+ LOG_TO_FILE=true npm run dev
1106
+
1107
+ # 查看详细日志
1108
+ FILE_DEBUG=1 npm run dev
1109
+ ```
1110
+
1111
+ ### 调试控制台功能
1112
+
1113
+ **Ctrl+O 三状态循环**:
1114
+ - **第1次**:打开调试控制台,显示全部日志
1115
+ - **第2次**:切换到仅错误模式,显示黄色 `[ERRORS ONLY]` 标识
1116
+ - **第3次**:关闭调试控制台
1117
+
1118
+ **智能错误过滤**:自动识别并显示错误、异常、堆栈跟踪等关键信息,帮助开发者快速定位问题。
1119
+
1120
+ ### 添加新工具
1121
+
1122
+ 1. 在 `packages/core/src/tools/` 创建工具文件
1123
+ 2. 实现工具接口
1124
+ 3. 在 `tool-registry.ts` 注册工具
1125
+ 4. 添加单元测试
1126
+
1127
+ ---
1128
+
1129
+ ## ❓ 常见问题
1130
+
1131
+ ### 安装问题
1132
+
1133
+ <details>
1134
+ <summary><b>Q: npm install 失败,提示权限错误</b></summary>
1135
+
1136
+ **A:** 尝试以下方法:
1137
+
1138
+ ```bash
1139
+ # 方法 1: 使用 --unsafe-perm
1140
+ npm install -g deepv-code --unsafe-perm
1141
+
1142
+ # 方法 2: 修改 npm 全局目录权限
1143
+ mkdir ~/.npm-global
1144
+ npm config set prefix '~/.npm-global'
1145
+ export PATH=~/.npm-global/bin:$PATH
1146
+ ```
1147
+
1148
+ </details>
1149
+
1150
+ <details>
1151
+ <summary><b>Q: 提示 Node.js 版本过低</b></summary>
1152
+
1153
+ **A:** DeepV Code 需要 Node.js 20+。使用 nvm 管理版本:
1154
+
1155
+ ```bash
1156
+ nvm install 20
1157
+ nvm use 20
1158
+ ```
1159
+
1160
+ </details>
1161
+
1162
+ ### 使用问题
1163
+
1164
+ <details>
1165
+ <summary><b>Q: 如何切换 AI 模型?</b></summary>
1166
+
1167
+ **A:** 使用 `/model` 命令或启动时指定:
1168
+
1169
+ ```bash
1170
+ # 交互模式
1171
+ /model gemini-2.0-flash
1172
+
1173
+ # 启动时指定
1174
+ dvcode -m gemini-2.0-flash
1175
+ ```
1176
+
1177
+ </details>
1178
+
1179
+ <details>
1180
+ <summary><b>Q: 如何继续之前的会话?</b></summary>
1181
+
1182
+ **A:** 使用 `-c` 参数或 `/session` 命令:
1183
+
1184
+ ```bash
1185
+ # 继续最近会话
1186
+ dvcode -c
1187
+
1188
+ # 列出所有会话
1189
+ /session list
1190
+
1191
+ # 选择特定会话
1192
+ /session select 1
1193
+ ```
1194
+
1195
+ </details>
1196
+
1197
+ <details>
1198
+ <summary><b>Q: YOLO 模式是什么?</b></summary>
1199
+
1200
+ **A:** YOLO 模式下,AI 的所有操作会自动执行,无需用户确认。⚠️ 谨慎使用!
1201
+
1202
+ ```bash
1203
+ # 启用
1204
+ dvcode -y
1205
+ # 或
1206
+ /yolo on
1207
+ ```
1208
+
1209
+ </details>
1210
+
1211
+ ---
1212
+
1213
+ ## 🤝 贡献指南
1214
+
1215
+ 我们欢迎社区贡献!无论是 Bug 修复、新功能还是文档改进。
1216
+
1217
+ ### 贡献流程
1218
+
1219
+ 1. **Fork** 本仓库
1220
+ 2. 创建特性分支
1221
+ ```bash
1222
+ git checkout -b feature/AmazingFeature
1223
+ ```
1224
+ 3. 提交改动
1225
+ ```bash
1226
+ git commit -m 'feat: add some amazing feature'
1227
+ ```
1228
+ 4. 推送分支
1229
+ ```bash
1230
+ git push origin feature/AmazingFeature
1231
+ ```
1232
+ 5. 提交 **Pull Request**
1233
+
1234
+ ### 提交规范
1235
+
1236
+ 使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范:
1237
+
1238
+ - `feat:` 新功能
1239
+ - `fix:` Bug 修复
1240
+ - `docs:` 文档更新
1241
+ - `style:` 代码格式
1242
+ - `refactor:` 重构
1243
+ - `test:` 测试相关
1244
+ - `chore:` 构建/工具
1245
+
1246
+ ### 报告问题
1247
+
1248
+ 发现 Bug 或有功能建议?请 [创建 Issue](https://github.com/OrionStarAI/DeepVCode/issues),包含:
1249
+
1250
+ - 问题描述
1251
+ - 复现步骤
1252
+ - 期望行为
1253
+ - 环境信息(OS、Node 版本等)
1254
+
1255
+ ---
1256
+
1257
+ ## ⭐ Star History
1258
+
1259
+ [![Star History Chart](https://api.star-history.com/svg?repos=OrionStarAI/DeepVCode&type=date&legend=top-left)](https://www.star-history.com/#OrionStarAI/DeepVCode&type=date&legend=top-left)
1260
+
1261
+ ---
1262
+
1263
+ ## 🗺️ 路线图
1264
+
1265
+ ### 短期目标 (v1.x)
1266
+
1267
+ - [ ] 优化 MCP 上下文理解能力
1268
+ - [ ] 扩展工具系统,支持更多场景
1269
+ - [ ] 增强 VS Code 插件体验
1270
+ - [ ] 支持更多 AI 模型
1271
+
1272
+ ### 中期目标 (v2.x)
1273
+
1274
+ - [ ] 多模态支持(图表、设计稿)
1275
+ - [ ] 深度架构分析和设计辅助
1276
+ - [ ] 开放插件生态系统
1277
+ - [ ] 团队协作功能
1278
+
1279
+ ### 长期愿景
1280
+
1281
+ - [ ] 自主学习和进化
1282
+ - [ ] 预测开发需求
1283
+ - [ ] 全自动化软件工程
1284
+
1285
+ ---
1286
+
1287
+ ## 📄 许可证与法律信息
1288
+
1289
+ 本项目基于 [Apache License 2.0](LICENSE) 开源。
1290
+
1291
+ | 📄 Legal | |
1292
+ |:---|:---|
1293
+ | **License** | [Apache License 2.0](LICENSE) |
1294
+ | **Terms of Service** | [Terms & Privacy](https://dvcode.deepvlab.ai/terms) |
1295
+ | **Privacy Policy** | [Privacy Policy](https://dvcode.deepvlab.ai/privacy) |
1296
+ | **Security** | [Security Policy](SECURITY.md) |
1297
+
1298
+ ```
1299
+ Copyright 2025 DeepV Code Team
1300
+
1301
+ Licensed under the Apache License, Version 2.0 (the "License");
1302
+ you may not use this file except in compliance with the License.
1303
+ You may obtain a copy of the License at
1304
+
1305
+ http://www.apache.org/licenses/LICENSE-2.0
1306
+ ```
1307
+
1308
+ ---
1309
+
1310
+ ## 🔗 相关链接
1311
+
1312
+ <div align="center">
1313
+
1314
+ | 资源 | 链接 |
1315
+ |:---:|:---|
1316
+ | 🌐 **官方网站** | [https://dvcode.deepvlab.ai](https://dvcode.deepvlab.ai) |
1317
+ | 📦 **npm 包** | [https://www.npmjs.com/package/deepv-code](https://www.npmjs.com/package/deepv-code) |
1318
+ | 📖 **白皮书** | [DeepV_Code_Whitepaper.md](./DeepV_Code_Whitepaper.md) |
1319
+ | 🐛 **问题反馈** | [GitHub Issues](https://github.com/OrionStarAI/DeepVCode/issues) |
1320
+ | 💬 **讨论区** | [GitHub Discussions](https://github.com/OrionStarAI/DeepVCode/discussions) |
1321
+
1322
+ </div>
1323
+
1324
+ ---
1325
+
1326
+ <div align="center">
1327
+
1328
+ ### 💬 "AI 不只是工具,更是每位开发者的伙伴。"
1329
+
1330
+ <br>
1331
+
1332
+ **⭐ 如果这个项目对你有帮助,请给我们一个 Star!⭐**
1333
+
1334
+ <br>
1335
+
1336
+ 🪄 **Happy Coding with DeepV Code!** 💻✨
1337
+
1338
+ <br>
1339
+
1340
+ ---
1341
+
1342
+ Made with ❤️ by [DeepV Code Team](https://github.com/OrionStarAI)
1343
+
1344
+ </div>