CodeWeaver🕸️
⚠️ 测试版(v0.6.0) -静态分析+代码清理!SpotBugs和Checkstyle集成,所有软件包更新,代码库完全清理。PMD和SonarLink即将推出!
用于多语言项目分析(Java、TypeScript、JavaScript、Markdown、Python)的令牌高效MCP服务器
为LLM编织代码智能-一个轻量级的模型上下文协议服务器,通过带有语言插件的多代理架构,提供对Java、TypeScript、JavaScript、Markdown和Python文件的令牌高效访问。
⚡ 亮点
- ✅ 零本地依赖\*-纯Node.js/TypeScript,带有特定语言的解析器
- ✅ 双接口 -CLI工具和MCP服务器来自同一代码库
- ✅ 代币高效 -具有令牌限制的智能文件读取
- ✅ 多语言支持 🆕 - Java、TypeScript、JavaScript、Markdown和Python具有统一的插件架构!
- 🎯 完整的Java支持 (Java 8-23)-记录、密封类、模块系统 - 🎯 完全支持TypeScript -类、接口、类型、枚举、泛型、装饰器 - 🎯 完整的JavaScript支持 -现代ES6+、JSX、箭头函数、异步/等待 - 🎯 完整的Markdown支持 -标题作为节,链接作为引用,代码块 - 🎯 完整的Python支持 🆕 - 类、函数、方法、装饰器、类型提示、异步/等待 - ✅ 类级注释/装饰器 -Spring、JPA、Jakarta EE、TypeScript装饰器、Python@装饰器 - ✅ 方法参数 -提取的名称、类型和注释 - ✅ 通用类型参数 -带边界的完整签名(Java、TypeScript) - ✅ 语言字段 -每个标记有源语言的符号 - ✅ 易于扩展 -用于添加新语言的插件系统
- ✅ 强大的搜索功能 -关键字、模式和语义搜索(AI驱动)🆕
- ✅ 语义代码搜索 -使用LanceDB+Transformers按含义/意图查找代码🆕
- ⚡ ONNX运行时优化 -多线程+单指令多数据集,嵌入速度提高3倍! 🆕 - ⚡ 批处理速度提高16倍 -约10分钟内完成10k个文件(原来是8小时!) - 🎯 多收藏支持 -代码和文档的索引分开! 🆕 - 🔍 文件监视器 -文件更改时自动增量更新! 🆕 - 📖 语义搜索.md -包含工作流程和最佳实践的全面指南 - 🎯 MULTI_LLECTION_GUIDE.md -多收款使用指南(代码+文档) - 🔍 FILE_WATCHER_GUIDE.md -让你的索引始终保持最新! - 🚀 性能优化.md -未来优化(GPU加速)
- ✅ 代码质量分析 -圈复杂度、LOC度量、导入分析
- ✅ 静态分析 🆕 - SpotBugs(bug),Checkstyle(风格)和插件架构!
- 🔬 SpotBugs -查找NullPointer异常、资源泄漏、SQL注入 - ✅ 代码检查 -代码样式执行、命名约定 - 🔌 插件架构 -易于添加PMD,稍后添加SonarLink
- ✅ Git集成 -状态、差异、责任、日志、分支、比较
- ✅ 测试驱动 -291项测试通过(100%)-所有功能都经过全面测试! 🆕
\* 核心功能(发现、符号、搜索、分析、VCS)没有本机依赖关系。语义搜索可选地需要LanceDB+ONNX运行时(本机组件)。
______________________________________________________________________
🚀 快速开始
# Install
npm install
# Build
npm run build
# Use as CLI
npm run dev -- info
npm run dev -- symbols index
npm run dev -- search keyword "CodeWeaver"
npm run dev -- analysis project
# Use as MCP Server
npm run dev -- --mcp📖 文档
📚 完整文档索引 -所有CodeWeaver文档的完整导航
快速链接:
| 类别 | 文档 | 描述 |
|---|---|---|
| 🚀 入门指南 | 快速入门 • 工作流程 • 生产 | 安装、教程、部署 |
| 📖 参考 | API • 用法 • 表现 | API参考、基准、使用指南 |
| 🎯 指南 | 语义搜索 • 多集合 • 文件监视器 | 高级功能指南 |
| 🏗️ 建筑 | 建筑 • 数据模型 • 令牌管理 | 系统设计,技术深度挖掘 |
| 👨💻 发展 | 贡献 • 测试 • 路线图 | 对于贡献者 |
| 📦 项目 | 更新日志 • 行为准则 | 发行说明、治理 |
| 📝 其他 | 术语表 | 术语和缩略语 |
CodeWeaver新手? 从开始 QUICKSTART.md (5分钟)或 开发人员_WORKFLOW.md (20分钟)。
______________________________________________________________________
📦 当前功能(第1+2+3+4阶段完成)
✅ 实现
代理人:
- 项目元数据代理 🆕 - 基于插件架构的多语言项目元数据提取
- Gradle:Java版本、依赖关系、插件、模块 - npm:Types/JavaScript、包管理器检测、脚本、工作区 - 自动检测:自动检测项目类型 - 统一架构:语言无关元数据格式 - 可扩展:易于添加新的构建系统(pip、Maven、Cargo等)
- 系统检查代理 🆕 - 依赖性验证和系统健康检查
- 关键的:Node.js(>=18),Git(>=2.0)-核心功能所需 - 可选的:Python(>=3.8)、Gradle(>=7.0)、Maven(>=3.6) - 自动检查:CLI模式下的快速启动验证 - 医生指挥部:完整的系统诊断和建议
- 缓存代理 -使用SHA-256哈希的内容可寻址缓存
- 狙击手特工 -使用行范围进行令牌高效文件读取
- 符号代理 -基于插件架构的多语言符号提取🆕
- Java:类、接口、枚举、记录、注释类型、密封类、模块系统 - TypeScript:类、接口、类型、枚举、函数、泛型、装饰器、命名空间 - JavaScript:类、函数、箭头函数、异步/等待、ES6+特性 - 标记语言:标题作为节,本地链接作为引用,代码块 - python 🆕: 类、函数、方法、装饰器、类型提示、异步/等待 - 带有参数、泛型和注释/装饰器的方法 - 带修改器和可见性的字段/属性 - 构造函数、嵌套类型、枚举常量 - 语言标记符号,便于过滤
- 搜索代理 -带文件过滤的关键字和模式搜索
- 分析代理 -圈复杂度、LOC度量、代码质量
- VCS代理 -Git操作(状态、差异、责备、日志、分支、比较)
- 语义索引代理 -支持多集合的LanceDB矢量搜索🆕
- 文件监视程序代理 -文件更改时自动增量索引更新🆕
- 符号存储 -具有JSON行持久性的内存符号索引
MCP工具(共19个):
*文件和项目:*
project.meta-获取统一的项目元数据(自动检测:Gradle、npm、pip、Maven等)
- 具有插件架构的多语言支持 - 可选的 projectType 特定提取参数
file.read-读取具有可选令牌限制的文件(默认值:10000)file.readRange-读取特定行范围(包括1个索引)file.readWithNumbers-读取带有行号的文件以供参考
*符号:*
symbols.index-索引整个项目并提取符号symbols.find-按名称查找符号(不区分大小写的子字符串)symbols.findByKind-按种类(类/方法/字段/构造函数)查找符号symbols.get-按限定名称获取符号详细信息
*搜索:*
search.keyword-在文件中搜索关键字(类似grep)search.files-按名称模式查找文件(类似glob:\*.java)
*分析:*
analysis.file-分析单个文件的复杂性和指标analysis.project-对整个项目进行统计分析
*版本控制:*
vcs.status-获取Git存储库状态vcs.diff-获取文件的差异vcs.blame-获取文件的Git错误信息vcs.log-获取提交历史记录vcs.branches-获取所有分支的列表vcs.compare-比较两个分支
*系统:*
system.check-检查系统依赖关系(计划用于MCP集成)
CLI命令:
*信息和文件:*
codeweaver info-显示项目信息- `codeweaver file read
[--limit N] [--numbers]` -读取文件
- `codeweaver file range
` -读取行范围
- `codeweaver file context
[-c N]` -获取线路周围的上下文
*符号:*
codeweaver symbols index-索引项目并提取符号codeweaver symbols find-按名称查找符号codeweaver symbols get-获取符号详细信息codeweaver symbols list-列出某一类型的所有符号
*搜索:*
codeweaver search keyword [-i] [-m N] [-c N] [-e .ext]-关键字搜索- `codeweaver search files
` -按模式查找文件
codeweaver search semantic [--index] [-c collection] [-l N]-语义搜索🆕
*分析:*
- `codeweaver analysis file
` -分析文件复杂性和指标
codeweaver analysis project [--top N]-分析项目统计数据- `codeweaver analysis complexity
` -显示复杂性细分
*版本控制:*
codeweaver vcs status-显示Git存储库状态codeweaver vcs diff [file]-显示文件的差异codeweaver vcs blame [-l ]-显示Git责任codeweaver vcs log [-n N] [--since] [--author]-显示提交历史记录codeweaver vcs branches-列出所有分支codeweaver vcs compare-比较两个分支
*文件监视:* 🆕
codeweaver watch [--debounce N] [--code-only] [--docs-only]-监视文件和自动更新索引
*系统检查:* 🆕
codeweaver doctor-检查系统依赖关系(Node.js、Git、Python、Gradle、Maven)codeweaver doctor --quick-快速检查(仅关键依赖项)
基础设施:
- 自动检测(stdio=MCP模式,TTY=CLI模式)
- 进度跟踪(JSON行格式为
.codeweaver/progress.jsonl) - 检查点/恢复功能
- TypeScript严格模式,ESM模块
- Vitest测试框架(73项测试通过)
______________________________________________________________________
🏗️ 建筑
多代理系统
graph TB
CLI[CLI Interface
7 Command Groups] --> SERVICE[CodeWeaverService]
MCP[MCP Server
19 Tools] --> SERVICE
SERVICE --> DISC[Discovery Agent]
SERVICE --> CACHE[Cache Agent]
SERVICE --> SNIP[Snippets Agent]
SERVICE --> SYM[Symbols Agent]
SERVICE --> SEARCH[Search Agent]
SERVICE --> ANALYSIS[Analysis Agent]
SERVICE --> SEMANTIC[Semantic Index Agent]
SERVICE --> WATCHER[File Watcher Agent]
SERVICE --> VCS[VCS Agent]
SERVICE --> STORE[Symbol Storage]
DISC --> GRADLE[Gradle Parser]
CACHE --> SHA[SHA-256 Hashing]
SNIP --> TOKEN[Token Counter]
SYM --> PLUGINREG[Plugin Registry]
PLUGINREG --> JAVAPLUGIN[Java Plugin
java-parser]
PLUGINREG --> TSPLUGIN[TypeScript Plugin
typescript-estree]
PLUGINREG --> JSPLUGIN[JavaScript Plugin
typescript-estree]
PLUGINREG --> MDPLUGIN[Markdown Plugin
remark]
PLUGINREG --> PYPLUGIN[Python Plugin
tree-sitter WASM]
SEARCH --> REGEX[Regex Matching]
ANALYSIS --> COMPLEXITY[Cyclomatic
Complexity]
SEMANTIC --> LANCEDB[LanceDB
Vector Search]
SEMANTIC --> ONNX[ONNX Runtime
Embeddings]
WATCHER --> CHOKIDAR[Chokidar
File Watching]
WATCHER --> SEMANTIC
VCS --> GIT[Git Operations]
STORE --> JSONL[JSON Lines]
style SERVICE fill:#e1f5ff
style CLI fill:#d4edda
style MCP fill:#fff3cd
style SYM fill:#cfe2ff
style SEARCH fill:#cfe2ff
style ANALYSIS fill:#cfe2ff
style SEMANTIC fill:#fff3cd
style WATCHER fill:#fff3cd
style VCS fill:#cfe2ff目录结构
src/
├── index.ts # Main entry (auto-detection)
├── cli/
│ ├── index.ts # CLI entry point
│ └── commands/
│ ├── info.ts # Info command
│ ├── file.ts # File commands
│ ├── symbols.ts # Symbols commands (Phase 2)
│ ├── search.ts # Search commands (Phase 2)
│ └── analysis.ts # Analysis commands (Phase 3)
├── mcp/
│ ├── index.ts # MCP entry point
│ ├── server.ts # MCPServer class
│ └── tools.ts # Tool registration (12 tools)
├── core/
│ ├── service.ts # Shared business logic
│ ├── agents/
│ │ ├── discovery.ts # Gradle analysis
│ │ ├── cache.ts # Caching
│ │ ├── snippets.ts # File reading
│ │ ├── symbols.ts # Multi-language symbol extraction (Phase 2)
│ │ ├── search.ts # Keyword/pattern search (Phase 2)
│ │ ├── analysis.ts # Complexity analysis (Phase 3)
│ │ ├── semantic.ts # Vector search (Phase 4)
│ │ ├── vcs.ts # Git operations (Phase 4)
│ │ └── watcher.ts # File watching (Phase 4)
│ ├── language/
│ │ ├── plugin.ts # LanguagePlugin interface
│ │ ├── detector.ts # Language detection
│ │ ├── registry.ts # Plugin registry
│ │ └── plugins/
│ │ ├── java/
│ │ │ ├── index.ts # JavaLanguagePlugin
│ │ │ ├── parser.ts # java-parser wrapper
│ │ │ └── extractor.ts # Java symbol extraction
│ │ └── typescript/
│ │ ├── index.ts # TypeScript/JavaScriptLanguagePlugin
│ │ ├── parser.ts # typescript-estree wrapper
│ │ └── extractor.ts # TS/JS symbol extraction
│ └── storage/
│ └── json-symbol-store.ts # Symbol index
├── types/
│ ├── mcp.ts
│ ├── progress.ts
│ ├── project.ts
│ ├── cache.ts
│ ├── symbols.ts
│ └── analysis.ts # Analysis types (Phase 3)
└── utils/
├── progress-writer.ts # Progress tracking
└── mode-detector.ts # CLI vs MCP detection
tests/
├── unit/ # 184 passing tests
│ ├── mcp/server.test.ts # 6 tests
│ ├── agents/
│ │ ├── discovery.test.ts # 4 tests
│ │ ├── cache.test.ts # 5 tests
│ │ ├── snippets.test.ts # 7 tests
│ │ ├── symbols.test.ts # 23 tests (Java)
│ │ ├── search.test.ts # 11 tests
│ │ ├── analysis.test.ts # 11 tests
│ │ ├── semantic.test.ts # Tests for semantic search
│ │ ├── vcs.test.ts # Tests for VCS operations
│ │ └── watcher.test.ts # Tests for file watcher
│ ├── language/
│ │ ├── detector.test.ts # Language detection tests
│ │ ├── registry.test.ts # Plugin registry tests
│ │ ├── java.test.ts # Java plugin tests
│ │ └── typescript.test.ts # 21 tests (TypeScript/JavaScript)
│ └── storage/
│ └── json-symbol-store.test.ts # 5 tests
├── integration/ # 12 passing tests
│ ├── smoke.test.ts # 5 tests
│ └── multi-language.test.ts # 12 tests (Multi-Language Integration)
└── fixtures/
├── gradle-projects/simple/ # Gradle test fixtures
├── java/ # Java test files
└── typescript/ # TypeScript/JavaScript test files______________________________________________________________________
📖 用法
作为CLI工具
项目和文件:
# Show project information
codeweaver info
# Read entire file
codeweaver file read src/core/service.ts
# Read file with line numbers
codeweaver file read src/core/service.ts --numbers
# Read file with token limit
codeweaver file read src/core/service.ts --limit 500
# Read specific lines (1-indexed, inclusive)
codeweaver file range src/core/service.ts 10 20
# Get context around line (default: ±5 lines)
codeweaver file context src/core/service.ts 42
codeweaver file context src/core/service.ts 42 --context 10符号(第2阶段):
# Index entire project
codeweaver symbols index
# Find symbols by name (case-insensitive)
codeweaver symbols find "UserService"
codeweaver symbols find "get" # Finds all getXxx methods
# Get specific symbol by qualified name
codeweaver symbols get "com.example.UserService"
codeweaver symbols get "com.example.UserService#findById"
# List all symbols of a kind
codeweaver symbols list class
codeweaver symbols list method
codeweaver symbols list field搜索(第2阶段):
# Search for keyword
codeweaver search keyword "TODO"
codeweaver search keyword "processData"
# Case-insensitive search
codeweaver search keyword "exception" --case-insensitive
codeweaver search keyword "exception" -i
# Search with context lines
codeweaver search keyword "TODO" --context 3 -c 3
# Limit results
codeweaver search keyword "public" --max-results 10 -m 10
# Filter by file extensions
codeweaver search keyword "interface" --extensions .java .ts -e .java -e .ts
# Find files by pattern
codeweaver search files "*.java"
codeweaver search files "*Test.java"
codeweaver search files "User*.ts"作为MCP服务器
1.配置MCP客户端
添加到您的MCP配置中(例如,Claude Desktop):
{
"mcpServers": {
"codeweaver": {
"command": "node",
"args": [
"/absolute/path/to/mcp-workbench/dist/index.js",
"--mcp"
],
"cwd": "/path/to/your/java/project"
}
}
}或者使用npm:
{
"mcpServers": {
"codeweaver": {
"command": "npm",
"args": ["run", "dev", "--", "--mcp"],
"cwd": "/absolute/path/to/mcp-workbench"
}
}
}2.可用的MCP工具(共10个)
项目和文件:
project.meta -获取项目元数据
// Input: {} (no parameters)
// Output: ProjectMetadata
{
"name": "my-project",
"version": "1.0.0",
"javaVersion": "21",
"gradleVersion": "8.5",
"modules": [...],
"dependencies": [...],
"plugins": [...]
}file.read -读取具有令牌限制的文件
// Input: { filePath: string, maxTokens?: number }
await mcp.call('file.read', {
filePath: 'src/main/java/com/example/App.java',
maxTokens: 5000
});file.readRange -阅读特定行
// Input: { filePath: string, startLine: number, endLine: number }
await mcp.call('file.readRange', {
filePath: 'src/main/java/com/example/App.java',
startLine: 10,
endLine: 30
});file.readWithNumbers -用行号读取
// Input: { filePath: string }
await mcp.call('file.readWithNumbers', {
filePath: 'src/main/java/com/example/App.java'
});
// Output: " 1: package com.example;\n 2: \n 3: public class App { ... }"符号(第2阶段):
symbols.index -索引整个项目
// Input: {} (no parameters)
await mcp.call('symbols.index', {});
// Output: { files: 15, symbols: 234, classes: 12, classList: [...] }symbols.find -按名称查找符号
// Input: { name: string }
await mcp.call('symbols.find', {
name: 'UserService'
});
// Output: SymbolDefinition[]symbols.findByKind -按种类查找符号
// Input: { kind: 'class' | 'method' | 'field' | 'constructor' }
await mcp.call('symbols.findByKind', {
kind: 'method'
});
// Output: SymbolDefinition[]symbols.get -通过限定名称获取符号
// Input: { qualifiedName: string }
await mcp.call('symbols.get', {
qualifiedName: 'com.example.UserService#findById'
});
// Output: SymbolDefinition搜索(第2阶段):
search.keyword -在文件中搜索关键字
// Input: { keyword: string, caseSensitive?: boolean, maxResults?: number, contextLines?: number, fileExtensions?: string[] }
await mcp.call('search.keyword', {
keyword: 'TODO',
caseSensitive: false,
maxResults: 50,
contextLines: 2,
fileExtensions: ['.java', '.ts']
});
// Output: SearchResult[] with file, line, column, content, beforeContext, afterContextsearch.files -按模式查找文件
// Input: { pattern: string }
await mcp.call('search.files', {
pattern: '*Test.java'
});
// Output: string[] (file paths)______________________________________________________________________
🧪 测试
# Run all tests
npm test
# Run tests in CI mode (no watch)
npm test -- --run
# Run specific test file
npm test -- tests/unit/agents/snippets.test.ts测试覆盖范围:
- ✅ MCP服务器(6次测试)
- ✅ 发现代理(4次测试)
- ✅ 缓存代理(5次测试)
- ✅ 狙击特工(7次测试)
- ✅ 符号存储(5次测试)
- ✅ 符号代理(23个测试-Java)
- ✅ 语言插件(21个测试-Types/JavaScript,13个测试-Markdown)
- ⚠️ Python插件(18个测试-由于WASM配置而跳过)
- ✅ 搜索代理(11项测试)
- ✅ 分析试剂(11次测试)
- ✅ 语义代理(矢量搜索测试)
- ✅ VCS代理(Git操作测试)
- ✅ 文件监视程序代理(文件监视测试)
- ✅ 集成测试(17个测试:5个烟雾+12个多语言)
- 总计:256次通过(100%)
______________________________________________________________________
🔧 发展
先决条件
- Node.js >= 20.0.0
- TypeScript 5.7+
- Java JDK 21(用于目标项目)
- Gradle (可选,首选包装器)
设置
# Clone repository
git clone
cd mcp-workbench
# Install dependencies
npm install
# Build
npm run build
# Development mode (with auto-reload)
npm run build:watch
# Run in dev mode (no build required)
npm run dev脚本
npm run build # Compile TypeScript
npm run build:watch # Watch mode
npm run dev # Run with tsx (no build)
npm test # Run tests (watch mode)
npm run lint # ESLint
npm run format # Prettier
npm run clean # Remove dist & cache
npm run validate-links # Validate markdown links 🆕文档工具:
npm run validate-links # Validate internal links (~2s)
npm run validate-links:external # Include external links (~30s)
npm run validate-links:verbose # Detailed output看 LINK_VALIDATION.md 了解详情。
______________________________________________________________________
📊 代币效率
CodeWeaver旨在为LLM提供代码上下文时最大限度地减少令牌使用:
策略
- 线路范围:仅发送请求的行范围,而不是整个文件
- 令牌限制:自动截断到可配置的限制(默认值:10k)
- 智能截断:截断时尊重单词边界
- 令牌计数:用于快速估算的简单启发式(~4个字符/标记)
- 上下文窗口:围绕特定线条提供最少的上下文
令牌估计
| 内容类型 | 典型大小 | 令牌(近似值) |
|---|---|---|
| 小片段(20行) | ~1 KB | ~250 |
| 中等大小的代码段(80行) | ~4 KB | ~1000 |
| 大片段(200行) | ~10 KB | ~2500 |
| 项目元数据 | ~2KB | ~500 |
最大响应大小:10000个令牌(约40 KB文本)
______________________________________________________________________
🗺️ 路线图
✅ 第一阶段:基础(完成-100%)
- ✅ 带工具注册的MCP服务器骨架
- ✅ 进度跟踪(JSON行)
- ✅ 发现代理(Gradle元数据)
- ✅ 缓存代理(内容可寻址存储)
- ✅ 符号存储(JSON行持久化)
- ✅ 核心服务(共享逻辑)
- ✅ 带命令的CLI界面
- ✅ 带stdio的MCP接口
- ✅ 构建和测试设置(通过32个测试)
- ✅ 具有令牌限制的片段代理
- ✅ 文件(完整)
- ✅ 集成测试(5次烟雾测试)
✅ 第2阶段:索引(完成-100%)
- ✅ 符号代理(java解析器、符号提取)
- ✅ 搜索代理(关键字+模式搜索)
- ✅ 项目范围索引(类、方法、字段、构造函数)
- ✅ 符号搜索(按名称、种类、限定名)
- ✅ 文件搜索(带\*和?的glob模式)
- ✅ 上下文搜索(匹配前后行)
- ✅ MCP工具集成(6个新工具)
- ✅ CLI命令集成(符号、搜索)
- ✅ 全面测试覆盖(19项新测试)
- ✅ 文档更新
注: LanceDB语义搜索作为增强功能推迟到后期
✅ 第3阶段:分析(完成-100%)
- ✅ 分析代理(复杂性和度量计算)
- ✅ 圈复杂度计算(if、loops、catch、&&、||、?:)
- ✅ 代码度量(LOC、SLOC、注释、空行)
- ✅ 进口分析
- ✅ 方法调用检测
- ✅ 项目范围内的统计数据(总复杂性、平均值、前N个文件)
- ✅ MCP工具集成(2个新工具)
- ✅ CLI命令集成(分析)
- ✅ 全面测试覆盖(11项新测试)
- ✅ 文档更新
注: 静态分析工具(SpotBugs、Checkstyle)和Gradle runner被推迟
✅ 第4阶段:VCS集成(完成-100%)
- ✅ VCS代理(Git操作)
- ✅ 存储库状态(已修改、添加、删除、未跟踪的文件)
- ✅ 差异生成(文件级和项目级)
- ✅ 责任信息(逐行署名)
- ✅ 提交历史记录(带过滤选项)
- ✅ 分行管理(列表、比较)
- ✅ MCP工具集成(6个新工具)
- ✅ CLI命令集成(vcs)
- ✅ 全面测试覆盖(11项新测试)
- ✅ 文档更新
📋 第5阶段:编排(计划)
- 编排器代理(基于DAG的管道)
- 并行任务执行
- 依赖性解析
______________________________________________________________________
🐛 故障排除
测试失败?
# Clean and reinstall
npm run clean
rm -rf node_modules package-lock.json
npm install
npm test -- --run构建错误?
# Check TypeScript version
npx tsc --version # Should be 5.7+
# Rebuild
npm run clean
npm run buildMCP服务器没有响应?
# Check if running in MCP mode
npm run dev -- --mcp
# Verify stdio transport
echo '{}' | npm run dev -- --mcpCLI不工作?
# Ensure TTY mode (not piped)
npm run dev -- info
# Check built binary
node dist/index.js info______________________________________________________________________
📝 进度跟踪
查看实施过程中的实时进度:
# Bash/Git Bash
tail -f .codeweaver/progress.jsonl
# PowerShell
Get-Content .codeweaver\progress.jsonl -Wait
# Read checkpoint
cat .codeweaver/checkpoint.json______________________________________________________________________
🤝 贡献
欢迎投稿!拜托:
- 复刻仓库
- 创建要素分支
- 为新功能编写测试
- 确保所有测试通过:
npm test -- --run - 遵循代码风格(ESLint+Prettier)
- 提交拉取请求
代码风格
- TypeScript严格模式:必须解决所有类型错误
- ESM模块:使用
.js进口延期 - 测试驱动开发:先编写测试
- 没有未使用的变量:代码干净,无警告
______________________________________________________________________
📄 许可证
MIT许可证-请参阅 许可证
______________________________________________________________________
📚 文档
完整的文档在 docs/
🗺️ 快速访问
完整导航: docs/INDEX.md - 完整的文档索引,按角色导航
热门文档:
- 开发人员_WORKFLOW.md - 🚀 从这里开始! 完整的开发人员工作流程(所有19个MCP工具都在运行)
- QUICKSTART.md - ⚡ 5分钟快速入门指南
- API毫米 - 📚 完整的API参考资料(所有19个MCP工具)
- 性能.md - ⚡ 性能基准和可扩展性
- 语义搜索.md - 🔥 语义搜索指南及其工作流程
- 建筑.md -🏗️ 系统架构(双模式,多代理)
- GLOSSARY.md -📖 所有术语和缩写词汇表
🔗 外部链接
- 模型上下文协议 -MCP规范
______________________________________________________________________
🎯 当前状态
Alpha版本v0.1.0 ⚠️
✅ 工作特点:
- MCP服务器 使用19个工具(项目、文件、符号、搜索、分析、vcs)
- 命令行界面 有7个命令组(包括监视模式)
- 多语言支持 -Java、TypeScript、JavaScript、Markdown、带插件架构的Python
- 语义搜索 通过ONNX运行时优化
- 多收藏支持 (代码+文档)
- 文件监视器 用于自动索引更新
- 符号提取 -完全支持Java、TypeScript、JavaScript、Markdown和Python
- 代码质量分析 -圈复杂度、LOC度量
- Git集成 -状态、差异、责任、日志、分支
- 291项测试通过 (100%-所有功能均已测试)
⚠️ 已知限制:
- 大型代码库(>10k个文件)的性能各不相同
- 语义搜索内存使用率可能很高
- 文件监视器可能会错过快速更改
- 文件不完整
- 打破未来版本中预期的变化
🔮 计划改进:
- ~~ Python WASM配置~~✅ 完成
- GPU加速语义搜索
- 更好的错误消息
- 更多语言支持(Go、Rust、C#等)
- 性能优化
- 全面的文件
______________________________________________________________________
💡 哲学
CodeWeaver 遵循以下原则:
- 代币效率优先 -永远不要用整个文件淹没LLM
- 零本地依赖 -纯Node.js可移植性
- 测试驱动开发 -实施前的测试
- 双接口 -CLI和MCP使用相同的代码库
- 渐进增强 -工作基础,从那里建立起来
______________________________________________________________________
内置于❤️ LLM辅助开发工作流程。
