AI开发工具集

SynCore是一个MCP服务器,提供65+工具,包括持久化内存、向量搜索、代码智能、知识图谱、任务管理等功能,适用于AI本地开发和代码分析。

  • by oldnordic
  • Rust
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 oldnordic/syncore

使用说明

SynCore

用于AI原生开发的MCP服务器 -2周内独立构建,人工智能援助预算为15美元。

内存、向量、代码分析和知识图的统一接口。 65+工具 可通过单个MCP连接访问。

内置Rust。使用Claude Code进行生产测试。

这实际上是做什么的

SynCore是一个MCP(模型上下文协议)服务器 65工具 用于:

  • 持久存储器 -键值存储(SQLite+Sled缓存)
  • 双域矢量搜索 -代码和文本的单独嵌入模型
    • 编码域:BGE-small-en-v1.5(针对语义代码搜索进行了优化)
    • 通用域:全MiniLM-L6-v2(针对文档/任务进行了优化)
  • 代码智能 -Rust、JavaScript、Python、JSON、TOML、Bash的树型解析
  • 知识图谱 -Neo4j与Cypher查询的集成
  • 任务管理 -使用父/子关系进行任务跟踪
  • 代理商协调 -多代理工作流的消息总线
  • 应用程序映射 -文件依赖关系跟踪和更改历史记录
  • 顺序推理 -多步思维记录
  • 项目分析 -LLM免费代码库智能(热点、死代码、周期、重构)

现状(2025年11月)

什么是可靠的

核心工具(每日测试):

  • memory_store / memory_query -键值存储,约1ms延迟
  • vector_insert / vector_search -语义搜索,10-50ms延迟
  • code_index / code_search -代码语义搜索
  • code_index_directory -批次索引 增量支持 (跳过未更改的文件)
  • parser_analyze -树型AST提取,可选持久性
  • parser_search -Ripgrep代码模式搜索
  • graph_query / graph_insert -Neo4j密码查询
  • code_graph_sync_neo4j -将SQLite实体同步到Neo4j
  • code_graph_fusion_query -三模式(简单/注意力/推理)搜索

图形特征:

  • 7种边缘类型:包含、调用、使用、导入、模块_儿童、继承、引用
  • PageRank的多跳传播
  • 时间元数据丰富(git历史+mtime)

项目分析引擎(第6阶段):

  • project_file_report -详细的文件分析(实体、关系、指标)
  • project_hotspots -查找复杂性热点(扇入/扇出、LOC、实体计数)
  • project_dead_code -检测未使用的实体
  • project_cycles -查找循环依赖关系
  • project_unused_imports -查找未使用的导入
  • project_module_map -模块依赖关系图
  • project_refactor_suggestions -启发式重构建议

元工具(聚合PAE数据):

  • project_architecture_overview -项目范围摘要:实体计数、依赖关系统计、复杂性指标
  • project_complexity_dashboard -热门热点、最差周期、复杂性排名
  • project_improvement_roadmap -通过努力/影响矩阵优先改进
  • project_refactor_action_plan -可操作的重构计划(高风险热点、死代码、周期中断)

增量索引(新增-第5阶段):

  • SHA256+时间变化检测
  • 跳过未更改的文件(返回0个实体=跳过)
  • 检测新的、修改的、删除的文件
  • Idempotent(可安全重复运行)

什么是实验

  • IntelliTask AI功能 -要求Ollama在本地运行,质量取决于型号
  • 顺序推理 - sequential_cycle 需要Ollama
  • 代理消息总线 -工作,但未在生产中进行大量测试
  • RAGGraph多跳 -有效,但评分可能需要调整

诚实的限制

  • 仅限单个节点 -无分布式模式
  • 无身份验证 -专为当地使用而设计
  • 图形功能需要Neo4j -没有它,有些工具会悄无声息地失败
  • 人工智能功能需要Ollama -IntelliTask,sequential_cycle需要它
  • 启动后约500MB RAM -加载了两个HuggingFace嵌入模型(BGE+MiniLM)
  • 图形功能已部分测试 -Neo4j同步有效,但实体填充需要验证

快速开始

构建

cd syncore
cargo build --release

生成两个二进制文件:

  • target/release/syncore_mcp_stdio (~55 MB)-克劳德代码的MCP服务器
  • target/release/syncore_graph_cli (约33 MB)-用于图形操作的CLI

