代码影响分析工具

SYKE是一款AI代码影响分析工具,用于监控AI修改的文件、映射依赖图、检测级联故障,并在构建前阻止潜在问题扩散。

  • by khalomsky
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 khalomsky/syke

使用说明

SYKE——你的代码库有脉搏

人工智能代码影响分析MCP服务器。 SYKE监控你的AI接触到的每个文件,绘制依赖关系图,检测级联破坏,并在损坏蔓延之前建立闸门。

使用 克劳德代码, 光标, 帆板运动,以及任何与MCP兼容的AI编码代理。

运作原理

  1. 启动时,SYKE扫描您的源目录,并使用静态导入分析构建完整的依赖关系图。
  2. 您的AI代理可以自由修改文件 --正常工作期间不得中断。
  3. 构建/部署之前,AI呼叫 gate_build 检查所有更改是否安全。
  4. 如果依赖关系中断,SYKE检测级联故障,并使用 FAIL 判决。
  5. 仪表板 显示了带有风险指标的依赖关系图的实时可视化。

SYKE是一个安全网,而不是看门人。 它不会在工作时阻止你的AI——它会在你发货前捕捉到你的AI错过的东西。

快速开始

1.创建配置文件

创建 ~/.syke/config.json:

{
  "licenseKey": "SYKE-XXXX-XXXX-XXXX-XXXX",
  "geminiKey": "your-gemini-api-key"
}

获取您的许可证密钥 syke.cloud/仪表板。您只需要一个AI密钥。支持: geminiKey, openaiKey, anthropicKey.

2.注册MCP服务器

克劳德代码:

claude mcp add syke -- npx @syke1/mcp-server@latest

光标 (.cursor/mcp.json):

{
  "mcpServers": {
    "syke": {
      "command": "npx",
      "args": ["@syke1/mcp-server@latest"]
    }
  }
}

帆板运动 (~/.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代理在每次任务后自动运行SYKE的安全检查,无需手动提示。

4.重新启动AI代理

SYKE会自动检测您的项目语言,并在启动时构建依赖关系图。打开 http://localhost:3333 查看您的实时仪表板。

特性

8个MCP工具

工具 层级 描述
gate_build 免费 强制性预构建检查。 在任何构建或部署之前返回PASS/WARN/FAIL判定。
check_safe 免费 快速单线安全判断:高/中/低/无风险。
get_dependencies Free 列出文件的内部导入(正向依赖关系)。
analyze_impact 专业版 使用SCC、风险评分和git耦合进行全面影响分析。
get_hub_files 专业版 按PageRank重要性分数对文件进行排名。
refresh_graph 专业版 重新扫描所有源文件并重建依赖关系图。
ai_analyze 专业版 文件及其依赖项的AI语义分析(Gemini/OpenAI/Claude)。
check_warnings 专业版 实时监控可能破坏依赖关系的文件更改警报。

多AI提供商支持

SYKE支持三个AI提供者进行语义分析。带上自己的钥匙:

提供者 模型 配置键 环境变量
谷歌双子座 gemini-2.5-flash geminiKey GEMINI_KEY
OpenAI gpt-4o-mini openaiKey OPENAI_KEY
人类学 claude-sonnet-4-20250514 anthropicKey ANTHROPIC_KEY

自动选择: SYKE使用第一个可用密钥(Gemini>OpenAI>Anthropic)。 力量提供者: 集 aiProvider 在配置中(或 SYKE_AI_PROVIDER env-var)进行覆盖。

高级图形算法

SYKE超越了简单的依赖计数。五种生产级算法协同工作,提供精确、快速和上下文丰富的影响分析——所有这些算法都在运行 本地AI代币成本为零.

1.SCC凝聚+拓扑排序

循环依赖关系是误导性影响分析的首要来源。SYKE使用 塔扬算法 为了检测所有强连接组件,将它们压缩成一个干净的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% 冲击传播了多少层
网页排名 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代理现在可以做出阈值决策:如果<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

简单的球迷计数平等对待所有家属。 网页排名 计算递归重要性——一个由许多人导入的文件 重要 文件的排名高于许多叶子文件导入的文件。

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(受影响)缓存无效,而不是O(cache_size)
  • 边缘更改后重新计算SCC和PageRank(对于10K文件,仍然<100ms)
  • 具有命中/未命中诊断功能的500条LRU缓存

语言支持

自动检测,零配置: 飞镖/颤振, Types/JavaScript, python, 走, 锈, Java, C, 红宝石.

Web仪表板

实时依赖关系图可视化 localhost:3333 与:

  • 交互式三维节点图(单击任何文件查看其连接)
  • 实时级联监测
  • 风险等级指标
  • 具有自动重新连接功能的服务器脱机检测

配置

SYKE读自 ~/.syke/config.json (主要)具有环境变量覆盖:

配置键 环境变量 描述 必填
licenseKey SYKE_LICENSE_KEY 来自仪表板的专业许可证密钥 否(免费版无需)
geminiKey GEMINI_KEY Google Gemini API密钥 ai_analyze 否(任何一个AI密钥)
openaiKey OPENAI_KEY 的OpenAI API密钥 ai_analyze 否(任何一个AI密钥)
anthropicKey ANTHROPIC_KEY 用于 ai_analyze 否(任何一个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." ----------|                  |

Founding 100——早期采用者的免费专业版

我们正在给 前100名开发人员 完全专业访问权限 30天 --没有信用卡,没有附加条件。

您将获得:

  • 所有8个具有高级算法的MCP工具(SCC、PageRank、风险评分、Git耦合)
  • 无限文件,多项目支持
  • 实时级联监控+网络仪表板
  • 人工智能语义分析(BYOK——Gemini、OpenAI或Claude)

如何索赔:

  1. 注册地址: syke.cloud
  2. 标记此回购
  3. 点击你的“我主演” 仪表盘 → 30 days Pro已解锁

名额有限。一旦他们走了,他们就走了。

源代码此存储库包含 免费层源代码 --核心依赖图引擎、语言插件和3个免费的MCP工具(gate_build, check_safe, get_dependencies).Pro和Cortex功能(高级算法、人工智能分析、实时监控、网络仪表板)包含在 npm包 作为编译代码。

许可证

弹性许可证2.0(ELv2)

您可以自由使用、修改和分发SYKE,但有两个限制:

  1. 无托管服务 --您不能将SYKE作为托管/管理服务提供给第三方。
  2. 无许可证密钥规避 --您无法删除、禁用或绕过许可证密钥功能。