独奏家
Claude Code的代码智能MCP服务器。多项目代码图、语义搜索、会话历史、知识库、网络搜索。
PyPI:pip install solograph/uvx solograph
全矢量搜索由 FalkorDB 的 (嵌入式,无Docker)。不依赖ChromaDB。
嵌入
两个后端,都生产 384维度 矢量:
| 后端 | 模型 | 平台 | 语言 |
|---|---|---|---|
玻璃直线磨斜边机 主要的,重要的 multilingual-e5-small-mlx | 苹果硅 | RU+EN | |
| 句子变换器 (回退) | all-MiniLM-L6-v2 | 任何 | EN |
自动检测苹果硅→ 使用MLX。回到其他平台上的句子转换器。
安装MLX支架(可选):
uv add solograph[mlx]安装
uv add solograph
# or
pip install solograph用法
MCP服务器(用于克劳德代码)
claude mcp add -s project solograph -- uvx solograph或手动添加到 .mcp.json:
{
"mcpServers": {
"solograph": {
"command": "uvx",
"args": ["solograph"]
}
}
}命令行界面
solograph-cli init ~/my-projects # First-time setup (scan + build graph)
solograph-cli init ~/my-projects --deep # + imports, calls, inheritance
solograph-cli scan # Re-scan projects into graph
solograph-cli scan --deep # + imports, calls, inheritance (tree-sitter)
solograph-cli stats # Graph statistics
solograph-cli explain my-app # Architecture overview
solograph-cli xray ~/my-projects # Portfolio X-Ray (all projects at once)
solograph-cli diagram my-app # Mermaid diagram
solograph-cli query "MATCH (n) RETURN n LIMIT 5"
solograph-cli web-search "query" # Web search via SearXNG/Tavily
solograph-cli index-youtube -c GregIsenberg -n 10 # Index YouTube channel
solograph-cli index-youtube -u "https://youtube.com/watch?v=ID" # Index specific video by URL
solograph-cli index-youtube # Index all channels from channels.yaml全局安装:
uv tool install solograph # → solograph + solograph-cli in PATH快速开始
# 1. Install
uv tool install solograph
# 2. Init — creates ~/.solo/, scans projects, builds graph
solograph-cli init ~/my-projects
# 3. Add MCP to Claude Code
claude mcp add -s project solograph -- uvx solograph
# 4. Done — MCP tools available in Claude Code配置
环境变量:
| 变量 | 默认值 | 描述 |
|---|---|---|
CODEGRAPH_DB_PATH | ~/.solo/codegraph.db | FalkorDB代码图路径 |
CODEGRAPH_REGISTRY | ~/.solo/registry.yaml | 项目注册表路径 |
CODEGRAPH_SCAN_PATH | ~/projects | 在哪里扫描项目 |
KB_PATH | (无) | 知识库根(带有YAML frontmatter的markdown文件) |
TAVILY_API_URL | http://localhost:8013 | Tavily兼容的搜索URL |
TAVILY_API_KEY | (无) | Tavily的API密钥 |
15个MCP工具
codegraph_query--针对代码图的密码查询codegraph_stats--图形统计(项目、文件、符号、包)codegraph_explain--项目架构概述codegraph_shared--跨项目共享的包project_code_search--语义代码搜索(首次调用时自动索引)project_code_reindex--将项目代码重新索引到FalkorDB向量中session_search--Claude Code会话历史记录搜索project_info--项目注册表信息kb_search--知识库语义搜索web_search--网络搜索(Tavily/SearXNG)source_search--搜索索引外部源(YouTube、Telegram)source_list--列出带有文档计数的索引源source_tags--自动检测带有视频计数的主题source_related--通过共享标签查找相关视频
网络搜索
这 web_search 工具连接到任何 旅居兼容API.非常适合自托管 SearXNG+Tavily适配器 -私有,没有API密钥,智能引擎路由。
# Self-hosted (Docker, 1 minute setup)
git clone https://github.com/fortunto2/searxng-docker-tavily-adapter.git
cd searxng-docker-tavily-adapter
cp config.example.yaml config.yaml
docker compose up -d
# → http://localhost:8013/search (Tavily API)
# → http://localhost:8999 (SearXNG UI)或使用 美味API 直接设置 TAVILY_API_URL=https://api.tavily.com 和 TAVILY_API_KEY.
智能引擎路由根据查询类型自动选择搜索引擎:
- 技术:github、stackoverflow(关键字:python、react、code)
- 学术:arxiv,谷歌学者(关键词:研究,论文)
- 产品:勇敢、reddit、应用商店(关键词:应用、竞争对手、定价)
- 新闻:谷歌新闻(关键词:新闻、最新、趋势)
- 通用:谷歌、鸭子、勇敢(默认)
图形架构
节点
| 节点 | 关键属性 | 源 |
|---|---|---|
Project | 名称、堆栈、路径 | registry.yaml |
File | 路径、语言、线条、项目 | 树保姆扫描 |
Symbol | 名称、种类(类/函数/方法)、文件、行 | 树型AST |
Package | 名称、版本、源代码(npm/pip/spm/gradle) | 清单文件 |
Session | session_id、project_name、started_at、slug | .claude/ 历史 |
边缘
| 边缘 | 来自→ 致 | 说明 |
|---|---|---|
HAS_FILE | 项目→ 文件 | 项目包含文件 |
DEFINES | 文件→ 符号 | 文件定义符号 |
IMPORTS | 文件→ 文件/包 | 导入关系 |
CALLS | 文件→ 符号 | 文件调用符号 |
INHERITS | 符号→ Symbol | 类继承 |
DEPENDS_ON | 项目→ 包 | 包依赖关系 |
MODIFIED | 会议→ 文件 | Git历史记录(添加/删除行) |
TOUCHED / EDITED / CREATED | 会议→ 文件 | 会话文件操作 |
IN_PROJECT | 会议→ 项目 | 会话属于项目 |
密码查询示例
-- Hub files (most imported)
MATCH (f:File)(pkg:Package) p2.name
RETURN pkg.name, COLLECT(DISTINCT p1.name) AS projects
-- Impact analysis: what breaks if I change this file?
MATCH (f:File {path: 'lib/utils.ts'})(f:File)
RETURN f.path, COUNT(s) AS sessions
ORDER BY sessions DESC LIMIT 10
-- Files touched by sessions in a project
MATCH (s:Session {project_name: 'my-app'})-[r]->(f:File)
RETURN f.path, type(r) AS action, COUNT(s) AS times
ORDER BY times DESCYouTube源代码图
单独的FalkorDB图位于 ~/.solo/sources/youtube/graph.db:
| 节点 | 关键属性 |
|---|---|
Channel | 名称、句柄、订阅者计数 |
Video | video_id、标题、持续时间、view_count、已创建 |
VideoChunk | 文本、章节、start_time、start_seconds、chunk_index、chunk_type、嵌入(384 dim) |
Tag | 姓名 |
| 边缘 | 描述 |
|---|---|
HAS_VIDEO | 频道→ 视频 |
HAS_CHUNK | 视频→ VideoChunk |
TAGGED | 视频→ 标签(按置信度加权) |
索引器: solograph-cli index-youtube --通过SearXNG发现视频,通过yt-dlp获取元数据+VTT,按章节分组,嵌入,上传到图形中。
频道: ~/.solo/sources/youtube/channels.yaml --要索引的YouTube句柄的YAML列表。来自您项目的Symlink channels.yaml.
Chunking: VTT字幕解析为带时间戳的片段,通过以下方式按章节边界分组 chunk_segments_by_chapters().每个块都有精确的 start_seconds 根据真实的VTT时间戳。
VTT缓存: ~/.solo/sources/youtube/vtt/{videoId}.vtt --持久化,在重新索引时重用。
ProductHunt源代码图
单独的FalkorDB图位于 ~/.solo/sources/producthunt/graph.db:
| 节点 | 关键属性 |
|---|---|
SourceDoc | doc_id、标题、url、内容、标签、创建、流行度、嵌入(384 dim) |
Maker | 用户名、姓名、标题、个人简介、积分、strike_days、关注者、推特、领英 |
索引器: solograph-cli index-producthunt -抓取ProductHunt GraphQL API v2,将产品映射到SourceDoc,并将支持率作为受欢迎程度。
solograph-cli index-producthunt -d 30 # Last 30 days
solograph-cli index-producthunt --all --resume # Full 3-year dump with checkpoint
solograph-cli import-producthunt data.jsonl # Import from JSONL file排名: 搜索结果因受欢迎程度(赞成票)而增加。在语义相关性相同的情况下,获得更多支持的产品排名更高。
搜索服务器
用于在所有索引源中进行矢量搜索的HTTP API。设计为与SearXNG一起作为Docker服务运行。
# Standalone
solograph-search # starts on port 8002
# Docker (in searxng-docker-tavily-adapter)
docker compose up -d solograph-search终点:
GET /search?q=AI+tool&source=producthunt&n=5--语义搜索(源可选)GET /sources--列出带有计数的索引源GET /health--状态
人气提升: 获得更多支持的产品在同等相关性下排名更高。得分= cosine_similarity * 0.85 + log10(upvotes) * boost.获取3个候选人,重新排名,返回前N。
| 变量 | 默认值 | 描述 |
|---|---|---|
SOLOGRAPH_SEARCH_PORT | 8002 | HTTP服务器端口 |
SOURCES_ROOT | ~/.solo/sources | FalkorDB图形目录 |
存储
- 代码图:
~/.solo/codegraph.db(FalkorDB) - 会话向量:
~/.solo/sessions/graph.db(FalkorDB) - KB向量:
{KB_PATH}/.solo/kb/graph.db(FalkorDB) - 项目向量:
{project_path}/.solo/vectors/graph.db(根据FalkorDB项目) - YouTube来源:
~/.solo/sources/youtube/graph.db(FalkorDB) +youtube/vtt/(缓存的VTT文件)+youtube/channels.yaml - ProductHunt来源:
~/.solo/sources/producthunt/graph.db(FalkorDB)-26000多种产品,排名靠前
Solo工厂的一部分
一起安装技能+MCP:
# Option 1: Skills for any agent (Claude Code, Cursor, Copilot, Gemini CLI, etc.)
npx skills add fortunto2/solo-factory --all
# Option 2: Claude Code plugin (skills + agents + MCP auto-start)
claude plugin marketplace add fortunto2/solo-factory
claude plugin install solo --scope user或者单独使用solograph——只需添加到 .mcp.json 如上所示。
许可证
麻省理工学院
