Skip to content

OrionStarAI/DeepVCode

Repository files navigation

🚀 DeepV Code

AI 驱动的智能编程助手

赋能开发者,加速创新


License Node.js TypeScript npm VS Code


English | 简体中文



📖 目录


✨ 项目简介

DeepV Code 是一款革命性的 AI 驱动智能编程助手,通过深度整合人工智能技术,全面提升软件开发的效率、质量和创新能力。

不同于传统的代码补全工具,DeepV Code 是一个能够理解整个项目上下文自主编排工具完成复杂任务的智能代理(Agent)。它将开发者从繁琐重复的工作中解放出来,让你专注于更高层次的创新和问题解决。

💡 DeepV Code 能做什么?

👤 你:帮我分析这个项目的架构,找出性能瓶颈,并给出优化方案

🤖 DeepV Code:
   ├── 📂 扫描项目结构,理解模块依赖
   ├── 🔍 分析代码热点和复杂度
   ├── 📊 识别潜在的性能问题
   ├── 💡 生成优化建议和重构方案
   └── ✏️ 自动应用修改(经你确认后)

🌟 为什么选择 DeepV Code

🎯 与传统 AI 编码助手的区别

特性 传统工具 DeepV Code
上下文范围 单文件 整个项目
交互方式 被动补全 主动代理
任务复杂度 简单补全 复杂工作流
工具调用 Shell/文件/Web
会话管理 持久化会话
可扩展性 受限 MCP/Hooks/Skills

🚀 核心优势

  • 🧠 深度理解 - 通过 MCP 协议构建完整项目认知
  • 🛠️ 自主执行 - AI 可调用工具完成实际操作
  • 🔄 持续对话 - 会话保存/恢复,上下文不丢失
  • 🎨 多端支持 - CLI + VS Code 插件
  • 🔌 高度可扩展 - Hooks、Skills、MCP 服务器
  • 🔒 安全可控 - 敏感操作需用户确认

🎯 核心特性

🧠 AI 驱动的代码生成与重构

  • 智能代码生成 - 根据自然语言描述生成完整的函数、类、模块甚至整个应用
  • 代码重构建议 - 识别代码异味,提供优化方案,自动统一代码风格
  • Bug 智能修复 - 分析错误堆栈,定位问题根源,生成修复代码
  • 多语言支持 - TypeScript、JavaScript、Python、Go、Rust、Java 等主流语言

🔍 智能调试与问题解决

  • 错误日志分析 - 深入解析错误信息,快速定位问题
  • 堆栈追踪诊断 - 理解调用链路,找出异常根因
  • 自动修复执行 - 生成修复方案,一键应用(需确认)

📦 高级上下文管理 (MCP)

Model Context Protocol (MCP) 是 DeepV Code 的核心创新:

  • 全局项目视图 - 理解文件结构、模块依赖、代码语义
  • 跨文件分析 - 追踪函数调用链、类型引用、导入导出
  • 智能上下文选择 - 自动识别与任务相关的文件和代码段
  • 第三方 MCP 服务器 - 接入外部数据源和工具

🛠️ 可扩展工具系统

AI 通过工具与外部环境交互,内置丰富工具集:

📁 文件操作    → read_file, write_file, replace, delete_file, glob
🔍 代码搜索    → grep (ripgrep), read_many_files
💻 命令执行    → shell (bash/powershell)
🌐 网络访问    → web_fetch, web_search (Google)
🧩 MCP 工具    → 调用任意 MCP 服务器提供的工具
📊 代码分析    → task (启动分析子 Agent)
📝 任务管理    → todo_write
💾 记忆系统    → memory (长期记忆)

🪝 Hooks 钩子机制

在关键工作流节点注入自定义逻辑:

  • PreToolExecution - 工具执行前触发
  • PostToolExecution - 工具执行后触发
  • OnSessionStart - 会话开始时触发
  • OnSessionEnd - 会话结束时触发

支持自动化代码检查、格式化、提交前验证等场景。

🔄 会话管理

  • 会话持久化 - 自动保存对话历史和上下文
  • 会话恢复 - 随时继续之前的工作
  • 历史压缩 - 智能压缩对话历史,节省 Token
  • 检查点恢复 - 文件修改可回滚到之前状态