配置Claude代码

增添 ~/.config/claude/mcp_settings.json:

{
  "syncore": {
    "command": "/path/to/syncore/target/release/syncore_mcp_stdio",
    "args": [],
    "env": {
      "DB_PATH": "/path/to/syncore.db",
      "NEO4J_URI": "bolt://127.0.0.1:7687",
      "NEO4J_USER": "neo4j",
      "NEO4J_PASS": "your_password"
    }
  }
}

环境变量

变量 默认值 描述
DB_PATH syncore.db SQLite数据库路径
HTTP_PORT 3001 HTTP流服务器端口
NEO4J_URI bolt://127.0.0.1:7687 Neo4j连接
NEO4J_USER neo4j Neo4j用户名
NEO4J_PASS (图形需要) Neo4j密码
RUST_LOG info 日志级别

所有工具(42个记忆套件+23个独立工具)

内存套件(通过42个命令 memory_suite)

基本内存(5个命令):

命令 描述 成本
store 将键值对与元数据一起存储 低
query 按键检索值 低
delete 删除内存条目 低
list_keys 列出所有记忆键 低
memory_stats 获取计数和命名空间统计信息 低

语义搜索(8个命令-APEX 1.9-M):

命令 描述 成本
search_semantic 基于向量的语义搜索 中等
search_hybrid 组合语义+关键字搜索 中等
query_by_tags 按标签筛选记忆 低
query_by_importance 按重要性阈值筛选 低
query_recent 获取N个最近的记忆 低
query_since 获取自时间戳以来的记忆 低
consolidate_similar 查找并合并相似的记忆 高
get_related_memories 获取相关记忆(语义+图形) 中等

矢量操作(2个命令):

命令 描述 成本
vector_insert 添加带有嵌入的文本 中等
vector_search 语义相似性搜索 中等

任务管理(15个命令):

命令 描述 成本
task_create 创建任务 低
intellitask_list 列出所有任务 低
intellitask_get 按ID获取任务 低
intellitask_update_status 更新任务状态 低
intellitask_next_ready 准备下一个任务 低
intellitask_get_subtasks 获取子任务 低
intellitask_subtask_stats 子任务统计 低
intellitask_task_statistics 总体任务统计 低
intellitask_prd_statistics PRD特定统计数据 低
intellitask_save 将任务分解保存到数据库 低
intellitask_generate 需要Ollama -PRD的AI任务分解 高
intellitask_subtasks 需要Ollama -生成子任务 高
intellitask_prioritize 需要Ollama -AI任务优先级 高
intellitask_next 需要Ollama -AI下一个任务建议 高

顺序推理(4个命令):

命令 描述 成本
sequential_record 记录推理链中的思维步骤 低
sequential_get 获取任务的思考步骤 低
sequential_search 从语义上搜索思维步骤 中等
sequential_cycle 需要Ollama -运行推理周期 非常高

代理协调(8个命令):

命令 描述 成本
agent_send 通过消息总线向代理发送消息 低
agent_recv 接收待处理邮件 低
agent_poll 等待下一条消息(阻塞) 低
agent_register 注册具有功能的代理 低
agent_list 列出注册代理 低
agent_status 更新代理状态 低
agent_task 发送结构化任务信封 低
agent_result 提交已完成的任务结果 低

独立MCP工具

代码套件(11个命令):

命令 描述 成本
index 索引源文件 高
search 语义代码搜索 中等
index_directory 批量索引目录(增量) 非常高
parse 树型AST提取 中等
grep Ripgrep模式搜索 中等
explain 用指标解释功能 中等
doc_index 从目录索引文档 非常高
doc_search 语义文档搜索 中等
fusion_query 三模式RAG查询(简单/注意力/推理) 高
enrich_temporal 添加git历史记录+mtime元数据 非常高
sync_neo4j 将SQLite实体同步到Neo4j 非常高

图形套件(5个命令):

命令 描述 成本
query 执行Cypher读取查询 高
insert 执行Cypher写入查询 高
relate 在节点之间创建关系 高
rag_query 基于多跳图推理的RAG查询 高
rag_multihop 种子节点的多跳图扩散 高

映射套件(8个命令):

