Skip to content

refactor: 调整项目目录结构#182

Open
hqwlkj wants to merge 5 commits into
lessweb:mainfrom
hqwlkj:main
Open

refactor: 调整项目目录结构#182
hqwlkj wants to merge 5 commits into
lessweb:mainfrom
hqwlkj:main

Conversation

@hqwlkj

@hqwlkj hqwlkj commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Deep Code 项目结构说明

目录结构

deepcode/
├── .claude/                    # Claude Code 配置
├── .deepcode/                  # Deep Code 本地配置
├── .github/                    # GitHub Actions 配置
│   └── workflows/              # CI/CD 工作流
├── .husky/                     # Git hooks (lint-staged)
├── docs/                       # 项目文档
├── packages/                   # Monorepo 工作区
│   ├── cli/                    # CLI 终端应用
│   ├── core/                   # 核心库
│   └── vscode-ide-companion/   # VSCode 扩展
├── resources/                  # 静态资源 (截图等)
├── scripts/                    # 构建脚本
├── package.json                # 根配置 (workspaces)
├── tsconfig.json               # TypeScript 配置
└── eslint.config.mjs           # ESLint 配置

核心包 (packages/core)

包名: @vegamo/deepcode-core
版本: 0.1.31
职责: LLM 会话管理、工具执行、共享工具库

源码结构

packages/core/
├── src/
│   ├── common/                 # 公共模块
│   │   ├── bash-timeout.ts     # Bash 超时处理
│   │   ├── debug-logger.ts     # 调试日志
│   │   ├── error-logger.ts     # 错误日志
│   │   ├── file-history.ts     # 文件历史记录
│   │   ├── file-utils.ts       # 文件工具函数
│   │   ├── model-capabilities.ts # 模型能力配置
│   │   ├── notify.ts           # 通知系统
│   │   ├── openai-client.ts    # OpenAI API 客户端
│   │   ├── openai-message-converter.ts # 消息格式转换
│   │   ├── openai-thinking.ts  # 思考链处理
│   │   ├── permissions.ts      # 权限管理
│   │   ├── process-tree.ts     # 进程树管理
│   │   ├── shell-utils.ts      # Shell 工具函数
│   │   ├── state.ts            # 状态管理
│   │   ├── telemetry.ts        # 遥测统计
│   │   ├── tool-types.ts       # 工具类型定义
│   │   └── validate.ts         # 数据验证
│   ├── generated/              # 自动生成代码
│   │   └── git-commit.ts       # Git 提交信息
│   ├── mcp/                    # MCP 协议支持
│   │   ├── mcp-client.ts       # MCP 客户端
│   │   └── mcp-manager.ts      # MCP 管理器
│   ├── tools/                  # 工具处理器
│   │   ├── ask-user-question-handler.ts # 用户提问
│   │   ├── bash-handler.ts     # Bash 命令执行
│   │   ├── edit-handler.ts     # 文件编辑
│   │   ├── executor.ts         # 工具执行器
│   │   ├── read-handler.ts     # 文件读取
│   │   ├── update-plan-handler.ts # 计划更新
│   │   ├── web-search-handler.ts # 网页搜索
│   │   └── write-handler.ts    # 文件写入
│   ├── tests/                  # 单元测试
│   ├── index.ts                # 入口文件
│   ├── prompt.ts               # Prompt 模板系统
│   ├── session.ts              # 会话管理
│   └── settings.ts             # 设置管理
├── templates/                  # 模板文件
│   ├── prompts/                # 系统提示词模板
│   ├── skills/                 # Agent Skills 技能定义
│   │   └── bundled/            # 内置技能
│   │       ├── deepcode-self-refer/ # 自引用技能
│   │       ├── plan/           # 计划模式技能
│   │       ├── skill-digester/ # 技能分析器
│   │       └── skill-writer/   # 技能编写器
│   └── tools/                  # 工具描述模板
└── dist/                       # 构建输出

主要依赖

  • openai - OpenAI API SDK
  • zod - 数据验证
  • ejs - 模板引擎
  • chalk - 终端颜色

CLI 应用 (packages/cli)

包名: @vegamo/deepcode-cli
版本: 0.1.31
职责: 终端交互界面,基于 React (Ink) 构建

源码结构

