🚀 MCP Vibe編碼知識圖譜
MCP Vibe編碼知識圖譜是一個全面的模型上下文協議(MCP)服務器,它將Vibe編碼方法與知識圖譜技術相結合,藉助Kuzu嵌入式數據庫,助力人工智能輔助軟件開發。該系統尚處於早期開發階段,尚未在生產環境中進行全面測試,請謹慎使用,並務必對代碼和數據進行適當備份。
✨ 主要特性
🧠 知識圖譜智能
- Kuzu圖數據庫:高性能嵌入式圖數據庫,支持Cypher查詢。
- 智能緩存:多層緩存系統,具備自動優化功能。
- 模式檢測:跨多種語言的高級設計模式識別。
- 技術債務分析:全面的債務檢測和修復跟蹤。
- 上下文感知生成:基於現有模式和標準的代碼生成。
🔍 多語言代碼分析
- JavaScript/TypeScript:完整的抽象語法樹(AST)分析,支持框架檢測。
- C++/Arduino:專業的嵌入式開發支持。
- Go、Rust、Python、Java:全面的語言支持。
- Git集成:倉庫歷史分析和協作指標統計。
- 性能分析:內存使用、時間約束和優化。
🛡️ 企業級安全與性能
- 輸入驗證:多層安全防護,防止注入攻擊。
- 性能監控:即時指標和優化。
- 備份與恢復:自動備份系統,支持壓縮。
- 健康監控:全面的系統健康監測和警報。
- 可擴展架構:專為企業級部署設計。
🔧 Arduino/嵌入式開發
- 硬件驗證:引腳衝突檢測和開發板兼容性檢查。
- 內存優化:RAM、Flash和EEPROM使用分析。
- 中斷安全:中斷服務程序(ISR)安全代碼生成和驗證。
- 時序分析:即時約束驗證。
- 開發板支持:Arduino Uno、Mega、Nano、ESP32。
📦 安裝指南
前提條件
- Node.js 18+
- Kuzu數據庫(嵌入式 - 自動安裝)
安裝步驟
git clone https://github.com/yourusername/mcp-vibe-coding-kg
cd mcp-vibe-coding-kg
npm install
npm run setup
💻 使用示例
定義領域架構
使用 `define_domain_ontology` 工具來建立系統架構:
實體:
- 用戶服務(認證、授權)
- 產品目錄(庫存、定價)
- 訂單處理器(工作流、支付)
關係:
- 用戶服務對訂單處理器進行認證
- 產品目錄為訂單處理器提供服務
業務規則:
- "所有API端點必須進行認證"
- "數據庫連接必須使用連接池"
- "錯誤響應必須包含關聯ID"
編碼標準:
- 使用TypeScript以確保類型安全
- 遵循SOLID原則
- 最大函數複雜度:10
分析Arduino項目
使用 `analyze_arduino_sketch` 工具進行嵌入式分析:
草圖路徑:"./arduino/sensor_hub/sensor_hub.ino"
目標開發板:"mega2560"
包含庫:true
返回全面分析結果:
- 內存使用:RAM 1.2KB/8KB,Flash 15KB/256KB
- 引腳衝突:未檢測到
- 中斷使用:2/6可用
- 時序違規:循環耗時45ms(目標:<50ms)
- 優化建議:對字符串使用PROGMEM
生成上下文感知代碼
使用 `generate_code_with_context` 工具:
需求:"創建用戶註冊的API端點"
應用模式:["倉庫模式", "驗證模式", "錯誤處理模式"]
約束條件:{"語言": "typescript", "框架": "express"}
生成內容:
- 倉庫模式實現
- 使用Joi模式進行輸入驗證
- 結構化錯誤處理
- 全面的日誌記錄
- 單元測試模板
📚 詳細文檔
快速開始
1. 初始化代碼庫
npm run init /path/to/your/codebase
npm run init /path/to/codebase --force --depth 15 --parallel 8
2. 配置Claude桌面應用
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
添加MCP服務器配置:
{
"mcpServers": {
"vibe-coding-kg": {
"command": "node",
"args": ["index.js", "start"],
"cwd": "/path/to/mcp-vibe-coding-kg",
"env": {
"NODE_ENV": "production"
}
}
}
}
3. 開始使用
npm start
npm run health
npm run backup my-backup.tar.gz
可用的MCP工具
📊 知識圖譜管理
define_domain_ontology - 定義業務實體、規則和編碼標準
get_kg_statistics - 全面的知識圖譜統計和健康狀況
update_kg_from_code - 用新的模式和決策更新圖譜
🔍 代碼分析與上下文
analyze_codebase - 全面的代碼庫分析,支持Git集成
query_context_for_task - 為開發任務查找相關模式
extract_context_from_code - 從註釋中提取結構化信息
detect_technical_debt - 多維技術債務分析
🛠️ 代碼生成與驗證
generate_code_with_context - 基於上下文的代碼生成,使用模板
suggest_refactoring - 智能重構建議
validate_against_kg - 基於模式和規則的多層代碼驗證
🔧 Arduino/C++開發
analyze_arduino_sketch - 完整的Arduino項目分析
validate_hardware_config - 引腳衝突和開發板兼容性檢查
optimize_for_arduino - 內存和性能優化
generate_interrupt_safe_code - 中斷服務程序(ISR)安全代碼模式
analyze_timing_constraints - 即時時序分析
⚡ 性能與優化
get_optimization_report - 全面的性能分析
force_optimization - 觸發即時系統優化
系統架構
KGsMCP/
├── src/
│ ├── handlers/ # MCP工具實現
│ │ ├── validation.js # 多層驗證系統
│ │ ├── codeGeneration.js # 基於模板的代碼生成
│ │ ├── context.js # 上下文提取和查詢
│ │ ├── knowledgeGraph.js # 圖管理操作
│ │ ├── initialization.js # 代碼庫分析引擎
│ │ └── arduinoHandler.js # Arduino/C++專業工具
│ ├── analyzers/ # 代碼分析引擎
│ │ ├── codeAnalyzer.js # 多語言AST分析
│ │ ├── gitAnalyzer.js # Git歷史和協作分析
│ │ └── patternDetector.js # 設計模式識別
│ ├── database/ # Kuzu數據庫集成
│ │ ├── kuzuClient.js # 增強的數據庫客戶端
│ │ ├── cypherQueryBuilder.js # 流暢的查詢構建器
│ │ ├── queryOptimizer.js # 性能優化
│ │ └── transactionManager.js # ACID事務
│ ├── validation/ # 安全和驗證
│ │ ├── MCPInputValidator.js # 基於模式的驗證
│ │ ├── ValidationMiddleware.js # 一致的驗證
│ │ └── AdvancedValidators.js # 安全威脅檢測
│ ├── optimization/ # 性能系統
│ │ ├── PerformanceMonitor.js # 即時監控
│ │ ├── MemoryOptimizer.js # 內存管理
│ │ └── CacheManager.js # 多層緩存
│ └── utils/ # 共享工具
│ ├── backupManager.js # 備份和恢復
│ ├── config.js # 配置管理
│ └── logger.js # 結構化日誌記錄
├── tests/ # 全面的測試套件
│ ├── unit/ # 單元測試
│ ├── integration/ # 集成測試
│ ├── performance/ # 性能測試
│ └── security/ # 安全測試
├── docs/ # 完整的文檔
│ ├── API_REFERENCE.md # API文檔
│ ├── ARCHITECTURE.md # 系統架構
│ ├── USER_GUIDE.md # 用戶手冊
│ └── DEVELOPER_GUIDE.md # 開發指南
└── config/ # 配置文件
└── default.json # 默認設置
測試
npm test
npm run test:unit
npm run test:integration
npm run test:performance
npm run test:security
npm run test:coverage
npm run test:watch
數據庫模式
節點類型
- 代碼實體:類、函數、變量,附帶複雜度指標
- 模式:設計模式(單例模式、工廠模式、觀察者模式等)
- 規則:業務規則和編碼標準
- 標準:命名約定和格式化規則
- 技術債務:已識別的債務,包含嚴重程度和修復信息
- 硬件組件:Arduino引腳、傳感器、執行器
- 時序約束:即時時序要求
關係類型
- 實現:代碼實現設計模式
- 違反:代碼違反規則或標準
- 依賴:依賴關係
- 耦合:代碼耦合分析
- 使用硬件:硬件組件使用情況
- 處理:中斷處理關係
開發
環境設置
npm install
cp .env.example .env
nano .env
開發命令
npm run dev
npm run lint
npm run lint:fix
npm run typecheck
npm run build
環境變量
# 數據庫配置
KUZU_DB_PATH=.kg-context/knowledge-graph.kuzu
KUZU_MAX_RETRIES=3
KUZU_QUERY_TIMEOUT=30000
# 日誌配置
LOG_LEVEL=info
LOG_ENABLED=true
LOG_MAX_FILES=10
# 性能配置
ENABLE_CACHING=true
CACHE_TIMEOUT=300000
MAX_CACHE_SIZE=100
# 安全配置
ENABLE_RATE_LIMIT=true
MAX_REQUESTS_PER_MINUTE=100
CLI命令
node index.js start [--config path] [--debug] [--verify]
node index.js health [--config path]
node index.js setup [--force]
node index.js init <codebase> [--force] [--depth N] [--parallel N]
node index.js backup <output> [--description text] [--validate]
node index.js restore <backup> [--force] [--incremental]
node index.js clean [--force] [--backup] [--temp-only]
故障排除
常見問題
數據庫連接問題:
ls -la .kg-context/
chmod 755 .kg-context/
LOG_LEVEL=debug node index.js start
內存問題:
node index.js health
node index.js clean --temp-only
npm run optimize
性能問題:
node index.js clean --temp-only
調試模式
export LOG_LEVEL=debug
export NODE_ENV=development
node index.js start --debug
性能
- 響應時間:簡單查詢<100ms,複雜分析<5s
- 內存使用:基線約50MB,隨代碼庫大小擴展
- 緩存命中率:重複操作>90%
- 併發請求:支持100+同時工具調用
- 數據庫大小:每分析10K行代碼約1MB
貢獻
- 分叉倉庫
- 創建功能分支:
git checkout -b feature/amazing-feature
- 進行更改,並添加適當的Vibe編碼註釋
- 添加全面的測試
- 提交:
git commit -m 'Add amazing feature'
- 推送:
git push origin feature/amazing-feature
- 打開拉取請求
代碼標準
- 遵循Vibe編碼方法,使用結構化註釋
- 包含AGENT、CONTEXT、REASON、CHANGE、PREVENTION元數據
- 保持測試覆蓋率>90%
- 使用TypeScript以確保類型安全
- 遵循SOLID原則
📄 許可證
本項目採用MIT許可證,詳情請參閱LICENSE文件。
🙏 致謝
- 模型上下文協議:人工智能工具集成的基礎
- Kuzu數據庫:高性能嵌入式圖數據庫
- Babel解析器:JavaScript/TypeScript AST分析
- Jest:全面的測試框架
- Joi:模式驗證和清理
🎯 準備好投入生產 • 🚀 企業級 • 🧠 人工智能驅動 • 🔧 開發者友好
本項目為人工智能輔助開發社區精心打造 ❤️
⚠️ 重要提示
此係統處於早期開發階段,尚未在生產環境中進行全面測試。請自行承擔使用風險,並始終對代碼和數據進行適當備份。