关于 Synaptic Code Intelligence
Synaptic 是一个基于 Rust 的单一二进制代码智能工具,将代码仓库构建为持久的知识图谱,用于回答结构、影响范围和测试选择等问题。它面向需要为编码 Agent 提供代码上下文的开发者,并可在 CLI 或 MCP 中使用。
主要功能
- 01仓库知识图谱的本地确定性提取
- 02基于调用与依赖的影响分析
- 03测试选择与变更风险预测
- 04在隔离工作树中验证变更
- 05基于仓库历史的工程记忆
适用场景
- 01为编码 Agent 提供代码库结构的概览
- 02评估某个符号修改可能影响的范围
- 03在提交前选择需要运行的测试
MCP 相关
Synaptic 通过 synaptic serve 运行 MCP 服务,向客户端提供图谱查询、影响分析和仓库记忆等能力。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://synapticgraph.com/api/mcp/projects/{project_id}claude mcp add --transport http colinvaughn-synaptic https://synapticgraph.com/api/mcp/projects/{project_id}{"mcpServers":{"colinvaughn-synaptic":{"type":"http","url":"https://synapticgraph.com/api/mcp/projects/{project_id}"}}}在 Cursor 中打开{"servers":{"colinvaughn-synaptic":{"type":"http","url":"https://synapticgraph.com/api/mcp/projects/{project_id}"}}}在 VS Code 中打开{"mcpServers":{"colinvaughn-synaptic":{"type":"http","url":"https://synapticgraph.com/api/mcp/projects/{project_id}"}}}{"mcpServers":{"colinvaughn-synaptic":{"serverUrl":"https://synapticgraph.com/api/mcp/projects/{project_id}"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://synapticgraph.com/api/mcp/projects/{project_id}需要授权工具
详细介绍
Synaptic
为你的编码助手提供代码库地图,而不是一堆文件。
Synaptic 只需映射一次代码仓库,你和编码助手就不必在每次会话中重新探索它。你可以询问系统如何工作、哪些内容依赖某个符号,或某项更改可能造成什么影响。答案来自持久、以源代码为依据的知识图谱,可通过命令行或 MCP 使用。Synaptic 还可以记住以往的更改,并规划小型、易于审查的 API 和依赖修复。
代码提取在本地进行,且具有确定性。Synaptic 以单个 Rust 二进制文件的形式提供,无需运行时、数据库、账户或 API 密钥。
开始使用
安装最新的校验和验证版本:
# macOS / Linux
curl --proto '=https' --tlsv1.2 -LsSf https://raw.githubusercontent.com/ColinVaughn/Synaptic/main/install.sh | sh
# Windows PowerShell
irm https://raw.githubusercontent.com/ColinVaughn/Synaptic/main/install.ps1 | iex
然后在代码仓库中运行 Synaptic:
synaptic extract . # build synaptic-out/graph.json
synaptic query "how does authentication work?"
synaptic affected parse_config # what could this change break?
提取过程会遵循 .gitignore 和 .synapticignore,跳过常见的密钥文件,并保持离线,除非你明确启用需要网络的功能。
连接你的编码助手
synaptic install claude # Claude Code
synaptic install codex # Codex CLI
synaptic install codex --global # Codex desktop app
Claude 和 Codex 启动时只加载少量工具,之后再按需查找其余工具。这样既能缩短提示词,又不会隐藏功能。Gemini、Cursor、Copilot、OpenCode、Kilo 以及通用的 AGENTS.md 客户端也都受支持。请参阅助手集成。
功能
| 需求 | Synaptic 提供的功能 |
|---|---|
| 理解代码 | 在一个图谱中展示符号、调用、导入、继承、资源、SQL 和跨语言边界 |
| 查找影响 | 调用方、引用、反向依赖、动态分派隐患和受影响的测试 |
| 安全地修改代码 | 更改影响预测、重构计划、架构差异,以及在隔离工作树中进行可选验证 |
| 记住过往信息 | 来自提交、决策、事件、评审、CI 和以往尝试的源代码关联历史 |
| 维护依赖 | API 契约跟踪和漏洞证据,以及小型、易于审查的修复工作流 |
Synaptic 支持数十种语言、增量更新、多仓库联邦、结构化搜索、SQL 审计、图谱感知 PR 评审,以及导出为 GraphML、Cypher、Graphviz、Obsidian 和 Markdown。详细功能请参阅文档,本页面将专注于帮助你开始使用。
查看架构
synaptic chart
这会根据图谱创建一张独立的架构地图。无需服务端即可打开子系统、选择符号,并查看其真实的入向和出向关系。
旨在节省上下文
Synaptic 返回图谱中相关的部分,而不是将整个源文件加载到助手的上下文中。在已提交的令牌基准测试中,完整图谱回答所用的令牌比读取这些回答引用的源文件少 27–38 倍。这是对上下文压缩效果的测量,并不代表任务总成本一定如此。方法和原始结果见 BENCHMARKS.md。
常用命令
| 命令 | 用途 |
|---|---|
synaptic extract . | 构建图 |
synaptic update / synaptic watch | 保持图为最新状态 |
synaptic query "..." | 查找与问题相关的子图 |
synaptic affected <symbol> | 追踪反向影响 |
synaptic predict <files> | 预测风险并选择测试 |
synaptic speculate <files> | 在临时工作树中验证更改 |
synaptic memory search "..." | 查找相关的仓库历史记录 |
synaptic serve | 运行 MCP 服务 |
运行 synaptic <command> --help 查看标志,或参阅完整的
命令参考。
选择工作流
- 命令行: 适用于本地提取、查询、自动化和 MCP 的最快途径。
- 桌面端: 运行
synaptic-ui,以可视化方式设置仓库、配置联邦、连接助手、更新内容并查看完整命令目录。 - 托管版: Synaptic Cloud 提供托管的 MCP 服务。 有关提交触发的图同步和经过验证的修复工作流,请参阅 GitHub 自动化指南。
使用 synaptic self-update 更新已安装的发行版。
文档
从源代码构建
此仓库固定使用 Rust 1.97.1。
cargo install --path bin/synaptic
cargo install --path bin/synaptic-ui # optional desktop app
有关开发和架构说明,请参阅 开发指南。
社区与许可证
有疑问、想法,或想分享你构建的内容?加入 Discord 社区。
Synaptic 采用 AGPL-3.0-or-later 许可证;请参阅 LICENSE 和 NOTICE。
如果你修改 Synaptic 并通过网络向用户提供服务,则必须向这些用户提供相应的源代码。单独维护的 Synaptic Cloud 服务为专有软件,不受本仓库许可证约束。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。