命令 描述 成本
record 带有导入/导出/删除的记录文件节点 低
get 获取文件节点 低
search 语义文件搜索 中等
deps 获取传递依赖关系 中等
app_record 记录代码更改 低
app_get 获取任务更改 低
app_history 获取文件更改历史记录 低
app_search 搜索语义变化 中等

调试套件(10个命令):

命令 描述 成本
logs_tail 获取最近的日志条目 低
tool_metadata_list 列出工具元数据 低
project_file_report 详细文件分析 中等
project_hotspots 查找复杂性热点 中等
project_dead_code 识别未使用的实体 中等
project_cycles 检测循环依赖关系 中等
project_unused_imports 查找未使用的导入 中等
project_module_map 模块依赖关系图 中等
project_refactor_suggestions 重构建议 中等
project_code_smells 检测代码气味 中等

REFRAG套件(3个命令-APEX 1.8):

命令 描述 成本
query 代币预算的选择性扩张 高
configure 更新扩展策略 低
help 显示REFRAG使用情况 低

架构说明

双域嵌入

SynCore使用两个单独的矢量存储和专门的模型:

码域 (syncore_code.index):

  • 型号:BGE-small-en-v1.5(384调光)
  • 目的:语义代码搜索
  • 为什么:接受过代码+文本培训,了解编程语义
  • 路由:代码实体、函数、类

一般域 (syncore_general.index):

  • 型号:全迷你LM-L6-v2(384昏暗)
  • 目的:文件、任务、笔记
  • 为什么:针对自然语言理解进行了优化
  • 路由:记忆、文档、推理步骤

这可以防止“域污染”,即代码嵌入污染文档搜索,反之亦然。

图形BERT集成点

代码库包括 GraphEmbeddingStrategy 未来集成Graph BERT或其他GNN模型以将CODE嵌入与图结构特征相结合的特点。目前使用确定性特征注入。

演出

在Ryzen 7 32GB RAM上测试:

操作 延迟
内存存储/查询 <1ms
矢量搜索(编码域) 10-50ms
矢量搜索(通用域) 10-50ms
码图融合 10-50ms
Neo4j查询 1-10ms
增量索引(未更改的文件) <1ms

注意:HNSW索引在预热后将搜索时间缩短到1-10ms,但初始查询使用线性扫描。

需求

必修的:

  • 锈蚀1.70+
  • ~4GB磁盘用于构建工件
  • 嵌入模型加载后约500MB RAM

可选:

  • Neo4j 5.x(用于图形功能- graph_*, code_graph_*, raggraph_*)
  • Ollama(用于AI功能- intellitask_generate/subtasks/prioritize/next, sequential_cycle)

CLI工具

syncore_graph_cli 提供命令行图形操作:

# Sync SQLite entities to Neo4j
NEO4J_URI="bolt://127.0.0.1:7687" NEO4J_USER="neo4j" NEO4J_PASS="password" \
  ./target/release/syncore_graph_cli sync

# Validate graph integrity
./target/release/syncore_graph_cli validate

# Show graph statistics
./target/release/syncore_graph_cli stats

许可证

GPL-3.0

技术亮点(工程师接地)

是什么让这很有趣:

  1. 双域嵌入 -具有自动路由功能的单独BGE/MiniLM型号(在MCP服务器中很少见)
  2. 多模式存储 -SQLite+Sled+Neo4j+HNSW在单个一致的API中
  3. 增量索引 -SHA256+时间变化检测,幂等重复运行
  4. 代码图融合 -具有时间评分的三模式搜索(简单/注意力/推理)
  5. 图表BERT接缝 -通过特征抽象实现GNN集成的可扩展点
  6. 零依赖项目分析 -没有LLM调用的复杂性度量

什么还没有准备好生产:

  • Neo4j实体查询返回空(同步工作,但填充逻辑需要调试)
  • 图BERT是架构占位符(使用确定性特征注入)
  • 大型结果集无流式传输
  • 集成测试覆盖范围有限
  • 单节点架构(无复制/分片)

发展背景:

  • 2周,单人开发,15美元预算
  • 100%人工智能辅助代码生成(克劳德代码+免费层模型)
  • 250个文件中7866行Rust
  • 使用Claude Code CLI进行日常生产使用

致谢

使用rmcp、neo4rs、rusqlite、树保姆、fastembed、tokio、雪橇、hnsw_rs构建。

核心嵌入模型:BGE-small-en-v1.5(BAAI),全MiniLM-L6-v2(句子转换器)。