{"id":32127799,"url":"https://github.com/orionstarai/deepvcode","last_synced_at":"2026-01-23T19:11:50.891Z","repository":{"id":318732304,"uuid":"1063113561","full_name":"OrionStarAI/DeepVCode","owner":"OrionStarAI","description":"DeepVCode is the open-source alternative to ClaudeCode: code smarter, ship faster, with just one command.","archived":false,"fork":false,"pushed_at":"2026-01-17T06:35:29.000Z","size":43935,"stargazers_count":355,"open_issues_count":1,"forks_count":16,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-18T02:19:40.093Z","etag":null,"topics":["ai","ai-agents","ai-coding-assistant","vibe-coding"],"latest_commit_sha":null,"homepage":"https://dvcode.deepvlab.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OrionStarAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/supported-file-types.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-24T07:24:44.000Z","updated_at":"2026-01-17T11:13:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"460b96fb-04b7-4ac9-b820-2c2921c4fb9b","html_url":"https://github.com/OrionStarAI/DeepVCode","commit_stats":null,"previous_names":["orionstarai/deepvcode"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/OrionStarAI/DeepVCode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrionStarAI%2FDeepVCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrionStarAI%2FDeepVCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrionStarAI%2FDeepVCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrionStarAI%2FDeepVCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OrionStarAI","download_url":"https://codeload.github.com/OrionStarAI/DeepVCode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OrionStarAI%2FDeepVCode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28601279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T09:39:28.479Z","status":"ssl_error","status_checked_at":"2026-01-20T09:38:10.511Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agents","ai-coding-assistant","vibe-coding"],"created_at":"2025-10-21T00:35:51.187Z","updated_at":"2026-01-20T10:00:32.623Z","avatar_url":"https://github.com/OrionStarAI.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🚀 DeepV Code\n\n### **AI 驱动的智能编程助手**\n\n*赋能开发者，加速创新*\n\n\u003cbr\u003e\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)\n[![Node.js](https://img.shields.io/badge/Node.js-20%2B-43853D.svg?logo=node.js\u0026logoColor=white)](https://nodejs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0%2B-3178C6.svg?logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![npm](https://img.shields.io/badge/npm-deepv--code-CB3837.svg?logo=npm)](https://www.npmjs.com/package/deepv-code)\n[![VS Code](https://img.shields.io/badge/VS%20Code-Extension-007ACC.svg?logo=visual-studio-code)](https://code.visualstudio.com/)\n\n\u003cbr\u003e\n\n[English](./README_EN.md) | **简体中文**\n\n\u003cbr\u003e\n\n\u003c!-- 如果有演示 GIF，取消下面这行注释 --\u003e\n\u003c!-- \u003cimg src=\"docs/assets/demo.gif\" alt=\"DeepV Code Demo\" width=\"800\"\u003e --\u003e\n\n\u003c/div\u003e\n\n---\n\n## 📖 目录\n\n- [项目简介](#-项目简介)\n- [为什么选择 DeepV Code](#-为什么选择-deepv-code)\n- [核心特性](#-核心特性)\n- [快速安装](#-快速安装)\n- [快速开始](#-快速开始)\n- [CLI 命令参考](#-cli-命令参考)\n- [交互式斜杠命令](#-交互式斜杠命令)\n- [项目架构](#️-项目架构)\n- [VS Code 扩展](#-vs-code-扩展)\n- [内置工具系统](#️-内置工具系统)\n- [MCP 协议支持](#-mcp-协议支持)\n- [Hooks 钩子机制](#-hooks-钩子机制)\n- [配置文件](#️-配置文件)\n- [开发指南](#-开发指南)\n- [常见问题](#-常见问题)\n- [贡献指南](#-贡献指南)\n- [路线图](#️-路线图)\n- [许可证](#-许可证)\n- [相关链接](#-相关链接)\n\n---\n\n## ✨ 项目简介\n\n**DeepV Code** 是一款革命性的 AI 驱动智能编程助手，通过深度整合人工智能技术，全面提升软件开发的效率、质量和创新能力。\n\n不同于传统的代码补全工具，DeepV Code 是一个能够**理解整个项目上下文**、**自主编排工具完成复杂任务**的智能代理（Agent）。它将开发者从繁琐重复的工作中解放出来，让你专注于更高层次的创新和问题解决。\n\n### 💡 DeepV Code 能做什么？\n\n```\n👤 你：帮我分析这个项目的架构，找出性能瓶颈，并给出优化方案\n\n🤖 DeepV Code：\n   ├── 📂 扫描项目结构，理解模块依赖\n   ├── 🔍 分析代码热点和复杂度\n   ├── 📊 识别潜在的性能问题\n   ├── 💡 生成优化建议和重构方案\n   └── ✏️ 自动应用修改（经你确认后）\n```\n\n---\n\n## 🌟 为什么选择 DeepV Code\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🎯 与传统 AI 编码助手的区别\n\n| 特性 | 传统工具 | DeepV Code |\n|:---:|:---:|:---:|\n| 上下文范围 | 单文件 | **整个项目** |\n| 交互方式 | 被动补全 | **主动代理** |\n| 任务复杂度 | 简单补全 | **复杂工作流** |\n| 工具调用 | 无 | **Shell/文件/Web** |\n| 会话管理 | 无 | **持久化会话** |\n| 可扩展性 | 受限 | **MCP/Hooks/Skills** |\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🚀 核心优势\n\n- **🧠 深度理解** - 通过 MCP 协议构建完整项目认知\n- **🛠️ 自主执行** - AI 可调用工具完成实际操作\n- **🔄 持续对话** - 会话保存/恢复，上下文不丢失\n- **🎨 多端支持** - CLI + VS Code 插件\n- **🔌 高度可扩展** - Hooks、Skills、MCP 服务器\n- **🔒 安全可控** - 敏感操作需用户确认\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🎯 核心特性\n\n### 🧠 AI 驱动的代码生成与重构\n\n- **智能代码生成** - 根据自然语言描述生成完整的函数、类、模块甚至整个应用\n- **代码重构建议** - 识别代码异味，提供优化方案，自动统一代码风格\n- **Bug 智能修复** - 分析错误堆栈，定位问题根源，生成修复代码\n- **多语言支持** - TypeScript、JavaScript、Python、Go、Rust、Java 等主流语言\n\n### 🔍 智能调试与问题解决\n\n- **错误日志分析** - 深入解析错误信息，快速定位问题\n- **堆栈追踪诊断** - 理解调用链路，找出异常根因\n- **自动修复执行** - 生成修复方案，一键应用（需确认）\n\n### 📦 高级上下文管理 (MCP)\n\nModel Context Protocol (MCP) 是 DeepV Code 的核心创新：\n\n- **全局项目视图** - 理解文件结构、模块依赖、代码语义\n- **跨文件分析** - 追踪函数调用链、类型引用、导入导出\n- **智能上下文选择** - 自动识别与任务相关的文件和代码段\n- **第三方 MCP 服务器** - 接入外部数据源和工具\n\n### 🛠️ 可扩展工具系统\n\nAI 通过工具与外部环境交互，内置丰富工具集：\n\n```\n📁 文件操作    → read_file, write_file, replace, delete_file, glob\n🔍 代码搜索    → grep (ripgrep), read_many_files\n💻 命令执行    → shell (bash/powershell)\n🌐 网络访问    → web_fetch, web_search (Google)\n🧩 MCP 工具    → 调用任意 MCP 服务器提供的工具\n📊 代码分析    → task (启动分析子 Agent)\n📝 任务管理    → todo_write\n💾 记忆系统    → memory (长期记忆)\n```\n\n### 🪝 Hooks 钩子机制\n\n在关键工作流节点注入自定义逻辑：\n\n- **PreToolExecution** - 工具执行前触发\n- **PostToolExecution** - 工具执行后触发\n- **OnSessionStart** - 会话开始时触发\n- **OnSessionEnd** - 会话结束时触发\n\n支持自动化代码检查、格式化、提交前验证等场景。\n\n### 🔄 会话管理\n\n- **会话持久化** - 自动保存对话历史和上下文\n- **会话恢复** - 随时继续之前的工作\n- **历史压缩** - 智能压缩对话历史，节省 Token\n- **检查点恢复** - 文件修改可回滚到之前状态\n\n---\n\n## 📦 快速安装\n\n### 系统要求\n\n- **Node.js** 20.0.0 或更高版本\n- **操作系统** Windows / macOS / Linux\n- **终端** 支持 ANSI 颜色的终端模拟器\n\n### 方式一：npm 全局安装（推荐）\n\n```bash\n# 使用 npm\nnpm install -g deepv-code\n\n# 使用 yarn\nyarn global add deepv-code\n\n# 使用 pnpm\npnpm add -g deepv-code\n```\n\n安装完成后，验证安装：\n\n```bash\ndvcode --version\n```\n\n### 方式二：从源码构建\n\n```bash\n# 1. 克隆仓库\ngit clone https://github.com/OrionStarAI/DeepVCode.git\ncd DeepVCode\n\n# 2. 安装依赖\nnpm install\n\n# 3. 构建项目\nnpm run build\n\n# 4. 本地开发运行\nnpm run dev\n\n# 5. (可选) 生产环境打包\nnpm run pack:prod\n```\n\n---\n\n## 🚀 快速开始\n\n### 第一步：启动 DeepV Code\n\n在任意项目目录中运行：\n\n```bash\ndvcode\n```\n\n首次启动会引导你完成身份认证。\n\n### 第二步：开始对话\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  🚀 DeepV Code - AI 驱动的智能编程助手                    │\n│─────────────────────────────────────────────────────────────│\n│                                                             │\n│  👋 你好！我是 DeepV Code，你的 AI 编程助手。                  │\n│                                                             │\n│  💡 试试这些命令开始：                                        │\n│     • \"分析这个项目的架构\"                                    │\n│     • \"帮我写一个用户登录的 API\"                              │\n│     • \"这段代码有什么问题？\"                                  │\n│     • /help 查看帮助                                         │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n\n\u003e 你想做什么？\n```\n\n### 第三步：与 AI 协作\n\n```bash\n# 示例对话\n\u003e 帮我创建一个 Express REST API，包含用户的 CRUD 操作\n\n🤖 好的，我来帮你创建。首先让我了解一下项目结构...\n\n[调用工具: glob] 扫描项目文件...\n[调用工具: read_file] 读取 package.json...\n[调用工具: write_file] 创建 src/routes/users.js...\n[调用工具: write_file] 创建 src/controllers/userController.js...\n[调用工具: shell] 安装依赖 express...\n\n✅ 已创建用户 CRUD API，包含以下文件：\n   - src/routes/users.js\n   - src/controllers/userController.js\n   - src/models/User.js\n\n启动服务器：npm run dev\n```\n\n---\n\n## 📋 CLI 命令参考\n\n### 全局选项\n\n```bash\ndvcode [options]\n```\n\n| 选项 | 简写 | 说明 |\n|:---|:---:|:---|\n| `--model \u003cname\u003e` | `-m` | 指定 AI 模型 |\n| `--prompt \u003ctext\u003e` | `-p` | 非交互模式，执行单次提示 |\n| `--prompt-interactive \u003ctext\u003e` | `-i` | 执行提示后进入交互模式 |\n| `--sandbox` | `-s` | 在沙箱环境中运行（增强安全性） |\n| `--debug` | `-d` | 启用调试模式，输出详细日志 |\n| `--all-files` | `-a` | 在上下文中包含所有项目文件 |\n| `--yolo` | `-y` | YOLO 模式：自动执行所有操作，无需确认 |\n| `--continue` | `-c` | 继续上次会话 |\n| `--session \u003cid\u003e` | | 恢复指定 ID 的会话 |\n| `--list-sessions` | | 列出所有可用会话 |\n| `--workdir \u003cpath\u003e` | | 指定工作目录 |\n| `--version` | `-v` | 显示版本号 |\n| `--help` | `-h` | 显示帮助信息 |\n\n### 使用示例\n\n```bash\n# 基本启动\ndvcode\n\n# 使用 Gemini 2.0 Flash 模型\ndvcode -m gemini-2.0-flash\n\n# 执行单次任务（非交互）\ndvcode -p \"为 src/utils.ts 添加单元测试\"\n\n# 继续上次会话\ndvcode -c\n\n# YOLO 模式（危险：自动执行所有操作）\ndvcode -y\n\n# 调试模式\ndvcode -d\n\n# 指定工作目录\ndvcode --workdir /path/to/project\n\n# 列出所有会话\ndvcode --list-sessions\n\n# 恢复特定会话\ndvcode --session abc123\n```\n\n---\n\n## ⚡ 交互式斜杠命令\n\n在交互模式下，使用以 `/` 开头的命令快速执行操作：\n\n### 核心命令\n\n| 命令 | 说明 |\n|:---|:---|\n| `/help` | 显示帮助信息和快速入门指南 |\n| `/help-ask` | AI 智能帮助助手，解答使用问题 |\n| `/quit` 或 `/exit` | 退出应用，显示会话统计 |\n\n### 会话与模型\n\n| 命令 | 说明 |\n|:---|:---|\n| `/session` | 会话管理：`list` / `new` / `select \u003cid\u003e` / `rebuild` |\n| `/model [name]` | 切换 AI 模型，不带参数显示选择对话框 |\n| `/compress` | 压缩对话历史，减少 Token 消耗 |\n| `/stats` | 显示会话统计信息 |\n\n### 工具与扩展\n\n| 命令 | 说明 |\n|:---|:---|\n| `/tools [nodesc]` | 查看可用工具列表 |\n| `/mcp [subcommand]` | MCP 服务器管理：`add` / `auth` / `refresh` |\n| `/memory` | 长期记忆管理：`show` / `add` / `refresh` |\n\n### 工作模式\n\n| 命令 | 说明 |\n|:---|:---|\n| `/plan [on\\|off]` | 计划模式：只讨论不修改代码 |\n| `/yolo [on\\|off]` | YOLO 模式：自动执行所有操作 |\n| `/vim` | 切换 Vim 编辑模式 |\n\n### 文件与编辑\n\n| 命令 | 说明 |\n|:---|:---|\n| `/restore [id]` | 恢复文件到检查点状态 |\n| `/refine \u003ctext\u003e` | 文本润色，支持 `--tone` / `--lang` / `--level` |\n| `/trim-spaces [on\\|off]` | 配置是否自动删除行末空格 |\n| `/copy` | 复制最后一条 AI 回复到剪贴板 |\n\n### 界面与设置\n\n| 命令 | 说明 |\n|:---|:---|\n| `/clear` | 清空终端屏幕 |\n| `/theme` | 主题选择对话框 |\n| `/editor` | 编辑器配置对话框 |\n| `/about` | 显示系统和应用信息 |\n\n### 账户与认证\n\n| 命令 | 说明 |\n|:---|:---|\n| `/auth` | 身份认证管理 |\n| `/account` | 账户信息和余额查看 |\n\n### 项目配置\n\n| 命令 | 说明 |\n|:---|:---|\n| `/init` | 初始化项目配置文件 `DEEPV.md` |\n| `/hooks` | 查看 Hooks 钩子机制帮助文档 |\n| `/ide` | IDE 集成管理（VS Code 模式下可用） |\n\n---\n\n## 🏗️ 项目架构\n\nDeepV Code 采用现代化的 **Monorepo** 架构，确保代码一致性和高效协作。\n\n### 目录结构\n\n```\nDeepVCode/\n│\n├── 📁 packages/                     # 核心包目录\n│   │\n│   ├── 📁 cli/                      # 命令行界面包\n│   │   ├── src/\n│   │   │   ├── commands/            # 斜杠命令实现\n│   │   │   ├── ui/                  # 终端 UI 组件 (React Ink)\n│   │   │   │   ├── components/      # 可复用 UI 组件\n│   │   │   │   ├── dialogs/         # 对话框组件\n│   │   │   │   └── themes/          # 主题配置\n│   │   │   ├── services/            # 服务层\n│   │   │   ├── auth/                # 客户端认证\n│   │   │   └── utils/               # 工具函数\n│   │   └── package.json\n│   │\n│   ├── 📁 core/                     # 核心功能库\n│   │   ├── src/\n│   │   │   ├── tools/               # AI 工具集\n│   │   │   │   ├── shell.ts         # Shell 命令执行\n│   │   │   │   ├── read-file.ts     # 文件读取\n│   │   │   │   ├── write-file.ts    # 文件写入\n│   │   │   │   ├── edit.ts          # 文件编辑 (replace)\n│   │   │   │   ├── glob.ts          # 文件搜索\n│   │   │   │   ├── grep.ts          # 内容搜索\n│   │   │   │   ├── web-fetch.ts     # 网页抓取\n│   │   │   │   ├── web-search.ts    # Google 搜索\n│   │   │   │   ├── task.ts          # 子 Agent 任务\n│   │   │   │   └── ...\n│   │   │   ├── mcp/                 # MCP 引擎\n│   │   │   ├── prompts/             # Prompt 模板\n│   │   │   ├── auth/                # 认证模块\n│   │   │   ├── hooks/               # Hooks 系统\n│   │   │   ├── skills/              # Skills 扩展\n│   │   │   ├── services/            # 核心服务\n│   │   │   ├── config/              # 配置管理\n│   │   │   └── utils/               # 工具函数\n│   │   └── package.json\n│   │\n│   ├── 📁 vscode-ide-companion/     # VS Code CLI 伴侣扩展\n│   │   ├── src/\n│   │   │   └── extension.ts         # 扩展入口\n│   │   └── package.json\n│   │\n│   └── 📁 vscode-ui-plugin/         # VS Code 完整 UI 插件\n│       ├── src/                     # 扩展源码\n│       ├── webview/                 # React Webview 前端\n│       └── package.json\n│\n├── 📁 docs/                         # 文档目录\n│   ├── architecture.md              # 架构设计\n│   ├── hooks-user-guide.md          # Hooks 使用指南\n│   ├── mcp-improvements-summary.md  # MCP 集成说明\n│   └── ...\n│\n├── 📁 scripts/                      # 构建和工具脚本\n│   ├── build.js                     # 主构建脚本\n│   ├── build_package.js             # 包构建\n│   ├── clean.js                     # 清理脚本\n│   └── ...\n│\n├── 📄 package.json                  # 根配置 (Workspaces)\n├── 📄 tsconfig.json                 # TypeScript 配置\n├── 📄 eslint.config.js              # ESLint 配置\n├── 📄 esbuild.config.js             # esbuild 打包配置\n├── 📄 DeepV_Code_Whitepaper.md      # 产品白皮书\n├── 📄 DEEPV.md                      # 项目 AI 开发规范\n└── 📄 LICENSE                       # Apache 2.0 许可证\n```\n\n### 技术栈详解\n\n| 类别 | 技术 | 说明 |\n|:---:|:---|:---|\n| **语言** | TypeScript 5.x | 强类型，提升代码质量 |\n| **运行时** | Node.js 20+ | 现代 JavaScript 运行时 |\n| **CLI UI** | React + Ink | 声明式终端 UI 框架 |\n| **构建** | esbuild | 极速打包，毫秒级构建 |\n| **测试** | Vitest | 现代化单元测试框架 |\n| **代码规范** | ESLint + Prettier | 统一代码风格 |\n| **包管理** | npm Workspaces | Monorepo 管理 |\n| **AI SDK** | @google/genai | Google Gemini API |\n| **MCP** | @modelcontextprotocol/sdk | MCP 协议实现 |\n\n### 交互流程\n\n```\n┌─────────────┐     ┌─────────────┐     ┌─────────────┐\n│   用户输入   │────▶│  CLI 包     │────▶│  Core 包    │\n│  (终端)     │     │  (UI/交互)   │     │  (业务逻辑)  │\n└─────────────┘     └─────────────┘     └──────┬──────┘\n                                               │\n                    ┌──────────────────────────┼──────────────────────────┐\n                    │                          │                          │\n                    ▼                          ▼                          ▼\n            ┌─────────────┐           ┌─────────────┐            ┌─────────────┐\n            │  AI Model   │           │   Tools     │            │    MCP      │\n            │  (Gemini)   │           │ (Shell/File)│            │  Servers    │\n            └─────────────┘           └─────────────┘            └─────────────┘\n```\n\n---\n\n## 🔌 VS Code 扩展\n\nDeepV Code 提供两个 VS Code 扩展，满足不同使用场景：\n\n### 📡 IDE Companion（CLI 伴侣）\n\n**轻量级扩展**，让 VS Code 与终端中运行的 CLI 无缝连接。\n\n**功能：**\n- 感知当前打开的文件\n- 获取选中的代码片段\n- 与 CLI 实时同步工作区状态\n\n**构建方法：**\n\n```bash\ncd packages/vscode-ide-companion\n\n# 安装依赖\nnpm install\n\n# 构建\nnpm run build\n\n# 打包为 .vsix\nnpm run package\n```\n\n### 🎨 UI Plugin（图形化插件）\n\n**完整功能的图形化 AI 编码助手**。\n\n**功能：**\n- 📱 侧边栏 AI 对话窗口\n- 🖱️ 右键菜单代码操作\n  - 解释选中代码\n  - 优化代码\n  - 生成单元测试\n  - 添加到当前对话\n- ✨ 代码内联补全建议\n- 🔌 MCP 服务器状态管理\n- 📜 自定义规则管理\n- ⏪ 版本历史和回滚\n\n**构建方法：**\n\n```bash\ncd packages/vscode-ui-plugin\n\n# 安装扩展依赖\nnpm install\n\n# 构建 Webview 前端（首次需要）\ncd webview\nnpm install\nnpm run build\ncd ..\n\n# 构建扩展\nnpm run build\n\n# 打包为 .vsix\nnpm run package\n```\n\n**安装扩展：**\n\n1. 打开 VS Code\n2. 按 `Ctrl+Shift+P` (Windows/Linux) 或 `Cmd+Shift+P` (macOS)\n3. 输入 \"Install from VSIX\"\n4. 选择生成的 `.vsix` 文件\n\n---\n\n## 🛠️ 内置工具系统\n\nDeepV Code 的 AI 通过工具系统与外部环境交互。所有工具都经过精心设计，确保安全性和可控性。\n\n### 文件操作工具\n\n| 工具 | 说明 | 安全级别 |\n|:---|:---|:---:|\n| `read_file` | 读取文件内容，支持文本、图片、PDF、Excel、Word | 🟢 只读 |\n| `read_many_files` | 批量读取多个文件，支持 glob 模式 | 🟢 只读 |\n| `write_file` | 创建新文件或覆盖写入 | 🟡 需确认 |\n| `replace` | 精准替换文件中的特定内容 | 🟡 需确认 |\n| `delete_file` | 删除文件（会保存备份以便恢复） | 🔴 需确认 |\n\n### 搜索工具\n\n| 工具 | 说明 | 安全级别 |\n|:---|:---|:---:|\n| `glob` | 按模式搜索文件名，支持 `**/*.ts` 等模式 | 🟢 只读 |\n| `grep` | 在文件内容中搜索正则表达式 (ripgrep) | 🟢 只读 |\n| `ls` | 列出目录内容 | 🟢 只读 |\n\n### 命令执行\n\n| 工具 | 说明 | 安全级别 |\n|:---|:---|:---:|\n| `shell` | 执行 Shell 命令 (bash/powershell) | 🔴 需确认 |\n\n### 网络工具\n\n| 工具 | 说明 | 安全级别 |\n|:---|:---|:---:|\n| `web_fetch` | 抓取网页内容，支持本地和远程 URL | 🟢 只读 |\n| `web_search` | Google 搜索 | 🟢 只读 |\n\n### 高级工具\n\n| 工具 | 说明 | 安全级别 |\n|:---|:---|:---:|\n| `task` | 启动代码分析子 Agent | 🟢 只读 |\n| `mcp_tool` | 调用 MCP 服务器提供的工具 | 🟡 视工具而定 |\n| `todo_write` | 管理任务列表 | 🟢 只读 |\n| `memory` | 保存/读取长期记忆 | 🟢 只读 |\n\n### 代码质量工具\n\n| 工具 | 说明 | 安全级别 |\n|:---|:---|:---:|\n| `read_lints` | 读取代码 Linter 错误 | 🟢 只读 |\n| `lint_fix` | 自动修复 Linter 错误 | 🟡 需确认 |\n\n---\n\n## 🔗 MCP 协议支持\n\n**Model Context Protocol (MCP)** 是 DeepV Code 实现深度上下文理解的核心协议。\n\n### 什么是 MCP？\n\nMCP 允许 AI 模型：\n- 连接外部数据源和工具\n- 获取实时信息\n- 与第三方服务交互\n\n### 配置 MCP 服务器\n\n在项目根目录创建 `.deepvcode/settings.json`：\n\n#### 方式一：标准模式（通过命令启动）\n\n适用于本地 MCP 服务器，通过命令行启动进程。\n\n```json\n{\n  \"mcpServers\": {\n    \"filesystem\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@anthropic/mcp-server-filesystem\", \"/path/to/allowed/dir\"]\n    },\n    \"github\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@anthropic/mcp-server-github\"],\n      \"env\": {\n        \"GITHUB_TOKEN\": \"your-token\"\n      }\n    }\n  }\n}\n```\n\n**字段说明：**\n- `command`（必需）：启动服务器的命令\n- `args`（可选）：命令参数数组\n- `env`（可选）：环境变量对象\n- `cwd`（可选）：工作目录\n- `timeout`（可选）：请求超时（毫秒）\n- `trust`（可选）：信任服务器，跳过确认\n- `includeTools`（可选）：白名单，仅启用指定工具\n- `excludeTools`（可选）：黑名单，排除指定工具\n\n#### 方式二：Streamable HTTP 模式（推荐用于云服务）\n\n适用于支持 HTTP 的远程 MCP 服务器，无需本地启动进程。\n\n```json\n{\n  \"mcpServers\": {\n    \"Web-Search-by-Z.ai\": {\n      \"httpUrl\": \"https://open.bigmodel.cn/api/mcp-broker/proxy/web-search/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer **************************\"\n      }\n    },\n    \"myHttpServer\": {\n      \"httpUrl\": \"https://api.example.com/mcp/endpoint\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_KEY\",\n        \"Custom-Header\": \"custom-value\"\n      }\n    }\n  }\n}\n```\n\n**Streamable HTTP 模式字段说明：**\n- `httpUrl`（必需）：MCP 服务器的 HTTP 端点 URL\n- `headers`（可选）：HTTP 请求头对象，用于认证或传递自定义信息\n  - 常用认证方式：`Authorization: Bearer \u003ctoken\u003e`\n- 其他字段（`includeTools`、`excludeTools`、`trust` 等）同样适用\n\n**两种模式对比：**\n\n| 特性 | 标准模式 | Streamable HTTP 模式 |\n|-----|---------|---------------------|\n| **连接方式** | 本地启动进程 | HTTP 请求 |\n| **适用场景** | 本地 MCP 服务器 | 云服务、远程 MCP |\n| **配置复杂度** | 需要配置命令、路径 | 只需 URL 和可选 Headers |\n| **资源占用** | 本地进程资源 | 无本地进程 |\n| **网络要求** | 无需网络 | 需要网络连接 |\n\n### 管理 MCP 服务器\n\n```bash\n# 查看所有 MCP 服务器状态\n/mcp\n\n# 添加新服务器\n/mcp add github\n\n# 刷新服务器连接\n/mcp refresh github\n\n# 进行 OAuth 认证\n/mcp auth github\n```\n\n---\n\n## 🤖 自定义模型支持\n\nDeepV Code 支持配置 OpenAI 兼容格式和 Anthropic Claude API 格式的自定义模型，让你可以使用任何兼容的 AI 服务。\n\n### 为什么使用自定义模型？\n\n- 🔓 **自由选择** - 使用你最喜爱的 AI 服务商\n- 💰 **成本控制** - 直接向服务商付费，无需通过中间商\n- 🏠 **本地部署** - 支持本地模型（LM Studio, Ollama 等）\n- 🚀 **灵活配置** - 根据需求调整参数和端点\n\n### 快速配置\n\n#### 方式一：使用配置向导（推荐）\n\n在 CLI 中输入：\n\n```bash\n/add-model\n```\n\n按照向导提示填写：\n1. 选择提供商类型（OpenAI Compatible / Anthropic Claude）\n2. 输入显示名称\n3. 输入 API 基础 URL\n4. 输入 API 密钥（推荐使用环境变量格式 `${OPENAI_API_KEY}`）\n5. 输入模型 ID\n6. 设置最大 Token 数（可选）\n7. 确认配置\n\n#### 方式二：手动编辑配置文件\n\n编辑 `~/.deepv/custom-models.json`：\n\n```json\n{\n  \"models\": [\n    {\n      \"displayName\": \"GPT-4 Turbo\",\n      \"provider\": \"openai\",\n      \"baseUrl\": \"https://api.openai.com/v1\",\n      \"apiKey\": \"${OPENAI_API_KEY}\",\n      \"modelId\": \"gpt-4-turbo\",\n      \"maxTokens\": 128000,\n      \"enabled\": true\n    },\n    {\n      \"displayName\": \"Claude Sonnet\",\n      \"provider\": \"anthropic\",\n      \"baseUrl\": \"https://api.anthropic.com\",\n      \"apiKey\": \"${ANTHROPIC_API_KEY}\",\n      \"modelId\": \"claude-sonnet-4-5\",\n      \"maxTokens\": 200000,\n      \"enabled\": true\n    }\n  ]\n}\n```\n\n### 支持的提供商\n\n#### OpenAI Compatible (`openai`)\n\n适用于任何遵循 OpenAI Chat Completions 格式的 API：\n\n- **OpenAI 官方 API**\n  ```json\n  {\n    \"displayName\": \"GPT-4 Turbo\",\n    \"provider\": \"openai\",\n    \"baseUrl\": \"https://api.openai.com/v1\",\n    \"apiKey\": \"${OPENAI_API_KEY}\",\n    \"modelId\": \"gpt-4-turbo\"\n  }\n  ```\n\n- **Azure OpenAI**\n  ```json\n  {\n    \"displayName\": \"Azure GPT-4\",\n    \"provider\": \"openai\",\n    \"baseUrl\": \"https://your-resource.openai.azure.com/openai/deployments/your-deployment\",\n    \"apiKey\": \"${AZURE_OPENAI_KEY}\",\n    \"modelId\": \"gpt-4\",\n    \"headers\": {\n      \"api-version\": \"2024-02-01\"\n    }\n  }\n  ```\n\n- **本地模型（LM Studio, Ollama）**\n  ```json\n  {\n    \"displayName\": \"Local Llama\",\n    \"provider\": \"openai\",\n    \"baseUrl\": \"http://localhost:1234/v1\",\n    \"apiKey\": \"not-needed\",\n    \"modelId\": \"llama-3-70b\"\n  }\n  ```\n\n- **第三方服务（Groq, Together AI 等）**\n  ```json\n  {\n    \"displayName\": \"Groq Llama 3\",\n    \"provider\": \"openai\",\n    \"baseUrl\": \"https://api.groq.com/openai/v1\",\n    \"apiKey\": \"${GROQ_API_KEY}\",\n    \"modelId\": \"llama-3-70b-8192\"\n  }\n  ```\n\n#### Anthropic Claude (`anthropic`)\n\n适用于 Claude API 端点，支持扩展思考功能：\n\n```json\n{\n  \"displayName\": \"Claude Sonnet (Thinking)\",\n  \"provider\": \"anthropic\",\n  \"baseUrl\": \"https://api.anthropic.com\",\n  \"apiKey\": \"${ANTHROPIC_API_KEY}\",\n  \"modelId\": \"claude-sonnet-4-5\",\n  \"enableThinking\": true\n}\n```\n\n### 配置字段说明\n\n**必需字段：**\n\n| 字段 | 说明 | 示例 |\n|-----|------|-----|\n| `displayName` | 显示名称 | `GPT-4 Turbo` |\n| `provider` | 提供商类型 | `openai` 或 `anthropic` |\n| `baseUrl` | API 基础 URL | `https://api.openai.com/v1` |\n| `apiKey` | API 密钥 | `${OPENAI_API_KEY}` |\n| `modelId` | 模型名称 | `gpt-4-turbo` |\n\n**可选字段：**\n\n| 字段 | 说明 | 默认值 |\n|-----|------|--------|\n| `maxTokens` | 最大上下文窗口 | 视提供商而定 |\n| `enabled` | 是否启用 | `true` |\n| `headers` | 额外 HTTP 请求头 | 无 |\n| `timeout` | 请求超时（毫秒） | `300000` |\n| `enableThinking` | 启用 Anthropic 扩展思考 | `false` |\n\n### 使用自定义模型\n\n#### 通过模型选择对话框\n\n```bash\n/model\n```\n\n自定义模型会显示 `[Custom]` 标签和青色，使用方向键选择。\n\n#### 直接切换\n\n```bash\n/model custom:openai:gpt-4-turbo@abc123\n```\n\n### 环境变量设置\n\n推荐使用环境变量存储 API 密钥：\n\n**Linux/macOS：**\n```bash\nexport OPENAI_API_KEY=\"sk-your-key-here\"\nexport ANTHROPIC_API_KEY=\"sk-ant-your-key-here\"\n```\n\n**Windows PowerShell：**\n```powershell\n$env:OPENAI_API_KEY=\"sk-your-key-here\"\n$env:ANTHROPIC_API_KEY=\"sk-ant-your-key-here\"\n```\n\n### 特性与限制\n\n✅ **支持的功能：**\n- 流式和非流式响应\n- 工具调用（Function Calling）\n- 多模态输入（文本、图片）\n- 与 DeepV Code 所有功能集成\n\n⚠️ **注意：**\n- 自定义模型不消耗 DeepV 积分\n- 需直接向 API 提供商付费\n- 某些高级功能可能因提供商限制而不可用\n- Token 计数由提供商决定\n\n### 相关文档\n\n- 📖 [自定义模型快速入门](./docs/custom-models-quickstart.md)\n- 📖 [自定义模型完整指南](./docs/custom-models-guide.md)\n- 📖 [自定义模型架构说明](./docs/custom-models-architecture.md)\n\n---\n\n## 🪝 Hooks 钩子机制\n\nHooks 允许你在关键工作流节点注入自定义逻辑。\n\n### 配置 Hooks\n\n在 `.deepvcode/settings.json` 中添加：\n\n```json\n{\n  \"hooks\": {\n    \"preToolExecution\": [\n      {\n        \"matcher\": { \"toolName\": \"write_file\" },\n        \"action\": {\n          \"type\": \"shell\",\n          \"command\": \"echo 'About to write file: $TOOL_ARGS'\"\n        }\n      }\n    ],\n    \"postToolExecution\": [\n      {\n        \"matcher\": { \"toolName\": \"write_file\", \"exitCode\": 0 },\n        \"action\": {\n          \"type\": \"shell\",\n          \"command\": \"npm run lint -- --fix $FILE_PATH\"\n        }\n      }\n    ]\n  }\n}\n```\n\n### 使用场景\n\n- **自动格式化** - 文件写入后自动运行 Prettier\n- **代码检查** - 修改代码后自动运行 ESLint\n- **提交验证** - 执行 Shell 命令前检查分支\n- **日志记录** - 记录所有工具调用\n\n### 相关文档\n\n- 📖 [Hooks 使用指南](./docs/hooks-user-guide.md)\n- 📖 [Hooks 架构设计](./docs/HOOKS_ARCHITECTURE.md)\n- 📖 [Hooks 示例](./docs/hooks-examples.md)\n\n---\n\n## ⚙️ 配置文件\n\n### 项目配置 `DEEPV.md`\n\n在项目根目录创建 `DEEPV.md`，为 AI 提供项目特定的上下文和规范：\n\n```markdown\n# 项目概述\n这是一个基于 React + TypeScript 的前端项目...\n\n# 技术栈\n- React 18\n- TypeScript 5\n- Vite\n- TailwindCSS\n\n# 代码规范\n- 使用函数组件和 Hooks\n- 命名使用 camelCase\n- 组件文件使用 PascalCase\n\n# 目录结构说明\n- src/components/ - 可复用组件\n- src/pages/ - 页面组件\n- src/hooks/ - 自定义 Hooks\n- src/utils/ - 工具函数\n```\n\n使用 `/init` 命令可以自动生成初始配置。\n\n### 用户配置 `.deepvcode/settings.json`\n\n```json\n{\n  \"preferredModel\": \"gemini-2.0-flash\",\n  \"theme\": \"dark\",\n  \"trimSpaces\": true,\n  \"mcpServers\": {},\n  \"hooks\": {}\n}\n```\n\n---\n\n## 🧑‍💻 开发指南\n\n### 环境准备\n\n```bash\n# 确保 Node.js 版本 \u003e= 20\nnode --version\n\n# 克隆仓库\ngit clone https://github.com/OrionStarAI/DeepVCode.git\ncd DeepVCode\n\n# 安装依赖\nnpm install\n```\n\n### 常用命令\n\n| 命令 | 说明 |\n|:---|:---|\n| `npm install` | 安装所有依赖 |\n| `npm run build` | 构建所有包 |\n| `npm run dev` | 开发模式运行（带调试） |\n| `npm run test` | 运行所有测试 |\n| `npm run lint` | 代码风格检查 |\n| `npm run lint:fix` | 自动修复代码风格 |\n| `npm run format` | 格式化代码 (Prettier) |\n| `npm run typecheck` | TypeScript 类型检查 |\n| `npm run clean` | 清理构建产物和缓存 |\n| `npm run pack:prod` | 生产环境打包 |\n| `npm run pack:vscode` | 打包 VS Code 插件 |\n\n### 开发流程\n\n1. **修改代码** - 在相应的 `packages/*/src` 目录下修改\n2. **构建** - 运行 `npm run build`\n3. **测试** - 运行 `npm run dev` 本地测试\n4. **检查** - 运行 `npm run lint \u0026\u0026 npm run typecheck`\n5. **提交** - 确保测试通过后提交代码\n\n### 调试技巧\n\n```bash\n# 启用调试模式\nnpm run debug\n\n# 启用文件日志\nLOG_TO_FILE=true npm run dev\n\n# 查看详细日志\nFILE_DEBUG=1 npm run dev\n```\n\n### 添加新工具\n\n1. 在 `packages/core/src/tools/` 创建工具文件\n2. 实现工具接口\n3. 在 `tool-registry.ts` 注册工具\n4. 添加单元测试\n\n---\n\n## ❓ 常见问题\n\n### 安装问题\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eQ: npm install 失败，提示权限错误\u003c/b\u003e\u003c/summary\u003e\n\n**A:** 尝试以下方法：\n\n```bash\n# 方法 1: 使用 --unsafe-perm\nnpm install -g deepv-code --unsafe-perm\n\n# 方法 2: 修改 npm 全局目录权限\nmkdir ~/.npm-global\nnpm config set prefix '~/.npm-global'\nexport PATH=~/.npm-global/bin:$PATH\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eQ: 提示 Node.js 版本过低\u003c/b\u003e\u003c/summary\u003e\n\n**A:** DeepV Code 需要 Node.js 20+。使用 nvm 管理版本：\n\n```bash\nnvm install 20\nnvm use 20\n```\n\n\u003c/details\u003e\n\n### 使用问题\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eQ: 如何切换 AI 模型？\u003c/b\u003e\u003c/summary\u003e\n\n**A:** 使用 `/model` 命令或启动时指定：\n\n```bash\n# 交互模式\n/model gemini-2.0-flash\n\n# 启动时指定\ndvcode -m gemini-2.0-flash\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eQ: 如何继续之前的会话？\u003c/b\u003e\u003c/summary\u003e\n\n**A:** 使用 `-c` 参数或 `/session` 命令：\n\n```bash\n# 继续最近会话\ndvcode -c\n\n# 列出所有会话\n/session list\n\n# 选择特定会话\n/session select 1\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eQ: YOLO 模式是什么？\u003c/b\u003e\u003c/summary\u003e\n\n**A:** YOLO 模式下，AI 的所有操作会自动执行，无需用户确认。⚠️ 谨慎使用！\n\n```bash\n# 启用\ndvcode -y\n# 或\n/yolo on\n```\n\n\u003c/details\u003e\n\n---\n\n## 🤝 贡献指南\n\n我们欢迎社区贡献！无论是 Bug 修复、新功能还是文档改进。\n\n### 贡献流程\n\n1. **Fork** 本仓库\n2. 创建特性分支\n   ```bash\n   git checkout -b feature/AmazingFeature\n   ```\n3. 提交改动\n   ```bash\n   git commit -m 'feat: add some amazing feature'\n   ```\n4. 推送分支\n   ```bash\n   git push origin feature/AmazingFeature\n   ```\n5. 提交 **Pull Request**\n\n### 提交规范\n\n使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范：\n\n- `feat:` 新功能\n- `fix:` Bug 修复\n- `docs:` 文档更新\n- `style:` 代码格式\n- `refactor:` 重构\n- `test:` 测试相关\n- `chore:` 构建/工具\n\n### 报告问题\n\n发现 Bug 或有功能建议？请 [创建 Issue](https://github.com/OrionStarAI/DeepVCode/issues)，包含：\n\n- 问题描述\n- 复现步骤\n- 期望行为\n- 环境信息（OS、Node 版本等）\n\n---\n\n## ⭐ Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=OrionStarAI/DeepVCode\u0026type=date\u0026legend=top-left)](https://www.star-history.com/#OrionStarAI/DeepVCode\u0026type=date\u0026legend=top-left)\n\n---\n\n## 🗺️ 路线图\n\n### 短期目标 (v1.x)\n\n- [ ] 优化 MCP 上下文理解能力\n- [ ] 扩展工具系统，支持更多场景\n- [ ] 增强 VS Code 插件体验\n- [ ] 支持更多 AI 模型\n\n### 中期目标 (v2.x)\n\n- [ ] 多模态支持（图表、设计稿）\n- [ ] 深度架构分析和设计辅助\n- [ ] 开放插件生态系统\n- [ ] 团队协作功能\n\n### 长期愿景\n\n- [ ] 自主学习和进化\n- [ ] 预测开发需求\n- [ ] 全自动化软件工程\n\n---\n\n## 📄 许可证与法律信息\n\n本项目基于 [Apache License 2.0](LICENSE) 开源。\n\n| 📄 Legal | |\n|:---|:---|\n| **License** | [Apache License 2.0](LICENSE) |\n| **Terms of Service** | [Terms \u0026 Privacy](https://dvcode.deepvlab.ai/terms) |\n| **Privacy Policy** | [Privacy Policy](https://dvcode.deepvlab.ai/privacy) |\n| **Security** | [Security Policy](SECURITY.md) |\n\n```\nCopyright 2025 DeepV Code Team\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n```\n\n---\n\n## 🔗 相关链接\n\n\u003cdiv align=\"center\"\u003e\n\n| 资源 | 链接 |\n|:---:|:---|\n| 🌐 **官方网站** | [https://dvcode.deepvlab.ai](https://dvcode.deepvlab.ai) |\n| 📦 **npm 包** | [https://www.npmjs.com/package/deepv-code](https://www.npmjs.com/package/deepv-code) |\n| 📖 **白皮书** | [DeepV_Code_Whitepaper.md](./DeepV_Code_Whitepaper.md) |\n| 🐛 **问题反馈** | [GitHub Issues](https://github.com/OrionStarAI/DeepVCode/issues) |\n| 💬 **讨论区** | [GitHub Discussions](https://github.com/OrionStarAI/DeepVCode/discussions) |\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n### 💬 \"AI 不只是工具，更是每位开发者的伙伴。\"\n\n\u003cbr\u003e\n\n**⭐ 如果这个项目对你有帮助，请给我们一个 Star！⭐**\n\n\u003cbr\u003e\n\n🪄 **Happy Coding with DeepV Code!** 💻✨\n\n\u003cbr\u003e\n\n---\n\nMade with ❤️ by [DeepV Code Team](https://github.com/OrionStarAI)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forionstarai%2Fdeepvcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forionstarai%2Fdeepvcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forionstarai%2Fdeepvcode/lists"}