📦 快速安装

系统要求

  • Node.js 20.0.0 或更高版本
  • 操作系统 Windows / macOS / Linux
  • 终端 支持 ANSI 颜色的终端模拟器

方式一:npm 全局安装(推荐)

# 使用 npm
npm install -g deepv-code

# 使用 yarn
yarn global add deepv-code

# 使用 pnpm
pnpm add -g deepv-code

安装完成后,验证安装:

dvcode --version

方式二:从源码构建

# 1. 克隆仓库
git clone https://github.com/OrionStarAI/DeepVCode.git
cd DeepVCode

# 2. 安装依赖
npm install

# 3. 构建项目
npm run build

# 4. 本地开发运行
npm run dev

# 5. (可选) 生产环境打包
npm run pack:prod

🚀 快速开始

第一步:启动 DeepV Code

在任意项目目录中运行:

dvcode

首次启动会引导你完成身份认证。

第二步:开始对话

┌─────────────────────────────────────────────────────────────┐
│  🚀 DeepV Code - AI 驱动的智能编程助手                    │
│─────────────────────────────────────────────────────────────│
│                                                             │
│  👋 你好!我是 DeepV Code,你的 AI 编程助手。                  │
│                                                             │
│  💡 试试这些命令开始:                                        │
│     • "分析这个项目的架构"                                    │
│     • "帮我写一个用户登录的 API"                              │
│     • "这段代码有什么问题?"                                  │
│     • /help 查看帮助                                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

> 你想做什么?

第三步:与 AI 协作

# 示例对话
> 帮我创建一个 Express REST API,包含用户的 CRUD 操作

🤖 好的,我来帮你创建。首先让我了解一下项目结构...

[调用工具: glob] 扫描项目文件...
[调用工具: read_file] 读取 package.json...
[调用工具: write_file] 创建 src/routes/users.js...
[调用工具: write_file] 创建 src/controllers/userController.js...
[调用工具: shell] 安装依赖 express...

✅ 已创建用户 CRUD API,包含以下文件:
   - src/routes/users.js
   - src/controllers/userController.js
   - src/models/User.js

### 第四步:使用开源服务端 (可选)