packages/cli/
├── src/
│   ├── ui/
│   │   ├── components/         # React 组件
│   │   │   ├── DropdownMenu/   # 下拉菜单
│   │   │   ├── FileMentionMenu/# 文件提及菜单
│   │   │   ├── MessageView/    # 消息视图
│   │   │   ├── ModelsDropdown/ # 模型选择
│   │   │   ├── SkillsDropdown/ # 技能选择
│   │   │   └── ...
│   │   ├── views/              # 页面视图
│   │   │   ├── App.tsx         # 主应用
│   │   │   ├── PromptInput.tsx # 输入框
│   │   │   ├── SessionList.tsx # 会话列表
│   │   │   ├── WelcomeScreen.tsx # 欢迎页
│   │   │   └── ...
│   │   ├── contexts/           # React Context
│   │   │   ├── AppContext.tsx  # 应用上下文
│   │   │   └── RawModeContext.tsx # 原始模式
│   │   ├── hooks/              # 自定义 Hooks
│   │   │   ├── cursor.ts       # 光标处理
│   │   │   ├── useHistoryNavigation.ts # 历史导航
│   │   │   ├── usePasteHandling.ts # 粘贴处理
│   │   │   └── useTerminalInput.ts # 终端输入
│   │   ├── core/               # 核心逻辑
│   │   │   ├── prompt-buffer.ts # 输入缓冲
│   │   │   ├── slash-commands.ts # 斜杠命令
│   │   │   ├── thinking-state.ts # 思考状态
│   │   │   └── ...
│   │   └── index.ts
│   ├── common/
│   │   └── update-check.ts     # 更新检查
│   ├── tests/                  # 单元测试
│   └── cli.tsx                 # 入口文件
└── dist/                       # 构建输出

主要依赖

  • ink - React 终端渲染框架
  • react - UI 框架
  • gradient-string - 渐变文本

VSCode 扩展 (packages/vscode-ide-companion)

包名: deepcode-vscode
版本: 0.1.22
发布者: vegamo
职责: VSCode 编辑器集成

源码结构

packages/vscode-ide-companion/
├── src/
│   ├── extension.ts            # 扩展入口
│   ├── provider.ts             # Webview 提供者
│   ├── utils.ts                # 工具函数
│   └── tests/                  # 测试文件
├── resources/                  # 图标资源
├── out/                        # 编译输出
└── *.vsix                      # 打包产物

功能特性

  • Activity Bar 集成 (Deep Code 图标)
  • Webview 视图展示
  • 编辑器标题栏快捷按钮

文档目录 (docs/)

docs/
├── quickstart.md / _en.md      # 快速开始
├── configuration.md / _en.md   # 配置说明
├── mcp.md / _en.md             # MCP 协议
├── notify.md / _en.md          # 通知系统
├── permission.md / _en.md      # 权限管理
├── session-persistence.md / _en.md # 会话持久化
├── agent-skills.md / _en.md    # Agent Skills
└── agents-md.md / _en.md       # Agents 配置

构建脚本 (scripts/)

scripts/
├── build.js                    # 主构建脚本
├── build-vscode-companion.js   # VSCode 扩展构建
├── clean.js                    # 清理脚本
├── esbuild.config.js           # esbuild 配置 (CLI)
├── esbuild-vscode.config.js    # esbuild 配置 (VSCode)
├── copy-bundle-assets.js       # 复制资源文件
├── generate-git-commit-info.js # 生成 Git 信息
└── start.js                    # 启动脚本

NPM Scripts

npm run build          # 构建 CLI 应用
npm run build:vscode   # 构建 VSCode 扩展
npm run typecheck      # TypeScript 类型检查
npm run lint           # ESLint 检查
npm run format         # Prettier 格式化
npm run test           # 运行测试
npm run start          # 启动 CLI
npm run build-and-start  #编译并启动CLI
npm run check          # 完整检查 (typecheck + lint + format)

版本信息

包名 版本 说明
@vegamo/deepcode-core 0.1.30 核心库
@vegamo/deepcode-cli 0.1.30 CLI 应用
deepcode-vscode 0.1.22 VSCode 扩展

@hqwlkj hqwlkj marked this pull request as draft June 16, 2026 07:40
@hqwlkj hqwlkj marked this pull request as ready for review June 16, 2026 07:40
@hqwlkj hqwlkj marked this pull request as draft June 16, 2026 07:40
- 扩展 skill-digester 的 description 以覆盖技能安装和消化两大功能
- 细化消化技能的工作流步骤,增加更多操作细节和示例命令
- 新增安装 Agent Skill 工作流,规范安装路径及用户交互方式
- 规范使用 AskUserQuestion 提问,涵盖语言选择、修改确认与安装范围选择
- 修正示例 JSON 格式,统一提问选项结构
- 强化技能识别与路径匹配规则,避免误修改及覆盖风险
- 升级包版本号至 0.1.31,并统一项目包名为 @vegamo/deepcode
@hqwlkj hqwlkj marked this pull request as ready for review June 16, 2026 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant