🚀 Lyra Intel
Lyra Intel 是一個完整的智能基礎設施引擎,用於大規模代碼庫分析。它能借助人工智能驅動的洞察、安全掃描和語義搜索,以快 10 - 100 倍的速度分析代碼庫。
🚀 快速開始
只需幾條命令,即可快速上手,無需複雜設置。
git clone https://github.com/nirholas/lyra-intel.git
cd lyra-intel
pip install -e .
python cli.py scan /path/to/any/code
python cli.py analyze /path/to/code --output ./results.json
cat results.json | jq .
python launch_dashboard.py
預期結果
運行 scan 命令後,你將看到:
✅ Analyzing repository...
📊 Files analyzed: 156
📈 Total functions: 1,247
⚠️ Issues found: 43
🔐 Security findings: 5
運行 analyze 命令將生成詳細的 JSON 文件,包含:
- 指標:行數、複雜度、測試覆蓋率
- 安全:漏洞、密鑰檢測
- 依賴:導入關係、循環依賴
- 模式:代碼異味、反模式
- Git 歷史:提交統計、貢獻者
查看更多快速示例 →
✨ 主要特性
Lyra Intel 包含 70 多個按功能組織的專業組件:
查看所有特性(70 + 組件)
核心分析 - 理解你的代碼
- 📁 文件爬蟲:並行目錄遍歷,支持流式處理,內存高效。可處理數百萬個文件而無內存問題。
- 📜 Git 收集器:完整的提交歷史、責備分析、貢獻者統計。瞭解誰在何時更改了什麼。
- 🔍 AST 分析器:多語言語法樹解析(Python、JS/TS、Go、Rust、Java、C++、C#、Ruby、PHP)。獲取準確的代碼結構。
- 🔗 依賴映射器:構建完整的依賴圖,支持循環檢測。瞭解你的架構。
- ⚠️ 模式檢測器:查找代碼異味、反模式、安全問題。在問題變得嚴重之前檢測到它們。
可擴展性 - 從筆記本電腦到企業級應用
- 🖥️ 本地模式:單機器分析,適用於開發。無需設置,可立即在你的機器上運行。
- 🌐 分佈式模式:多工作進程處理,適用於更大的代碼庫。高效擴展分析到 100K + 文件。
- ☁️ 雲大規模模式:自動擴展的雲基礎設施(AWS、GCP、Azure)。分析包含數百萬個文件的單體代碼庫。
存儲選項 - 任何規模都具備靈活性
- SQLite:本地開發和小型項目。內置,無依賴。
- PostgreSQL:生產部署。可靠、成熟、可擴展。
- BigQuery:大規模分析。可即時查詢 100 萬 + 分析結果。
- 緩存層:內存、文件、Redis 後端,支持 TTL/LRU 淘汰。加速重複分析。
🔐 安全 - 在漏洞造成破壞之前發現它們
- 安全掃描器:檢測 OWASP 十大漏洞、硬編碼密鑰、SQL 注入。掃描 50 + 種漏洞模式。
- 漏洞數據庫:跟蹤已知的 CVE 和公告。及時瞭解新興威脅。
- 自定義規則:定義自定義安全模式。強制執行你的組織的安全標準。
🤖 AI 集成 - 獲取更智能的洞察
- AI 分析器:代碼解釋、錯誤檢測、重構建議。立即理解複雜代碼。
- 多個提供商:OpenAI(GPT - 4/3.5)、Anthropic(Claude)或本地(Ollama/llama.cpp)。選擇適合你工作流程的提供商。
- 成本效益高:使用本地模型進行免費分析,或使用雲模型以獲得最高準確性。
📊 可視化與報告 - 傳達結果
- 圖生成器:導出為 D3.js、Mermaid、Graphviz DOT。可視化依賴關係和架構。
- 報告生成器:執行、技術、安全、架構報告。為不同受眾提供不同報告。
- Web 儀表盤:交互式 D3.js/Cytoscape 可視化。直觀地探索你的代碼庫。
🌐 API 與企業特性
- REST API 服務器:15 + 個端點,支持集成。基於 Lyra Intel 進行構建。
- 身份驗證:支持 API 密鑰、JWT、OAuth 2.0(SSO)、LDAP。安全的訪問控制。
- 基於角色的訪問控制(RBAC):管理團隊成員的權限。
- 速率限制:保護你的基礎設施。安全擴展。
🔬 法醫分析 - 發現隱藏問題
- 法醫分析器:代碼與文檔的雙向映射。自動查找文檔差距。
- 死代碼檢測器:查找未使用的函數、類、導入。清理你的代碼庫。
- 複雜度分析器:循環複雜度、認知複雜度、Halstead 指標。識別有問題的代碼。
📋 更多功能
- 代碼生成:基於 AI 的函數/類/API 生成,支持自定義模板
- 差異與影響分析:瞭解更改內容及其影響
- 遷移規劃:提供逐步指導,規劃框架/版本升級
- 代碼性能分析:檢測 N + 1 查詢、阻塞 I/O、低效算法
- 模式分析:從 ORM 模型進行數據庫模式分析
- 文檔生成器:自動生成 API 文檔和更新日誌
- 工作流引擎:定義和執行多步驟分析管道
🔍 自動發現管道(新功能)
- GitHub 掃描器:自動從 GitHub 發現新的 MCP 加密工具
- AI 工具分析器:使用 AI/模式匹配提取工具定義
- 安全掃描器:掃描發現的工具是否存在漏洞
- 註冊表提交器:將批准的工具提交到 Lyra 註冊表
- 每日自動化:使用 GitHub Actions 工作流進行持續發現
查看發現文檔 →
📦 安裝指南
克隆倉庫
git clone https://github.com/nirholas/lyra-intel.git
cd lyra-intel
安裝(需要 Python 3.9+)
pip install -e .
💻 使用示例
基礎用法
python cli.py scan /path/to/any/code
python cli.py analyze /path/to/code --output ./results.json
高級用法
python launch_dashboard.py
📚 詳細文檔
Lyra Intel 包含全面的文檔,涵蓋了平臺的各個方面:
核心文檔
-
📖 FEATURES.md - 詳細的特性文檔,包含以下內容的代碼示例:
- 語義搜索(基於機器學習的代碼搜索)
- SSO 集成(OAuth 2.0、SAML 2.0、LDAP)
- 語言解析器(C++、C#、Ruby、PHP)
- 插件系統
- IDE 擴展(VS Code、JetBrains)
- CI/CD 集成(GitLab、Bitbucket、GitHub Actions)
- 導出格式(PDF、SARIF、Excel、CSV)
- WebSocket 流式傳輸
- 交互式 CLI
- Web 儀表盤
- 監控與指標(Prometheus、Grafana)
-
💻 EXAMPLES.md - 實用的代碼示例,包括:
- 快速開始(60 秒分析)
- 核心分析工作流
- 語義搜索使用方法
- SSO 設置與配置
- 特定語言解析
- 自定義插件開發
- IDE 擴展安裝
- CI/CD 管道集成
- 即時 WebSocket 流式傳輸
- 監控設置
- 完整的端到端工作流
-
🏗️ ARCHITECTURE.md - 技術架構文檔:
- 系統概述與設計
- 核心組件架構
- 數據流圖
- 模塊組織
- 擴展點
- 部署架構(單服務器、Kubernetes、AWS)
- 性能與可擴展性
- 安全架構
- 技術棧
-
🔌 API.md - 完整的 REST API 參考
-
🚀 DEPLOYMENT.md - 部署指南(Docker、Kubernetes、AWS)
-
📜 openapi.yaml - OpenAPI 3.0 規範
實際工作流
- 💼 USE_CASES.md - 實用的工作流和最佳實踐:
- 保護遺留代碼庫
- 提交前代碼質量檢查
- CI/CD 安全管道
- 代碼審查輔助
- 單體代碼庫遷移規劃
- 技術債務跟蹤
- 構建團隊知識庫
- 集成模式
- 性能優化技巧
入門指南
- ⚡ QUICKSTART.md - 5 分鐘快速上手
- 🔧 INSTALL.md - 安裝說明
- 📚 TUTORIAL.md - 常見用例的逐步教程:
- 首次分析
- 安全審計
- 語義搜索設置
- CI/CD 集成
- 自定義插件開發
- 生產部署
- 即時儀表盤
- ❓ FAQ.md - 常見問題解答
- 🤝 CONTRIBUTING.md - 貢獻指南
🔧 技術細節
架構
lyra-intel/
├── src/
│ ├── core/ # 主引擎編排
│ ├── collectors/ # 數據收集(文件、git)
│ ├── analyzers/ # 代碼分析(AST、依賴、模式)
│ ├── storage/ # 數據庫和持久化
│ ├── agents/ # 多智能體系統
│ ├── search/ # 代碼和語義搜索
│ ├── query/ # 自然語言查詢
│ ├── visualizers/ # 圖生成
│ ├── reports/ # 報告生成
│ ├── web/ # Web 儀表盤
│ ├── api/ # REST API 服務器
│ ├── auth/ # 身份驗證和授權
│ ├── plugins/ # 插件系統
│ ├── ai/ # AI 集成
│ ├── metrics/ # 指標收集
│ ├── events/ # 事件系統
│ ├── notifications/ # 通知和警報
│ ├── forensics/ # 法醫分析
│ ├── cache/ # 緩存層
│ ├── pipeline/ # 流式管道
│ ├── testing/ # 測試基礎設施
│ ├── knowledge/ # 知識圖譜系統
│ ├── diff/ # 差異和影響分析
│ ├── generation/ # 代碼生成
│ ├── security/ # 安全掃描
│ ├── migration/ # 遷移規劃
│ ├── profiler/ # 性能分析
│ ├── schema/ # 模式分析
│ ├── docgen/ # 文檔生成
│ ├── integrations/ # 外部集成
│ └── workflow/ # 工作流引擎
├── config/ # 配置文件
├── scripts/ # 實用腳本
├── Dockerfile # 容器構建
├── docker-compose.yml # 多服務部署
└── cli.py # 命令行界面
處理模式
本地模式
適用於開發和小型倉庫:
from src import LyraIntelEngine, EngineConfig, ProcessingMode
config = EngineConfig(mode=ProcessingMode.LOCAL, max_workers=8)
engine = LyraIntelEngine(config)
result = await engine.analyze_repository("/path/to/repo")
分佈式模式
適用於具有多個工作進程的較大代碼庫:
config = EngineConfig(
mode=ProcessingMode.DISTRIBUTED,
max_workers=50,
)
雲大規模模式
適用於企業級分析:
config = EngineConfig(
mode=ProcessingMode.CLOUD_MASSIVE,
cloud_provider="aws",
cloud_region="us-east-1",
max_cloud_workers=1000,
)
分析結果
引擎生成全面的分析結果,包括:
- 文件指標:總文件數、大小、按擴展名的行數
- 代碼結構:函數、類、方法及其複雜度得分
- 依賴:導入/導出關係、循環依賴
- Git 歷史:提交、作者、更改頻率
- 模式:代碼異味、反模式、安全問題
結果存儲在 SQLite(或你配置的後端)中,並可以 JSON 格式導出。
雲支持
Lyra Intel 旨在高效利用雲資源:
| 提供商 |
實例類型 |
支持現貨實例 |
優化效果 |
| AWS |
EC2、Lambda、ECS |
✅ 支持 |
~70% 節省 |
| GCP |
Compute Engine、Cloud Run |
✅ 支持 |
~70% 節省 |
| Azure |
VMs、Functions |
✅ 支持 |
~70% 節省 |
包含自動擴展和成本優化功能。
💼 常見用例
實際團隊使用 Lyra Intel 進行以下工作:
🔒 安全團隊
“我需要掃描我們 500K 行代碼的代碼庫以查找漏洞”
- 保護遺留代碼庫 - 30 分鐘內完成全面審計
- 自動 CI/CD 安全檢查
- 提交前鉤子,阻止不安全的代碼
- 定期安全掃描
👨💻 開發團隊
“新開發人員加入 - 如何讓他們在 200K 行代碼的代碼庫中快速上手?”
- 構建團隊知識庫 - 對代碼庫進行語義搜索
- 查找相似的代碼模式
- 通過可視化了解架構
- 跟蹤技術債務
🏗️ 平臺團隊
“我們需要從 Node 14 升級到 Node 18 - 是否安全?”
- 規劃單體代碼庫遷移 - 逐步遷移計劃
- 分析所有包的影響
- 識別重大更改
- 估算每個包的工作量
📊 工程負責人
“我們的代碼質量是在提高還是在下降?”
- 跟蹤技術債務 - 每月趨勢跟蹤
- 可視化指標隨時間的變化
- 優先修復問題
- 向管理層展示基於數據的報告
🔍 代碼審查
“每次拉取請求的審查時間太長 - 每個 PR 需要 30 分鐘”
- AI 驅動的代碼審查 - 30 秒內提供自動洞察
- 安全分析
- 複雜度警告
- AI 改進建議
查看 7 個完整的工作流及代碼示例 →
🤖 MCP 集成(Claude 與大語言模型)
可以直接從 Claude、Claude Code 或任何支持 MCP 的大語言模型中使用 Lyra Intel。
快速設置
npx lyra-intel-mcp
{
"mcpServers": {
"lyra-intel": {
"command": "npx",
"args": ["-y", "lyra-intel-mcp"]
}
}
}
可用的 MCP 工具
| 工具 |
描述 |
analyze-codebase |
綜合代碼分析,包括 AST、依賴、指標 |
search-code |
基於機器學習的語義代碼搜索 |
get-complexity |
循環複雜度、認知複雜度和 Halstead 複雜度 |
get-security-issues |
安全漏洞、密鑰、合規性檢查 |
discovery-scan-github |
在 GitHub 上查找新的 MCP 加密工具 |
discovery-analyze-repo |
從倉庫中提取 MCP 工具定義 |
discovery-run-pipeline |
完整的發現 + 分析 + 提交流程 |
示例提示
"Analyze my project at ~/code/myapp for security issues"
"Search for authentication patterns in the codebase"
"Scan GitHub for new MCP crypto tools from the last 7 days"
"Run the discovery pipeline and submit approved tools"
查看完整的 MCP 文檔 →
🏛️ 架構
架構概述
Lyra Intel 的架構設計旨在提供高效、可擴展和安全的代碼分析解決方案。它包含多個核心組件,每個組件負責特定的功能,這些組件協同工作以實現全面的代碼分析。
組件架構
- 核心引擎:負責整體的編排和協調,確保各個組件之間的流暢交互。
- 數據收集器:從文件系統和 Git 倉庫中收集代碼數據。
- 分析器:執行代碼分析,包括 AST 解析、依賴映射和模式檢測。
- 存儲模塊:管理數據的持久化,支持多種存儲選項。
- AI 集成:與各種 AI 提供商集成,提供智能分析和洞察。
- 可視化和報告:生成直觀的圖表和詳細的報告,方便用戶理解分析結果。
數據流程
數據從收集器進入系統,經過分析器處理後存儲在存儲模塊中。用戶可以通過 Web 儀表盤或 API 訪問分析結果,可視化和報告工具將結果以易於理解的方式呈現給用戶。
部署架構
支持多種部署方式,包括單服務器部署、Kubernetes 集群和雲服務(如 AWS),以滿足不同規模和需求的用戶。
性能與可擴展性
通過分佈式處理和自動擴展功能,能夠高效處理大規模代碼庫,確保在不同負載下的性能穩定。
安全架構
採用多層次的安全措施,包括身份驗證、授權和漏洞檢測,保障系統和數據的安全。
技術棧
使用了多種先進的技術和框架,如 FastAPI、React、Prometheus 等,確保系統的高性能和可維護性。
🌐 即時 HTTP 部署
Lyra Intel 通過 MCP 可流式 HTTP 傳輸協議進行部署,可通過 HTTP 訪問,無需本地安裝。
端點
https://modelcontextprotocol.name/mcp/lyra-intel
從任何 MCP 客戶端連接
將以下配置添加到你的 MCP 客戶端配置文件(Claude Desktop、Cursor、SperaxOS 等)中:
{
"mcpServers": {
"lyra-intel": {
"type": "http",
"url": "https://modelcontextprotocol.name/mcp/lyra-intel"
}
}
}
可用工具(6 個)
| 工具 |
描述 |
analyze_repo |
分析 GitHub 倉庫 |
get_repo_tree |
獲取倉庫文件樹 |
search_code |
搜索代碼 |
get_file_content |
獲取文件內容 |
get_repo_languages |
語言分析 |
get_recent_commits |
獲取最近的提交 |
示例請求
分析 GitHub 倉庫
curl -X POST https://modelcontextprotocol.name/mcp/lyra-intel \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"analyze_repo","arguments":{"owner":"nirholas","repo":"universal-crypto-mcp"}}}'
獲取倉庫文件樹
curl -X POST https://modelcontextprotocol.name/mcp/lyra-intel \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_repo_tree","arguments":{"owner":"nirholas","repo":"agenti"}}}'
搜索代碼
curl -X POST https://modelcontextprotocol.name/mcp/lyra-intel \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_code","arguments":{"query":"MCP server","language":"typescript"}}}'
列出所有工具
curl -X POST https://modelcontextprotocol.name/mcp/lyra-intel \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
也可在以下平臺使用
由 modelcontextprotocol.name 提供支持 — 開放的 MCP HTTP 網關
📈 指標與監控
可在以下地址訪問指標:
- Prometheus:
http://localhost:9090
- Grafana:
http://localhost:3000
- API 健康檢查:
http://localhost:8080/api/v1/health
關鍵指標:
lyra_intel_requests_total - 總 API 請求數
lyra_intel_analysis_duration_seconds - 分析性能
lyra_intel_ai_tokens_total - AI 使用跟蹤
lyra_intel_cache_hits_total - 緩存效率
🤝 貢獻
我們歡迎貢獻!請參閱 CONTRIBUTING.md 獲取貢獻指南。
🐛 故障排除
常見問題及解決方案:
數據庫連接失敗
docker-compose restart postgres
docker-compose logs postgres
內存使用率高
export WORKERS=4
docker-compose up -d --scale api=1 --memory 4g
API 速率限制
export RATE_LIMIT_PER_MINUTE=1000
查看完整的故障排除指南 →
📊 項目狀態
- ✅ 核心分析引擎
- ✅ 多語言支持(10 + 種語言)
- ✅ AI 集成(OpenAI、Anthropic、Ollama)
- ✅ 安全掃描(OWASP、密鑰、依賴)
- ✅ 導出格式(JSON、HTML、PDF、SARIF、CSV、Excel)
- ✅ IDE 插件(VS Code、JetBrains)
- ✅ 平臺集成(GitHub、GitLab、Bitbucket)
- ✅ 雲部署(AWS、Kubernetes、Docker)
- ✅ 即時流式傳輸(WebSocket)
- ✅ Web 儀表盤(React)
- ✅ 監控(Prometheus、Grafana)
- ✅ 企業特性(SSO、RBAC、審計日誌)
🌟 展示你的支持
如果你覺得 Lyra Intel 有幫助,不妨考慮:
- ⭐ 給這個倉庫加星 - 幫助更多人發現這個項目
- 🐛 報告問題 - 通過報告漏洞幫助我們改進
- 💡 分享想法 - 提出功能和改進建議
- 🤝 貢獻代碼 - 請參閱 CONTRIBUTING.md 獲取貢獻指南
- 📢 傳播消息 - 與你的團隊和社區分享
每一個星星、貢獻和推薦都有助於壯大社區!
🙏 致謝
使用了以下出色的開源工具構建:
📧 聯繫與支持
- 問題與漏洞報告:GitHub 問題
- 文檔:完整文檔
- 貢獻:請參閱 CONTRIBUTING.md
📄 許可證
本項目採用 MIT 許可證 - 詳情請參閱 LICENSE 文件。
由 nich 用心打造 | 在 X.com 關注我