关于 syke
SYKE 是供编码 Agent 使用的 MCP 服务,可绘制源文件依赖关系,并在构建或部署前检查变更影响。它结合静态分析、风险判定、级联检测和本地仪表板。
主要功能
- 01提供 PASS/WARN/FAIL 构建门禁
- 02依赖图与变更影响检查
- 03检测级联影响和循环依赖
- 04风险评分与 Git 变更耦合
- 05实时依赖图仪表板
- 06自动识别八种语言
适用场景
- 01在构建或部署前检查代码变更
- 02查找源文件变更影响的文件
- 03审查高风险或循环依赖
- 04通过仪表板监控代码变更
MCP 相关
SYKE 向兼容 MCP 的编码 Agent 提供代码安全和依赖分析工具,包括 `gate_build`、`check_safe` 和 `get_dependencies`。Pro 工具还提供影响分析、图刷新、AI 分析和变更预警。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| files | array | 否 | 可选的已修改文件列表(绝对路径或相对于源目录的路径) |
详细介绍
SYKE — 你的代码库有脉搏
AI 代码影响分析 MCP 服务。 SYKE 会监控 AI 接触的每个文件、映射依赖图、检测级联故障,并在损害扩散前拦截构建。
适用于 Claude Code、Cursor、Windsurf 以及任何兼容 MCP 的 AI 编码 Agent。