如果您希望使用本地部署的服务端,可以配合 [DeepVCode-Server-mini](https://github.com/OrionStarAI/DeepVCode-Server-mini) 使用。

```bash
# 启动并连接本地服务端
cross-env DEEPX_SERVER_URL=http://localhost:8000 npm run start

📋 CLI 命令参考

全局选项

dvcode [options]
选项 简写 说明
--model <name> -m 指定 AI 模型
--prompt <text> -p 非交互模式,执行单次提示
--prompt-interactive <text> -i 执行提示后进入交互模式
--sandbox -s 在沙箱环境中运行(增强安全性)
--debug -d 启用调试模式,输出详细日志
--all-files -a 在上下文中包含所有项目文件
--yolo -y YOLO 模式:自动执行所有操作,无需确认
--continue -c 继续上次会话
--session <id> 恢复指定 ID 的会话
--list-sessions 列出所有可用会话
--workdir <path> 指定工作目录
--version -v 显示版本号
--help -h 显示帮助信息

使用示例

# 基本启动
dvcode

# 使用 Gemini 2.0 Flash 模型
dvcode -m gemini-2.0-flash

# 执行单次任务(非交互)
dvcode -p "为 src/utils.ts 添加单元测试"

# 继续上次会话
dvcode -c

# YOLO 模式(危险:自动执行所有操作)
dvcode -y

# 调试模式
dvcode -d

# 指定工作目录
dvcode --workdir /path/to/project

# 列出所有会话
dvcode --list-sessions

# 恢复特定会话
dvcode --session abc123

⚡ 交互式斜杠命令

在交互模式下,使用以 / 开头的命令快速执行操作:

核心命令

命令 说明
/help 显示帮助信息和快速入门指南
/help-ask AI 智能帮助助手,解答使用问题
/quit/exit 退出应用,显示会话统计

会话与模型

命令 说明
/session 会话管理:list / new / select <id> / rebuild
/model [name] 切换 AI 模型,不带参数显示选择对话框
/compress 压缩对话历史,减少 Token 消耗
/stats 显示会话统计信息

工具与扩展

命令 说明
/tools [nodesc] 查看可用工具列表
/mcp [subcommand] MCP 服务器管理:add / auth / refresh
/memory 长期记忆管理:show / add / refresh

工作模式

命令 说明
/plan [on|off] 计划模式:只讨论不修改代码
/yolo [on|off] YOLO 模式:自动执行所有操作
/vim 切换 Vim 编辑模式

文件与编辑

命令 说明
/restore [id] 恢复文件到检查点状态
/refine <text> 文本润色,支持 --tone / --lang / --level
/trim-spaces [on|off] 配置是否自动删除行末空格
/copy 复制最后一条 AI 回复到剪贴板

界面与设置

命令 说明
/clear 清空终端屏幕
/theme 主题选择对话框
/editor 编辑器配置对话框
/about 显示系统和应用信息

账户与认证

命令 说明
/auth 身份认证管理
/account 账户信息和余额查看

项目配置

命令 说明
/init 初始化项目配置文件 DEEPV.md
/hooks 查看 Hooks 钩子机制帮助文档
/ide IDE 集成管理(VS Code 模式下可用)

🏗️ 项目架构

DeepV Code 采用现代化的 Monorepo 架构,确保代码一致性和高效协作。

目录结构

DeepVCode/
│
├── 📁 packages/                     # 核心包目录
│   │
│   ├── 📁 cli/                      # 命令行界面包
│   │   ├── src/
│   │   │   ├── commands/            # 斜杠命令实现
│   │   │   ├── ui/                  # 终端 UI 组件 (React Ink)
│   │   │   │   ├── components/      # 可复用 UI 组件
│   │   │   │   ├── dialogs/         # 对话框组件
│   │   │   │   └── themes/          # 主题配置
│   │   │   ├── services/            # 服务层
│   │   │   ├── auth/                # 客户端认证
│   │   │   └── utils/               # 工具函数
│   │   └── package.json
│   │
│   ├── 📁 core/                     # 核心功能库
│   │   ├── src/
│   │   │   ├── tools/               # AI 工具集
│   │   │   │   ├── shell.ts         # Shell 命令执行
│   │   │   │   ├── read-file.ts     # 文件读取
│   │   │   │   ├── write-file.ts    # 文件写入
│   │   │   │   ├── edit.ts          # 文件编辑 (replace)
│   │   │   │   ├── glob.ts          # 文件搜索
│   │   │   │   ├── grep.ts          # 内容搜索
│   │   │   │   ├── web-fetch.ts     # 网页抓取
│   │   │   │   ├── web-search.ts    # Google 搜索
│   │   │   │   ├── task.ts          # 子 Agent 任务
│   │   │   │   └── ...
│   │   │   ├── mcp/                 # MCP 引擎
│   │   │   ├── prompts/             # Prompt 模板
│   │   │   ├── auth/                # 认证模块
│   │   │   ├── hooks/               # Hooks 系统
│   │   │   ├── skills/              # Skills 扩展
│   │   │   ├── services/            # 核心服务
│   │   │   ├── config/              # 配置管理
│   │   │   └── utils/               # 工具函数
│   │   └── package.json
│   │
│   ├── 📁 vscode-ide-companion/     # VS Code CLI 伴侣扩展
│   │   ├── src/
│   │   │   └── extension.ts         # 扩展入口
│   │   └── package.json
│   │
│   └── 📁 vscode-ui-plugin/         # VS Code 完整 UI 插件
│       ├── src/                     # 扩展源码
│       ├── webview/                 # React Webview 前端
│       └── package.json
│
├── 📁 docs/                         # 文档目录
│   ├── architecture.md              # 架构设计
│   ├── hooks-user-guide.md          # Hooks 使用指南
│   ├── mcp-improvements-summary.md  # MCP 集成说明
│   └── ...
│
├── 📁 scripts/                      # 构建和工具脚本
│   ├── build.js                     # 主构建脚本
│   ├── build_package.js             # 包构建
│   ├── clean.js                     # 清理脚本
│   └── ...
│
├── 📄 package.json                  # 根配置 (Workspaces)
├── 📄 tsconfig.json                 # TypeScript 配置
├── 📄 eslint.config.js              # ESLint 配置
├── 📄 esbuild.config.js             # esbuild 打包配置
├── 📄 DeepV_Code_Whitepaper.md      # 产品白皮书
├── 📄 DEEPV.md                      # 项目 AI 开发规范
└── 📄 LICENSE                       # Apache 2.0 许可证

技术栈详解

类别 技术 说明
语言 TypeScript 5.x 强类型,提升代码质量
运行时 Node.js 20+ 现代 JavaScript 运行时
CLI UI React + Ink 声明式终端 UI 框架
构建 esbuild 极速打包,毫秒级构建
测试 Vitest 现代化单元测试框架
代码规范 ESLint + Prettier 统一代码风格
包管理 npm Workspaces Monorepo 管理
AI SDK @google/genai Google Gemini API
MCP @modelcontextprotocol/sdk MCP 协议实现

交互流程

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   用户输入   │────▶│  CLI 包     │────▶│  Core 包    │
│  (终端)     │     │  (UI/交互)   │     │  (业务逻辑)  │
└─────────────┘     └─────────────┘     └──────┬──────┘
                                               │
                    ┌──────────────────────────┼──────────────────────────┐
                    │                          │                          │
                    ▼                          ▼                          ▼
            ┌─────────────┐           ┌─────────────┐            ┌─────────────┐
            │  AI Model   │           │   Tools     │            │    MCP      │
            │  (Gemini)   │           │ (Shell/File)│            │  Servers    │
            └─────────────┘           └─────────────┘            └─────────────┘

🔌 VS Code 扩展

DeepV Code 提供两个 VS Code 扩展,满足不同使用场景:

📡 IDE Companion(CLI 伴侣)

轻量级扩展,让 VS Code 与终端中运行的 CLI 无缝连接。

功能:

  • 感知当前打开的文件
  • 获取选中的代码片段
  • 与 CLI 实时同步工作区状态

构建方法:

cd packages/vscode-ide-companion

# 安装依赖
npm install

# 构建
npm run build

# 打包为 .vsix
npm run package

🎨 UI Plugin(图形化插件)

完整功能的图形化 AI 编码助手

功能:

  • 📱 侧边栏 AI 对话窗口
  • 🖱️ 右键菜单代码操作
    • 解释选中代码
    • 优化代码
    • 生成单元测试
    • 添加到当前对话
  • ✨ 代码内联补全建议
  • 🔌 MCP 服务器状态管理
  • 📜 自定义规则管理
  • ⏪ 版本历史和回滚

构建方法:

cd packages/vscode-ui-plugin

# 安装扩展依赖
npm install

# 构建 Webview 前端(首次需要)
cd webview
npm install
npm run build
cd ..

# 构建扩展
npm run build

# 打包为 .vsix
npm run package

安装扩展:

  1. 打开 VS Code
  2. Ctrl+Shift+P (Windows/Linux) 或 Cmd+Shift+P (macOS)
  3. 输入 "Install from VSIX"
  4. 选择生成的 .vsix 文件

🛠️ 内置工具系统

DeepV Code 的 AI 通过工具系统与外部环境交互。所有工具都经过精心设计,确保安全性和可控性。

文件操作工具

工具 说明 安全级别
read_file 读取文件内容,支持文本、图片、PDF、Excel、Word 🟢 只读
read_many_files 批量读取多个文件,支持 glob 模式 🟢 只读
write_file 创建新文件或覆盖写入 🟡 需确认
replace 精准替换文件中的特定内容 🟡 需确认
delete_file 删除文件(会保存备份以便恢复) 🔴 需确认

搜索工具

工具 说明 安全级别
glob 按模式搜索文件名,支持 **/*.ts 等模式 🟢 只读
grep 在文件内容中搜索正则表达式 (ripgrep) 🟢 只读
ls 列出目录内容 🟢 只读

命令执行

工具 说明 安全级别
shell 执行 Shell 命令 (bash/powershell) 🔴 需确认

网络工具

工具 说明 安全级别
web_fetch 抓取网页内容,支持本地和远程 URL 🟢 只读
web_search Google 搜索 🟢 只读

高级工具

工具 说明 安全级别
task 启动代码分析子 Agent 🟢 只读
mcp_tool 调用 MCP 服务器提供的工具 🟡 视工具而定
todo_write 管理任务列表 🟢 只读
memory 保存/读取长期记忆 🟢 只读

代码质量工具

工具 说明 安全级别
read_lints 读取代码 Linter 错误 🟢 只读
lint_fix 自动修复 Linter 错误 🟡 需确认

🔗 MCP 协议支持

Model Context Protocol (MCP) 是 DeepV Code 实现深度上下文理解的核心协议。

什么是 MCP?

MCP 允许 AI 模型:

  • 连接外部数据源和工具
  • 获取实时信息
  • 与第三方服务交互

配置 MCP 服务器

在项目根目录创建 .deepvcode/settings.json

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-server-filesystem", "/path/to/allowed/dir"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-server-github"],
      "env": {
        "GITHUB_TOKEN": "your-token"
      }
    }
  }
}

管理 MCP 服务器

# 查看所有 MCP 服务器状态
/mcp

# 添加新服务器
/mcp add github

# 刷新服务器连接
/mcp refresh github

# 进行 OAuth 认证
/mcp auth github

🪝 Hooks 钩子机制

Hooks 允许你在关键工作流节点注入自定义逻辑。

配置 Hooks

.deepvcode/settings.json 中添加:

{
  "hooks": {
    "preToolExecution": [
      {
        "matcher": { "toolName": "write_file" },
        "action": {
          "type": "shell",
          "command": "echo 'About to write file: $TOOL_ARGS'"
        }
      }
    ],
    "postToolExecution": [
      {
        "matcher": { "toolName": "write_file", "exitCode": 0 },
        "action": {
          "type": "shell",
          "command": "npm run lint -- --fix $FILE_PATH"
        }
      }
    ]
  }
}

使用场景

  • 自动格式化 - 文件写入后自动运行 Prettier
  • 代码检查 - 修改代码后自动运行 ESLint
  • 提交验证 - 执行 Shell 命令前检查分支
  • 日志记录 - 记录所有工具调用

相关文档


⚙️ 配置文件

项目配置 DEEPV.md

在项目根目录创建 DEEPV.md,为 AI 提供项目特定的上下文和规范:

# 项目概述
这是一个基于 React + TypeScript 的前端项目...

# 技术栈
- React 18
- TypeScript 5
- Vite
- TailwindCSS

# 代码规范
- 使用函数组件和 Hooks
- 命名使用 camelCase
- 组件文件使用 PascalCase

# 目录结构说明
- src/components/ - 可复用组件
- src/pages/ - 页面组件
- src/hooks/ - 自定义 Hooks
- src/utils/ - 工具函数

使用 /init 命令可以自动生成初始配置。

用户配置 .deepvcode/settings.json

{
  "preferredModel": "gemini-2.0-flash",
  "theme": "dark",
  "trimSpaces": true,
  "mcpServers": {},
  "hooks": {}
}

🧑‍💻 开发指南

环境准备

# 确保 Node.js 版本 >= 20
node --version

# 克隆仓库
git clone https://github.com/OrionStarAI/DeepVCode.git
cd DeepVCode

# 安装依赖
npm install

常用命令

命令 说明
npm install 安装所有依赖
npm run build 构建所有包
npm run start 启动 CLI (可配合 DEEPX_SERVER_URL 使用)
npm run dev 开发模式运行(带调试,连接官方测试环境)
npm run test 运行所有测试
npm run lint 代码风格检查
npm run lint:fix 自动修复代码风格
npm run format 格式化代码 (Prettier)
npm run typecheck TypeScript 类型检查
npm run clean 清理构建产物和缓存
npm run pack:prod 生产环境打包
npm run pack:vscode 打包 VS Code 插件

开发流程

  1. 修改代码 - 在相应的 packages/*/src 目录下修改
  2. 构建 - 运行 npm run build
  3. 测试 - 运行 npm run dev 本地测试
  4. 检查 - 运行 npm run lint && npm run typecheck
  5. 提交 - 确保测试通过后提交代码

调试技巧

# 启用调试模式
npm run debug

# 启用文件日志
LOG_TO_FILE=true npm run dev

# 查看详细日志
FILE_DEBUG=1 npm run dev

添加新工具

  1. packages/core/src/tools/ 创建工具文件
  2. 实现工具接口
  3. tool-registry.ts 注册工具
  4. 添加单元测试

❓ 常见问题

安装问题

Q: npm install 失败,提示权限错误

A: 尝试以下方法:

# 方法 1: 使用 --unsafe-perm
npm install -g deepv-code --unsafe-perm

# 方法 2: 修改 npm 全局目录权限
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
Q: 提示 Node.js 版本过低

A: DeepV Code 需要 Node.js 20+。使用 nvm 管理版本:

nvm install 20
nvm use 20

使用问题

Q: 如何切换 AI 模型?

A: 使用 /model 命令或启动时指定:

# 交互模式
/model gemini-2.0-flash

# 启动时指定
dvcode -m gemini-2.0-flash
Q: 如何继续之前的会话?

A: 使用 -c 参数或 /session 命令:

# 继续最近会话
dvcode -c

# 列出所有会话
/session list

# 选择特定会话
/session select 1
Q: YOLO 模式是什么?

A: YOLO 模式下,AI 的所有操作会自动执行,无需用户确认。⚠️ 谨慎使用!

# 启用
dvcode -y
#
/yolo on

🤝 贡献指南

我们欢迎社区贡献!无论是 Bug 修复、新功能还是文档改进。

贡献流程

  1. Fork 本仓库
  2. 创建特性分支
    git checkout -b feature/AmazingFeature
  3. 提交改动
    git commit -m 'feat: add some amazing feature'
  4. 推送分支
    git push origin feature/AmazingFeature
  5. 提交 Pull Request

提交规范

使用 Conventional Commits 规范:

  • feat: 新功能
  • fix: Bug 修复
  • docs: 文档更新
  • style: 代码格式
  • refactor: 重构
  • test: 测试相关
  • chore: 构建/工具

报告问题

发现 Bug 或有功能建议?请 创建 Issue,包含:

  • 问题描述
  • 复现步骤
  • 期望行为
  • 环境信息(OS、Node 版本等)

🗺️ 路线图

短期目标 (v1.x)

  • 优化 MCP 上下文理解能力
  • 扩展工具系统,支持更多场景
  • 增强 VS Code 插件体验
  • 支持更多 AI 模型

中期目标 (v2.x)

  • 多模态支持(图表、设计稿)
  • 深度架构分析和设计辅助
  • 开放插件生态系统
  • 团队协作功能

长期愿景

  • 自主学习和进化
  • 预测开发需求
  • 全自动化软件工程

📄 许可证与法律信息

本项目基于 Apache License 2.0 开源。

📄 Legal
License Apache License 2.0
Terms of Service Terms & Privacy
Privacy Policy Privacy Policy
Security Security Policy
Copyright 2025 DeepV Code Team

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

🔗 相关链接

资源 链接
🌐 官方网站 https://dvcode.deepvlab.ai
📦 npm 包 https://www.npmjs.com/package/deepv-code
🖥️ 开源服务端 DeepVCode-Server-mini
📖 白皮书 DeepV_Code_Whitepaper.md
🐛 问题反馈 GitHub Issues
💬 讨论区 GitHub Discussions

💬 "AI 不只是工具,更是每位开发者的伙伴。"


⭐ 如果这个项目对你有帮助,请给我们一个 Star!⭐


🪄 Happy Coding with DeepV Code! 💻✨



Made with ❤️ by DeepV Code Team

About

DeepVCode is the open-source alternative to ClaudeCode: code smarter, ship faster, with just one command.

Topics

Resources

License

Stars

Watchers

Forks