🧠 RuvScan-用于智能GitHub发现的MCP服务器
    ](docker-compose.yml)
赋予Claude发现具有亚线性智能的GitHub工具的能力。
RuvScan是一个 模型上下文协议(MCP)服务器 它连接到Claude Code CLI、Codex和Claude Desktop。它将GitHub变成你的人工智能的个人创新侦察员——寻找你从未想过要搜索的工具、框架和解决方案。
\**哦,这是一项正在进行的工作,所以建议做出改变以使其更好。*
它与RUVNET仓库打包在一起,但您可以添加任何其他仓库,如Andrej Kaparthy的仓库或您正在开发的其他仓库。
______________________________________________________________________
🎯 这是什么?
GitHub搜索,真正了解你想要构建什么。
问题
你正在构建新的东西(应用程序或功能)。你知道,可能有一个库、框架或算法可以让你的项目增加10倍。但是:
- 🔍 搜索已中断 -你必须知道确切的关键字
- 📚 选项太多 -数以百万计的回购,最无关紧要
- 🎯 域名错误 -最好的解决方案可能是在一个完全不同的领域
- ⏰ 需要永远 -浏览文档和README的时间
解决方案
RuvScan像创意开发人员一样思考,不是搜索引擎:
You: "I'm building an AI app. Context recall is too slow."
RuvScan: "Here's a sublinear-time solver that could replace your
vector database queries. It's from scientific computing,
but the O(log n) algorithm applies perfectly to semantic
search. Here's how to integrate it..."它发现:
- ✨ 开箱即用的解决方案 -适用于您的其他域的工具
- ⚡ 性能获胜 -你不知道存在的算法
- 🔧 轻松集成 -告诉你如何使用它发现的东西
- 🧠 创意转移 -“这解决了X,但你可以用它来解决Y”
你如何表达你的请求有助于该工具为你提供直接的帮助或边缘的解决方案。这里还有一些例子,说明你如何用短语来展示不同的解决方案。(更多示例请见下文)
请求示例
实际的回应将是用通俗易懂的英语,同时暗示最先进的技术。
- *“我只想要一个下载收件箱并将每封电子邮件保存为JSON的插入式脚本——我应该尝试什么?*” → byroot/mail或DusanKasan/parsemail用于非常简单的IMAP/MIME
结构化JSON。
- *“给我一个已经监视Gmail并将摘要写入Notion页面的启动器仓库。”* → openai/gpt电子邮件摘要样式模板或lucasmic/imap到webhook进行插件和-
播放工作流程。
- *“向我展示我可以放入Python摘要器的开源电子邮件解析器——IMAP获取、MIME解码,没什么特别的。”* → DusanKasan/parsemail或收件箱/邮件解析器,用于交钥匙
IMAP/MIME处理。
- “*我正在总结廉价Chromebook上的电子邮件。哪些仓库包含微小的嵌入或近似搜索,这样我就可以保持在1以下 GB RAM?”* → ruvnet/sublinear时间求解器或facebook/faiss-lite,在低RAM硬件上引入亚线性相似性。
- “*需要具有清晰审计跟踪的政策/合规主题检测器。请为我指出为电子邮件流构建的基于规则或可解释的NLP项目。”* → ruvnet/FACT plus
CaselawAccessProject/用于确定性缓存和透明分类器的法律主题模型。
- **“我的管道只能看到一次消息。找到与电子邮件匹配良好的流式或增量NLP算法(储层采样、在线变压器、CRDT日志)*
总结者。”* → ruvnet/MidStream或openmessaging/stream查询,用于单通道、油藏式处理。
- “*通讯90 % 我的收件箱。推荐DOM优先或布局感知提取工具包,我可以在摘要之前将其链接起来,这样表和部分就可以存活下来。”* → 尾灯/水银灯-
解析器或mozilla/可读性,在总结之前对HTML进行剥离和结构化。
- *“法律要求可重复的摘要。Surface repos存储LLM调用(FACT式哈希、确定性代理),因此同一线程总是产生相同的文本。”* → 鲁夫内特/
FACT或爆炸/spaCy射线模式,用于哈希嵌入/结果以进行审计跟踪。
- **“如果你能解释它们如何加速大规模电子邮件,我愿意重新利用奇特的工具——亚线性求解器、稀疏矩阵DOM遍历器、基于流的流引擎*
总结。我应该调查什么?”* → ruvnet/subliner时间求解器(DOM walker模式)、apache/arrow(柱状电子邮件批处理)和ruvnet/flow nexus(批汇总的成本传播)作为创造性转移。
______________________________________________________________________
⚡ 30秒后安装
RuvScan与 克劳德代码CLI, Codex CLI,以及 克劳德桌面.选择您的平台:
注意:需要发生两件事才能使此功能正常工作。
- BACKEND(docker)必须在单独的终端窗口中运行,并且
- MCP需要添加到CLI或claude中
- 2安装do/MCP后,检查其是否正确安装(您将看到x或更差,没有显示工具)。如果这两种情况都是真的,那就问问克劳德——嘿,修好我的ruvscan mcp服务器。
适用于Claude Code CLI
# 1. Start RuvScan backend
git clone https://github.com/ruvnet/ruvscan.git && cd ruvscan
docker compose up -d
# 2. Add MCP server to Claude
claude mcp add ruvscan --scope user --env GITHUB_TOKEN=ghp_your_token -- uvx ruvscan-mcp
# 3. Start using it!
claude用于Codex CLI(快速安装)
# 1. Start RuvScan backend
git clone https://github.com/ruvnet/ruvscan.git && cd ruvscan
docker compose up -d
# 2. Install globally with pipx
pipx install -e .
# 3. Configure in ~/.codex/config.toml
# See "For Codex CLI" section below for configuration details
# 4. Start using it!
codexℹ️ 需要GitHub个人访问令牌。 RuvScan大量调用GitHub API;没有令牌,您将立即达到匿名速率限制,扫描将失败。创建细粒度或经典令牌repo(阅读)和read:org范围,然后将其暴露为GITHUB_TOKEN无论您在哪里运行MCP客户端和后端。
适用于克劳德桌面
1.启动后端:
git clone https://github.com/ruvnet/ruvscan.git && cd ruvscan
docker compose up -d2.添加到配置 (~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"ruvscan": {
"command": "uvx",
"args": ["ruvscan-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_github_token_here"
}
}
}
}3.重新启动克劳德桌面 (Cmd+Q并重新打开)
用于Codex CLI
Codex CLI使用相同的MCP协议。启动Docker后端后:
步骤1:使用pipx全局安装RuvScan
cd ruvscan
pipx install -e .步骤2:配置Codex
编辑 ~/.codex/config.toml 并添加:
[mcp_servers.ruvscan]
command = "ruvscan-mcp"
[mcp_servers.ruvscan.env]
GITHUB_TOKEN = "ghp_your_github_token_here"
RUVSCAN_API_URL = "http://localhost:8000"步骤3:测试它是否有效
# From any directory
cd /tmp
codex mcp list | grep ruvscan
# Should show: ruvscan ruvscan-mcp - GITHUB_TOKEN=*****, RUVSCAN_API_URL=***** - enabled
# Start a conversation
codex
> Can you scan the anthropics GitHub organization?✅ 全球安装:RuvScan现在可以在所有项目和目录中使用!
______________________________________________________________________
替代方案:使用codex mcp add(如果可用)
如果您的Codex版本包括 mcp add 命令:
codex mcp add --env GITHUB_TOKEN=ghp_your_token --env RUVSCAN_API_URL=http://localhost:8000 -- ruvscan-mcp ruvscan🧪 当进行实验时mcp dev,跑mcp dev --transport sse src/ruvscan_mcp/mcp_stdio_server.py. 如果五分钟内没有客户端完成握手(例如,当传输不匹配时),服务器现在会执行健康检查并关闭,并给出明确的解释。
______________________________________________________________________
Codex CLI故障排除
检查MCP服务器状态:
codex mcp list验证命令是否存在:
which ruvscan-mcp
# Should output: /home/your-user/.local/bin/ruvscan-mcp直接测试命令:
ruvscan-mcp --help查看Codex日志:
tail -f ~/.codex/log/codex-tui.log📚 详细的Codex设置指南: docs/CODEX_CLI_SETUP.md
GitHub代币清单
- 创建一个个人访问令牌(经典或细粒度),具有对您关心的存储库的读取权限,以及
read:orgGitHub的演练就在这里:https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a个人进入经典 - 将其导出到您的shell中(
export GITHUB_TOKEN=ghp_...)跑步前docker compose,uvicorn,或codex/claude mcp add因此后端可以验证API调用。 - 对于基于Docker的运行,复制
.env.example到.env并将令牌放在那里,以便容器继承它。 - 可选择将相同的值添加到
.env.local;scripts/seed_database.py播种时会自动拾取。 - 成本: GitHub不收取发布或使用PAT的费用。您的扫描仅在创建令牌的帐户上消耗API费率配额;标准速率限制每小时刷新一次。如果你在一个企业计划中,使用量只会计入组织的正常API津贴。
- 将令牌视为密码。将其存储在您的秘密管理器中并从中撤销https://github.com/settings/tokens如果它泄漏了。
什么 docker compose up 跑
mcp-server(Python/FastAPI)-在端口8000上承载MCP HTTP API,读取GITHUB_TOKEN,将数据写入./data/ruvscan.db,并暴露/scan,/query,/compare,以及/analyze端点。scanner(Go)--后台工作者(主机上的端口8081↔ 8080在容器中),调用GitHub REST API,获取自述/主题元数据,并将POST结果返回到位于的MCP服务器/ingest.rust-engine(Rust)——Johnson–Lindenstrauss O(log n)相似性的可选gRPC服务;默认情况下禁用,仅在运行时启动docker compose --profile rust-debug up.- 共享卷--
./data和./logs被绑定挂载,这样你的SQLite数据库和日志在容器重启时仍然存在。
📖 完整安装指南: docs/MCP_INSTALL.md
______________________________________________________________________
🌱 样本数据和可选播种
开箱即用,RuvScan已经包含了 data/ruvscan.db 文件包含来自的约100个公共存储库 鲁夫内特 组织。这意味着新的克隆可以在MCP服务器启动后立即回答诸如“我们有什么实时流媒体?”之类的问题,而不需要额外的步骤。
我什么时候运行种子脚本?
- 刷新包含的目录 (获取新的ruvnet存储库或README更改)。
- 添加另一个用户/组织 因此,您的本地MCP知道您自己的代码。
- 重建数据库 删除后
data/ruvscan.db.
# Refresh the bundled ruvnet dataset
python3 scripts/seed_database.py --org ruvnet
# Add a different org or user (ex. OpenAI)
python3 scripts/seed_database.py --org openai --limit 30
# Skip README downloads for a quick metadata-only pass
python3 scripts/seed_database.py --no-readmes更喜欢点击而不是脚本?告诉您的MCP客户:
- 克劳德/法典提示: “在组织人类学上使用scan_github,限制为25。”
- CLI:
./scripts/ruvscan scan org anthropics --limit 25
任一路由都将新的存储库与预加载的ruvnet条目一起存储,以便将来的每个查询都可以引用它们。
检查里面有什么:
sqlite3 data/ruvscan.db "SELECT COUNT(*), MIN(org), MAX(org) FROM repos;"RuvScan在本地存储什么?
- 一切都生活在
data/ruvscan.dbSQLite文件。每一行都记录了仓库的所有者、名称、描述、主题、README文本、星数、主要语言和last_scan时间戳,这样我们就知道它是什么时候提取的。 - MCP工具只能读取此文件;新repo出现的唯一方式是当你播种或运行一个
scan_github命令(通过CLI或Claude)。 - 扫描完成后不会发生后台互联网爬行——您看到的正是存储在SQLite中的内容。
如何查看缓存了哪些存储库?
# Show every org/user currently in the catalog
sqlite3 data/ruvscan.db "
SELECT org, COUNT(*) AS repos
FROM repos
GROUP BY org
ORDER BY repos DESC;"
# Peek at the latest entries to confirm what's fresh
sqlite3 data/ruvscan.db "
SELECT full_name, stars, datetime(last_scan) AS last_seen
FROM repos
ORDER BY last_scan DESC
LIMIT 10;"喜欢更友好的景色吗?跑 ./scripts/ruvscan cards --limit 20 列出顶部缓存的存储库及其摘要。
如何擦除目录并重新开始?
- 停止与RuvScan交谈(
docker compose down或Ctrl+C开发服务器)。 - (可选)备份旧数据库:
cp data/ruvscan.db data/ruvscan.db.bak. - 删除文件:
rm -f data/ruvscan.db. - 用你想要的范围再次播种:
python3 scripts/seed_database.py --org ruvnet --limit 100
# or
./scripts/ruvscan scan org my-company --limit 50重新启动MCP服务器,它只会知道您刚刚播种或扫描的存储库。
⚠️ 提醒: 数据库保存 last_scan 时间戳。更新同一个组织只需刷新行,而不是复制行。如果您依赖捆绑的示例数据,请考虑每月重新运行刷新,以便目录保持最新。
📚 完整指南: 数据库种子文件
______________________________________________________________________
🤔 RuvScan如何推荐一些工具(并跳过其他工具)
RuvScan使用三个简单的信号根据您的意图对每个缓存的存储库进行评分:
- 令牌重叠 –仓库描述/README中是否提到了您键入的相同概念?
- 效率提升 –“optimize”、“streaming”、“subliner”等词的额外学分。
- 现实核查 -星数和最近的扫描推动成熟、维护的项目向上发展。
我们的目标是在不让你伸展太远的情况下,提出明显有帮助的建议。
真实示例:“扫描电子邮件以获取政策更新”
- 您的问题: “构建一个工具,扫描收到的电子邮件,了解重要的政策更新和合规要求。”
- 浮出水面的内容:
freeCodeCamp/mail-for-good,DusanKasan/parsemail,ruvnet/FACT等等。那些repos谈论 *电子邮件解析*, *竞选管道*,以及 *确定性摘要*--与请求几乎完全重叠的关键字。 - 您可能期望的是:
ruvnet/sublinear-time-solver(其中包括一个可以咀嚼大型HTML档案的DOM提取器)。 - 为什么被跳过: 求解器的README突出显示 *约翰逊-林登斯特劳斯投影*, *稀疏矩阵求解器*,以及 *Flow Nexus流媒体*。这些令牌都不匹配“电子邮件”、“政策”或“合规性”,因此其重叠分数保持在默认值以下
min_score=0.6.RuvScan将其视为“聪明的基础设施,但与你的言语无关”,因此它推迟到以邮件为中心的仓库。
如何探索开箱即用的选项
- 缓和意图: 明确提及该桥(“……或者我应该将子线性时间求解器的DOM工具重新用于合规性电子邮件吗?”)。现在,标记器看到了“子线性”和“DOM”,从而增强了该仓库。
- 降低阈值: 呼叫
query_leverage随着min_score=0.4和max_results=10让更多边缘思想通过。 - 拓宽背景: 添加工程注释或PRD链接,以便SAFLA推理层理解为什么矩阵求解器可能有助于电子邮件扫描仪。
默认情况下,RuvScan在以下方面出错 *明显合身*。如果你想让它进入“这听起来很奇怪,但可能有效”的领域,只需给它一个提示或更宽松的分数限制即可。
______________________________________________________________________
💬 在Claude中使用RuvScan
安装后,只需自然地与Claude交谈:
示例1:扫描GitHub组织
你: “扫描Anthropics GitHub组织”
克劳德: *用途 scan_github 工具*
Scan initiated for org: anthropics
Status: initiated
Estimated repositories: 50
Message: Scan initiated - workers processing in background示例2:使推理具有可重复性
你: “我需要调试为什么我的代理昨天做出了决定。有任何确定性工具吗?”
克劳德: *用途 query_leverage 表面FACT*
Repository: ruvnet/FACT
Relevance Score: 0.89
Complexity: O(1)
Summary: Deterministic caching framework that replays every LLM call with SHA256 hashes.
Why This Helps: Guarantees identical outputs for the same prompts, letting you trace agent decisions step by step.
How to Use: pip install fact-cache && from fact import FACTCache
Capabilities: Deterministic replay, prompt hashing, audit trails示例3:比较框架
你: “为我比较facebook/react和vuejs/core”
克劳德: *用途 compare_repositories 工具*
Repository Comparison (O(log n) complexity)
facebook/react vs vuejs/core
Similarity Score: 0.78
Complexity: O(log n)
Analysis: Both are component-based UI frameworks with virtual DOM, but React
has larger ecosystem and more enterprise adoption. Vue has simpler learning
curve and better built-in state management.示例4:理解推理
你: “给我看看你为什么推荐那个求解器的推理链”
克劳德: *用途 analyze_reasoning 工具*
Reasoning Chain for ruvnet/sublinear-time-solver:
- Detected performance optimization intent
- Matched O(log n) complexity with vector search problem
- Found Johnson-Lindenstrauss dimension reduction capability
- Cross-domain transfer from scientific computing to AI/ML
- Verified WASM support for browser integration
(Retrieved from FACT deterministic cache)示例5:开采现有Ruvnet堆
你: “我已经为ruvnet存储库添加了种子。我应该重用什么用于实时流媒体?”
克劳德: *呼叫 query_leverage 并显示现有条目*
Repository: ruvnet/MidStream
Relevance Score: 0.91
Summary: WASM-accelerated multiplexing layer for realtime inference
Why This Helps: Drop it in front of your LangChain stack to swap synchronous
requests for bidirectional streams. Built to pair with sublinear-time-solver.
How to Use: docker pull ghcr.io/ruvnet/midstream:latest______________________________________________________________________
🚀 你能用它做什么?
RuvScan电力 3种杀手工具:
1.🏗️ Builder副驾驶(IDE集成)
想象:您的代码编辑器,在您键入时建议相关库。
// You're writing:
async function improveContextRetrieval(query) {
// ...
}
// RuvScan suggests:
💡 Found: sublinear-time-solver
"Replace linear search with O(log n) similarity"
Relevance: 0.94 | Integration: 2 minutes用例:
- VS代码扩展
- 光标集成
- GitHub Copilot替代品
- JetBrains插件
2.🤖 AI代理智能层
想象:自动发现和集成新工具的AI代理。
# Your AI agent:
agent.goal("Optimize database queries")
# RuvScan finds and explains:
{
"tool": "cached-sublinear-solver",
"why": "Replace O(n²) joins with O(log n) approximations",
"how": "pip install sublinear-solver && ..."
}用例:
- 自主编码代理
- DevOps自动化
- 系统优化机器人
- 研究助理
3.📊 发现引擎(产品/研究)
想象:一种在整个技术栈中寻找创新机会的工具。
$ ruvscan scan --org mycompany
$ ruvscan query "What could 10× our ML pipeline?"
Found 8 leverage opportunities:
1. Replace sklearn with sublinear solver (600× faster)
2. Use MidStream for real-time inference (80% cost savings)
3. ...用例:
- 技术栈审计
- 性能优化狩猎
- 架构审查
- 竞争性研究
______________________________________________________________________
🛠️ 克劳德有什么工具?
当您将RuvScan安装为MCP服务器时,Claude获得了4个强大的工具:
| 工具 | 功能 | 示例使用 |
|---|---|---|
scan_github | 扫描任何GitHub组织、用户或主题 | “扫描openai组织” |
query_leverage | 使用O(log n)语义搜索查找相关工具 | “查找实时协作工具” |
compare_repositories | 比较具有亚线性相似性的repos | “比较NextJS与Remix” |
analyze_reasoning | 查看FACT缓存推理链 | “你为什么推荐那个库?” |
______________________________________________________________________
最新动态:
- RuvScan现在每次扫描最多可获取200个存储库,从快速的README扫描开始,然后再进行更深入的分析。
- MCP服务器首次启动时,会自动预加载整个
ruvnet组织,这样你就可以立即提问。 - 查询响应包括一个简洁的摘要和一个结构化的Markdown简报,突出了每个建议的机会、预期收益和整合路径。
- 每个答案都提醒您共享产品需求文档(PRD)或类似工件,以便后续分析更加具体。
- 如果五分钟内没有客户端完成握手(例如,当传输不匹配时),服务器现在会执行健康检查并关闭,并给出明确的解释。这防止了服务器在以错误的传输方式运行时静默挂起(例如,
mcp dev没有--transport sse)或者当后端API不可访问时。
🎬 演示:完整的工作流程
在Claude Code命令行界面中
$ claude
You: I'm working on a Python project that processes large datasets.
The performance is terrible. What GitHub tools could help?
Claude: Let me search for high-performance data processing tools...
[Uses query_leverage tool]
I found several relevant projects:
1. ruvnet/sublinear-time-solver (Relevance: 0.94)
- TRUE O(log n) algorithms for matrix operations
- Could replace your O(n²) operations with O(log n)
- Install: pip install sublinear-solver
2. apache/arrow (Relevance: 0.88)
- Columnar data format for fast analytics
- 100× faster than pandas for large datasets
Would you like me to scan the Apache organization to find more tools?
You: Yes, scan the apache organization
Claude: [Uses scan_github tool]
Scanning Apache Foundation repositories...
Found 150+ repositories. Indexing them now.在克劳德桌面
- 打开克劳德桌面
- 查看工具图标(🔧) 显示RuvScan已连接
- 自然提问-Claude自动使用RuvScan
- 通过推理链获取智能建议
______________________________________________________________________
⚡ 备选方案:作为独立API运行(2分钟)
选项1:Docker(用于API直接使用)
# 1. Clone and setup
git clone https://github.com/ruvnet/ruvscan.git
cd ruvscan
cp .env.example .env
# 2. Add your GitHub token to .env
# GITHUB_TOKEN=ghp_your_token_here
# 3. Start everything
docker compose up -d
# 4. Try it!
./scripts/ruvscan query "Find tools for real-time AI performance"选项2:直接HTTP API
# Query for leverage
curl -X POST http://localhost:8000/query \
-H "Content-Type: application/json" \
-d '{
"intent": "How can I speed up my vector database?",
"max_results": 5
}'选项3:Python集成
import httpx
async def find_leverage(what_you_are_building):
async with httpx.AsyncClient() as client:
response = await client.post(
"http://localhost:8000/query",
json={"intent": what_you_are_building}
)
return response.json()
# Use it
ideas = await find_leverage(
"Building a real-time collaboration editor"
)
for idea in ideas:
print(f"💡 {idea['repo']}")
print(f" {idea['outside_box_reasoning']}")
print(f" Integration: {idea['integration_hint']}")______________________________________________________________________
🎨 真实世界的例子
示例1:性能优化
你问:
"Pandas melts when I process multi-GB analytics data. I need something columnar."RuvScan发现:
{
"repo": "apache/arrow",
"outside_box_reasoning": "Arrow gives you a columnar in-memory format with
vectorized kernels. Swap it in to keep data compressed on the wire and
eliminate Python GIL bottlenecks.",
"integration_hint": "pip install pyarrow && use datasets.to_table()"
}示例2:架构发现
你问:
"Need a way to replay AI reasoning for debugging."RuvScan发现:
{
"repo": "ruvnet/FACT",
"outside_box_reasoning": "FACT caches every LLM interaction
with deterministic hashing. Replay any conversation
exactly as it happened. Built for reproducible AI.",
"integration_hint": "from fact import FACTCache;
cache = FACTCache()"
}示例3:域名转移
你问:
"Building a recommendation system. Need fast similarity."RuvScan发现:
{
"repo": "scientific-computing/spectral-graph",
"outside_box_reasoning": "This is from bioinformatics,
but the spectral clustering algorithm works perfectly
for collaborative filtering. O(n log n) vs O(n²).",
"integration_hint": "Adapt the adjacency matrix code
to your user-item matrix"
}______________________________________________________________________
🔥 RuvScan为何与众不同
传统搜索
You → "vector database speed" → GitHub
Results: 10,000 vector DB libraries
Problem: You already KNEW about vector databasesRuvScan
You → "My vector DB is slow" → RuvScan
Results: Sublinear algorithms, compression techniques,
caching strategies from OTHER domains
Problem: SOLVED with ideas you'd never have found秘密:RuvScan使用:
- 🧠 语义理解 (关键字不匹配)
- 🔀 跨域推理 (从其他领域寻找解决方案)
- ⚡ 次线性算法 (TRUE O(log n)相似性搜索)
- 🎯 确定性人工智能 (相同的问题=相同的答案,总是如此)
______________________________________________________________________
🎓 工程师:它是如何工作的
现在让我们来谈谈技术。..
架构:三语言混合系统
RuvScan是作为 混合智能系统 结合:
🐍 Python → MCP Orchestrator (FastAPI)
→ FACT Cache (deterministic reasoning)
→ SAFLA Agent (analogical inference)
🦀 Rust → Sublinear Engine (gRPC)
→ Johnson-Lindenstrauss projection
→ TRUE O(log n) semantic comparison
🐹 Go → Concurrent Scanner (GitHub API)
→ Rate-limited fetching
→ Parallel processing智能堆栈
1.亚线性相似性(Rust)
问题:将您的查询与10000个存储库进行比较是O(n)——太慢了。
解决方案:Johnson Lindenstraus的尺寸缩减。
// Reduce 1536-dimensional vectors to O(log n)
let jl = JLProjection::new(1536, 0.5);
let reduced = jl.project(&embedding);
// Now compare in compressed space
let similarity = sublinear_similarity(&query, &corpus);
// Complexity: O(log n) vs O(n)数学保证:距离保持在(1±ε)以内。
2.事实缓存(Python)
问题LLM推理是非确定性的,无法再现结果。
解决方案:使用SHA256哈希的确定性提示缓存。
# Same input always produces same output
cache_hash = hashlib.sha256(prompt.encode()).hexdigest()
cached_result = fact_cache.get(cache_hash)
if cached_result:
return cached_result # 100% reproducible利益:每个见解都是可复制的、可审计的、版本化的。
3.SAFLA推理(Python)
问题:文字上的相似性错过了创造性重用的机会。
解决方案:跨领域的类比推理。
# Detect domain overlap
intent_concepts = ["performance", "search", "real-time"]
repo_capabilities = ["O(log n)", "sublinear", "algorithms"]
# Generate creative transfer
insight = safla.generate_outside_box_reasoning(
query="speed up vector search",
repo="scientific-computing/sparse-solver"
)
# → "Use sparse matrix techniques for approximate NN"利益:从完全不同的字段中查找解决方案。
4.并发扫描(Go)
问题GitHub拥有超过1亿个存储库,无法全部扫描。
解决方案:具有智能限速的平行工作者。
// 10 concurrent workers
for _, repo := range repos {
go scanner.processRepo(repo)
}
// Auto rate-limit
scanner.checkRateLimit()
// Sleeps if {
const context = extractContext(event.document);
const suggestions = await ruvscan.query({
intent: `Optimize this code: ${context}`,
max_results: 3
});
showInlineSuggestions(suggestions);
});价值:开发人员在编写代码时会收到库建议。
系统2:自主代理
堆栈:RuvScan+LangChain+OpenAI
class BuilderAgent:
def __init__(self):
self.ruvscan = RuvScanClient()
async def optimize(self, codebase):
# Scan for bottlenecks
bottlenecks = await self.analyze(codebase)
# Find solutions
for issue in bottlenecks:
solutions = await self.ruvscan.query(
f"Solve: {issue.description}"
)
# Auto-apply best solution
await self.apply(solutions[0])价值:Agent会自动改进您的代码。
系统3:研究平台
堆栈:RuvScan+Supabase+Next.js
// Research dashboard
async function discoverInnovations(techStack) {
// Scan your current stack
const current = await ruvscan.scan({
source_type: "org",
source_name: "your-company"
});
// Find improvements
const opportunities = await Promise.all(
current.map(repo =>
ruvscan.query(`Improve ${repo.name}`)
)
);
return rankByImpact(opportunities);
}价值:持续创新发现。
______________________________________________________________________
📊 API 参考
核心终点
发布 /query -查找杠杆
curl -X POST http://localhost:8000/query \
-H "Content-Type: application/json" \
-d '{
"intent": "Your problem or goal",
"max_results": 10,
"min_score": 0.7
}'答复:
[{
"repo": "org/repo-name",
"capabilities": ["feature1", "feature2"],
"summary": "What this repo does",
"outside_box_reasoning": "Why this applies to your problem",
"integration_hint": "How to use it",
"relevance_score": 0.92,
"runtime_complexity": "O(log n)",
"cached": true
}]发布 /scan -扫描存储库
curl -X POST http://localhost:8000/scan \
-H "Content-Type: application/json" \
-d '{
"source_type": "org",
"source_name": "ruvnet",
"limit": 50
}'发布 /compare -比较仓库
curl -X POST http://localhost:8000/compare \
-H "Content-Type: application/json" \
-d '{
"repo_a": "org/repo-1",
"repo_b": "org/repo-2"
}'MCP集成
RuvScan实现了IDE/Agent集成的模型上下文协议:
{
"mcpServers": {
"ruvscan": {
"command": "docker",
"args": ["run", "-p", "8000:8000", "ruvscan/mcp-server"]
}
}
}兼容:
- 克劳德桌面
- 光标
- TabStax
- 任何与MCP兼容的工具
______________________________________________________________________
🚀 部署
发展(地方)
# Using Docker
docker compose up -d
# Manual
bash scripts/setup.sh
make dev生产(云)
Docker编写:
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d库贝内特斯:
kubectl apply -f k8s/deployment.yaml云平台:
- AWS:ECS,EKS
- 谷歌云:云运行,GKE
- Azure:ACI、AKS
看 部署.md 完整指南。
______________________________________________________________________
🧪 测试
# Run all tests
./scripts/run_tests.sh
# Or specific suites
pytest tests/test_server.py # API tests
pytest tests/test_embeddings.py # Embedding tests
pytest tests/test_fact_cache.py # Cache tests
pytest tests/test_integration.py # E2E tests______________________________________________________________________
📚 文档
______________________________________________________________________
🎯 路线图
v0.5(当前)✅
- 具有5个端点的MCP服务器
- TRUE O(log n)算法
- FACT确定性缓存
- SAFLA类比推理
- Docker+Kubernetes部署
v0.6(下一页)
- \[\]实时流媒体(MidStream)
- \[\]身份验证和API密钥
- \[\]速率限制
- \[\]普罗米修斯指标
- \[\]增强LLM推理
v0.7
- \[\]高级查询DSL
- \[\]图形可视化
- \[\]多LLM支持
- \[\]websocket API
- \[\]插件系统
v1.0
- \[\]自优化代理
- \[\]联合节点
- \[\]社区市场
- \[\]企业功能
______________________________________________________________________
🤝 贡献
我们欢迎捐款!看 贡献.md.
我们需要帮助的领域:
- 🧪 测试边缘案例
- 📚 文档改进
- 🌐 语言翻译
- 🔌 IDE集成
- 🎨 用户界面/仪表板
______________________________________________________________________
📄 许可证
麻省理工学院或Apache-2.0-选择适合你的。
______________________________________________________________________
🙏 建立在
RuvScan站在巨人的肩膀上:
______________________________________________________________________
______________________________________________________________________
✨ 愿景
RuvScan通过将整个开源世界变成他们的个人创新引擎,使每个开发人员的生产力提高了10倍。
开发人员没有重新发明轮子,而是发现现有的解决方案——即使是来自完全不同领域的解决方案,并创造性地将其应用于他们的问题。
结果更快的构建、更好的架构和不断的创新。
______________________________________________________________________
______________________________________________________________________
