开源:神经风暴图 ⚡
·
“风暴、重构、实时。” — Neural Storm Graph 的哲学。
这是一个基于Storm Skeleton协议的超模块化实时关系图引擎。它专为动态上下文提取和AI内存结构化而设计,避免了传统仪表盘的臃肿。
核心特性(Features)
- ⚡实时图谱(Real-time Graph):通过语义抽象即时构建关系图。
- 🦴风暴骨架(Storm Skeleton):实现最大性能和无限 AI 上下文迭代的绝对最低限度执行框架。
- 🛡️彻底无感(Zero-Bloat):严格专注于内存映射和节点逻辑。没有 UI 开销。
- 🎯实时定位(Real-time Positioning):光标感知上下文引擎——准确知道你在代码库中的位置。
目录结构 (Structure)
<span style="background-color:#151b23"><span style="color:#f0f6fc"><span style="color:#f0f6fc"><span style="background-color:#151b23"><code>neural-storm-graph/
├── core/
│ ├── __init__.py # 包入口
│ ├── storm_skeleton.py # 风暴骨架引擎(调度、推理、骨架扫描)
│ └── realtime_graph.py # 实时网络流与关系节点提取算法
├── test_storm.py # 完整测试套件 (45 tests)
├── requirements.txt
└── README.md
</code></span></span></span></span>
功能矩阵(特征矩阵)
Storm Skeleton — 骨架引擎
| API | 功能 | 复杂度 |
|---|---|---|
skeleton_scan() |
极速正则重建扫描,对 SyntaxError 完全容错 | O(文件) |
deep_scan() |
AST精确模式,自动降级到正则 | O(文件数 × AST) |
storm_center() |
风暴中心多维定位(关键词+中心度+复杂度+时间) | O(符号) |
decompose() |
DAG依赖推理+循环检测+体系任务ID | O(V+E) |
impact_analysis() |
BFS 影响范围分析 | O(V+E) |
file_overview() |
单文件概要 | O(1) |
get_snippet() |
符号源码 | O(1) |
实时图谱 — 实时图谱 + 定位
| API | 功能 | 复杂度 |
|---|---|---|
locate() |
实时定位(符号+调用者+被调用者+兄弟+面包碎片) | O(n) 文件符号 |
locate_symbol() |
通过FQN直接定位 | 在) |
trace_call_chain() |
上游下游调用链追踪 | O(V+E) |
update_file() |
增量单文件更新 + 积分计算 + 事件通知 | O(1) |
batch_update() |
批量增量更新 | O(文件) |
heatmap() |
文件热力图(变更频率+引用密度+时间) | O(文件) |
search_symbols() |
模糊符号搜索 + 类型/文件过滤 | O(符号) |
dependency_graph() |
文件级依赖图(BFS展开) | O(V+E) |
export_graph() |
导出全量节点+边(JSON,前置可视化用) | O(V+E) |
export_mermaid() |
导出美人鱼流程图(Markdown嵌入) | O(V+E) |
on_change()/off_change() |
文件变更事件订阅/取消 | O(1) |
快速入门
from core import StormSkeleton, RealtimeGraph
from core.realtime_graph import CursorPosition
# 1. 骨架扫描
skeleton = StormSkeleton("/path/to/your/project")
report = skeleton.skeleton_scan()
print(f"Scanned {report['files_scanned']} files, "
f"{report['total_symbols']} symbols in {report['scan_time_ms']}ms")
# 2. 风暴中心定位 — 找到项目中最相关的核心节点
center = skeleton.storm_center("修复限流中间件")
for node in center["top_nodes"][:5]:
print(f" {node['fqn']} (score: {node['total']})")
# 3. DAG 依赖推理
dag = skeleton.decompose("重构用户服务")
print(f"Decomposed into {dag['total_nodes']} nodes, cycles: {dag['cycles']}")
# 4. 实时图谱 + 光标定位
graph = RealtimeGraph(skeleton)
ctx = graph.locate(CursorPosition("src/middleware.py", 42))
print(f"Symbol: {ctx.symbol.name if ctx.symbol else 'N/A'}")
print(f"Callers: {len(ctx.callers)}, Callees: {len(ctx.callees)}")
print(f"Breadcrumb: {' > '.join(ctx.breadcrumb)}")
# 5. 增量更新 + 事件监听
graph.on_change(lambda c: print(f"[CHANGE] {c.file}: +{len(c.added)} -{len(c.removed)}"))
change = graph.update_file("src/middleware.py")
# 6. 热力图
for entry in graph.heatmap()[:5]:
print(f" {entry['file']}: heat={entry['heat']}")
# 7. 调用链追踪
chain = graph.trace_call_chain("src/main.py::App.run", direction="both")
# 8. 导出 Mermaid 图
print(graph.export_mermaid(rel_path="src/main.py"))
零依赖(零依赖)
纯Python stdlib实现,无需安装任何外部包。Python >= 3.10。
测试(测试)
python -m pytest test_storm.py -v # 45/45 tests, < 1s
设计哲学(Philosophy)
- 正则优先,AST辅助:重构扫描用正则——即使文件有语法错误也不中断。AST仅在需要精确调用链时启用。
- 增量优先:单文件变更O(1)更新,不触发全量重建。
- 事件驱动:文件变更 → 积分计算 → 回调通知。
- 多维评分:风暴中心不是简单的文本搜索,而是结合关键词、中心度、复杂度、时间的四维评分。
清晰除一切华而不实的构成层,保留最纯粹的数据引擎心脏。风暴即思考,图谱即记忆。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)