工作原理
- 启动时,SYKE 会扫描源代码目录,并通过静态导入分析构建完整的依赖图。
- 你的 AI Agent 可以自由修改文件——正常工作期间不会受到打扰。
- 构建/部署之前,AI 会调用
gate_build,检查所有更改是否安全。 - 如果依赖关系遭到破坏,SYKE 会检测级联故障,并以
FAIL判定阻止构建。 - 仪表板会实时可视化依赖图,并显示风险指标。
SYKE 是安全网,不是守门人。 它不会在 AI 工作时拦截它——而是在发布前捕获 AI 遗漏的问题。
快速开始
1. 创建配置文件
创建 ~/.syke/config.json:
{
"licenseKey": "SYKE-XXXX-XXXX-XXXX-XXXX",
"geminiKey": "your-gemini-api-key"
}
在 syke.cloud/dashboard 获取许可证密钥。你只需要一个 AI 密钥。支持:
geminiKey、openaiKey、anthropicKey。
2. 注册 MCP 服务
Claude Code:
claude mcp add syke -- npx @syke1/mcp-server@latest
Cursor(.cursor/mcp.json):
{
"mcpServers": {
"syke": {
"command": "npx",
"args": ["@syke1/mcp-server@latest"]
}
}
}
Windsurf(~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"syke": {
"command": "npx",
"args": ["@syke1/mcp-server@latest"]
}
}
}
Windows 提示: 如果找不到
npx,请使用完整路径:"command": "C:\\Program Files\\nodejs\\npx.cmd"
3. 在项目中添加构建拦截
将以下内容添加到项目的 CLAUDE.md(或同等的 AI 指令文件):
After completing code changes, always run the gate_build MCP tool before committing or deploying.
这样可以确保 AI Agent 在每项任务完成后自动运行 SYKE 安全检查,无需手动提示。
4. 重启 AI Agent
SYKE 会自动检测项目语言,并在启动时构建依赖图。打开 http://localhost:3333 查看实时仪表板。
功能
8 个 MCP 工具
| 工具 | 版本 | 描述 |
|---|---|---|
gate_build | 免费 | 构建前必检。 在任何构建或部署前返回 PASS/WARN/FAIL 判定。 |
check_safe | 免费 | 快速返回一行安全判定:HIGH/MEDIUM/LOW/NONE 风险。 |
get_dependencies | 免费 | 列出文件的内部导入(前向依赖)。 |
analyze_impact | Pro | 全面的影响分析,包含 SCC、风险评分和 git 耦合分析。 |
get_hub_files | Pro | 根据 PageRank 重要性分数为文件排序。 |
refresh_graph | Pro | 重新扫描所有源文件并重建依赖图。 |
ai_analyze | Pro | 使用 AI(Gemini/OpenAI/Claude)对文件及其依赖文件进行语义分析。 |
check_warnings | Pro | 实时监控可能导致依赖文件故障的文件变更,并发出警报。 |
多 AI 提供商支持
SYKE 支持三种 AI 提供商进行语义分析。请自备密钥:
| 提供商 | 模型 | 配置键 | 环境变量 |
|---|---|---|---|
| Google Gemini | gemini-2.5-flash | geminiKey | GEMINI_KEY |
| OpenAI | gpt-4o-mini | openaiKey | OPENAI_KEY |
| Anthropic | claude-sonnet-4-20250514 | anthropicKey | ANTHROPIC_KEY |
自动选择: SYKE 使用第一个可用的密钥(Gemini > OpenAI > Anthropic)。
指定提供商: 在配置中设置 aiProvider(或设置环境变量 SYKE_AI_PROVIDER)以覆盖自动选择。
高级图算法
SYKE 不止于简单的依赖计数。五种生产级算法协同工作,提供精准、快速且包含丰富上下文的影响分析——全部在本地运行,不产生任何 AI 令牌费用。
1. SCC 收缩 + 拓扑排序
循环依赖是影响分析产生误导的头号原因。SYKE 使用 Tarjan 算法检测所有强连通分量,将其收缩为清晰的 DAG,然后运行拓扑排序,以计算准确的级联层级。
Before: "47 files affected" (inflated by cycles)
After: "3 files in circular cluster (Level 0) → 5 files (Level 1) → 4 files (Level 2)"
- O(V+E) 计算 — 耗时仅为个位数毫秒
- 每个大小 > 1 的 SCC 都会被标记为循环依赖簇
- 即使在循环依赖严重的代码库中,级联层级也准确无误
2. 综合风险评分
将五种信号合并为一个 0–1 风险评分:
| 信号 | 权重 | 衡量内容 |
|---|---|---|
| 入度 | 30% | 有多少文件依赖此文件 |
| 稳定性指数 | 20% | I = Ce/(Ca+Ce) — 数值越低 = 基础文件 = 修改风险越高 |
| 圈复杂度 | 20% | 内部条件分支复杂度(基于正则表达式,支持 8 种语言) |
| 级联深度 | 15% | 影响传播的层数 |
| PageRank | 15% | 在依赖图中的递归重要性 |
auth_service.ts → Risk: 0.82 (CRITICAL)
Fan-in: 24, Stability: 0.12, Complexity: 47, Cascade: 4 levels, PageRank: 99th
string_utils.ts → Risk: 0.31 (LOW)
Fan-in: 18, Stability: 0.85, Complexity: 3, Cascade: 1 level, PageRank: 42nd
AI Agent 现在可以根据阈值做出决策:< 0.3 时继续,0.3–0.7 时警告,> 0.7 时阻止。
3. 历史变更耦合
静态导入会遗漏隐藏依赖 — 这些文件总是一起变更,却不存在导入关系。SYKE 会分析 git 历史(最近 500 次提交),找出这些逻辑耦合。
auth_service.ts changed →
[Dependency Graph] auth_provider.ts, login_screen.ts
[Git Coupling — Hidden Dependencies]
config/auth_config.json (85% confidence, 12 co-changes)
styles/auth.css (72% confidence, 8 co-changes)
- 可发现静态分析完全遗漏的 15–30% 受影响文件
- 过滤大型提交(>20 个文件),避免噪声
- 5 分钟缓存,自动刷新
4. 使用 PageRank 评估文件重要性
简单的入度计数会将所有依赖文件视为同等重要。PageRank 会计算递归重要性 — 被许多重要文件导入的文件,其排名会高于被许多叶子文件导入的文件。
Before: utils.ts ranked #1 (25 dependents — but all are leaf components)
After: auth.ts ranked #1 (20 dependents — 15 of which are core modules)
- 使用阻尼因子 0.85 的标准幂迭代
- 启动时预计算,文件变更时增量更新
- 每个文件都会获得排名位置和百分位数(例如,“245 个文件中排名第 3,位于第 99 百分位”)
5. 增量图更新 + 查询记忆化
对于大型代码库(10K+ 个文件),完整重建图的速度太慢。SYKE 现在只更新已变更文件的边,并且只使受影响的缓存条目失效。
Before: 1 file changed → re-parse all 500 files → 2+ seconds
After: 1 file changed → re-parse 1 file → edge diff → 50ms
Same file queried again → cache hit → O(1) instant
- 反向索引可按 O(affected) 使缓存失效,而非 O(cache_size)
- 边变更后会重新计算 SCC 和 PageRank(处理 10K 个文件仍 < 100ms)
- 提供含命中/未命中诊断信息的 500 条目 LRU 缓存
语言支持
自动检测,零配置:Dart/Flutter、TypeScript/JavaScript、Python、Go、Rust、Java、C++、Ruby。
Web 控制面板
在 localhost:3333 提供实时依赖图可视化,包含:
- 交互式 3D 节点图(点击任意文件即可查看其连接)
- 实时级联监控
- 风险等级指示器
- 服务离线检测与自动重连
配置
SYKE 从 ~/.syke/config.json(主要配置文件)读取配置,并允许通过环境变量覆盖:
| 配置键 | 环境变量 | 描述 | 必需 |
|---|---|---|---|
licenseKey | SYKE_LICENSE_KEY | 控制面板中的 Pro 许可证密钥 | 否(免费版无需密钥即可使用) |
geminiKey | GEMINI_KEY | 用于 ai_analyze 的 Google Gemini API 密钥 | 否(任意一个 AI 密钥即可) |
openaiKey | OPENAI_KEY | 用于 ai_analyze 的 OpenAI API 密钥 | 否(任意一个 AI 密钥即可) |
anthropicKey | ANTHROPIC_KEY | 用于 ai_analyze 的 Anthropic API 密钥 | 否(任意一个 AI 密钥即可) |
aiProvider | SYKE_AI_PROVIDER | 指定 AI 提供商:gemini、openai 或 anthropic | 否(自动选择) |
port | SYKE_WEB_PORT | 控制面板端口(默认:3333) | 否 |
完整配置示例(~/.syke/config.json):
{
"licenseKey": "SYKE-XXXX-XXXX-XXXX-XXXX",
"geminiKey": "AIza...",
"openaiKey": "",
"anthropicKey": "",
"port": 3333
}
推荐工作流
You (developer) AI Agent SYKE
| | |
|-- "Add feature X" -->| |
| |-- modifies files |
| |-- modifies files |
| |-- modifies files |
| | |
| |-- gate_build --->|
| | |-- scans graph
| | |-- checks impact
| |<-- PASS/FAIL ----|
| | |
|<-- "Done. Safe to | |
| build." ----------| |
创始 100 名用户 — 早期采用者免费享用 Pro
我们将为前 100 名开发者提供完整的 Pro 权限,有效期 30 天——无需信用卡,不附加任何条件。
你将获得:
- 全部 8 个 MCP 工具及高级算法(SCC、PageRank、风险评分、Git 耦合)
- 无限文件数、多项目支持
- 实时级联监控 + Web 仪表板
- AI 语义分析(BYOK — Gemini、OpenAI 或 Claude)
如何领取:
- 在 syke.cloud 注册
- 为此仓库点 Star
- 在你的仪表板中点击“I Starred” → 解锁 30 天 Pro
名额有限。领完即止。
源代码此仓库包含 Free 层级源代码——核心依赖关系图引擎、语言插件和 3 个免费 MCP 工具(gate_build、check_safe、get_dependencies)。Pro 和 Cortex 功能(高级算法、AI 分析、实时监控、Web 仪表板)以编译代码形式包含在 npm 包中。
许可证
你可以自由使用、修改和分发 SYKE,但有两项限制:
- 不得提供托管服务 — 你不能向第三方提供 SYKE 托管服务。
- 不得规避许可证密钥 — 你不能移除、禁用或绕过许可证密钥功能。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。