Token导航 LogoToken导航TokenDH.com
Codeweaver MCP logo
开发工具stdio官方级别未说明来源级核验

Codeweaver MCP

MCP Server

tsc

CodeWeaver是一个轻量级的Model Context Protocol服务器,通过多代理架构和语言插件提供对Java、TypeScript、JavaScript、Markdown和Python文件的标记高效访问,支持代码智能分析和语义搜索。

工具数

19

提示词数

0

GitHub Stars

0

资源数

0
代码分析静态分析TypeScriptClaude开发工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

nobiehl

提供方

nobiehl

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx tsc --version # Should be 5.7+

详细介绍

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, afterContext

search.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提供代码上下文时最大限度地减少令牌使用:

策略

  1. 线路范围:仅发送请求的行范围,而不是整个文件
  2. 令牌限制:自动截断到可配置的限制(默认值:10k)
  3. 智能截断:截断时尊重单词边界
  4. 令牌计数:用于快速估算的简单启发式(~4个字符/标记)
  5. 上下文窗口:围绕特定线条提供最少的上下文

令牌估计

内容类型典型大小令牌(近似值)
小片段(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 build

MCP服务器没有响应?

# Check if running in MCP mode
npm run dev -- --mcp

# Verify stdio transport
echo '{}' | npm run dev -- --mcp

CLI不工作?

# 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

______________________________________________________________________

🤝 贡献

欢迎投稿!拜托:

  1. 复刻仓库
  2. 创建要素分支
  3. 为新功能编写测试
  4. 确保所有测试通过: npm test -- --run
  5. 遵循代码风格(ESLint+Prettier)
  6. 提交拉取请求

代码风格

  • TypeScript严格模式:必须解决所有类型错误
  • ESM模块:使用 .js 进口延期
  • 测试驱动开发:先编写测试
  • 没有未使用的变量:代码干净,无警告

______________________________________________________________________

📄 许可证

MIT许可证-请参阅 许可证

______________________________________________________________________

📚 文档

完整的文档在 docs/

🗺️ 快速访问

完整导航: docs/INDEX.md - 完整的文档索引,按角色导航

热门文档:

🔗 外部链接

______________________________________________________________________

🎯 当前状态

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 遵循以下原则:

  1. 代币效率优先 -永远不要用整个文件淹没LLM
  2. 零本地依赖 -纯Node.js可移植性
  3. 测试驱动开发 -实施前的测试
  4. 双接口 -CLI和MCP使用相同的代码库
  5. 渐进增强 -工作基础,从那里建立起来

______________________________________________________________________

内置于❤️ LLM辅助开发工作流程。

目录标签

目录标签

代码分析静态分析TypeScriptClaude开发工具本地部署多语言支持语义搜索

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

tsc

工具数量(toolCount,工具数)

19

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP