9t29zhmwdh-coder/StateForge
GitHub: 9t29zhmwdh-coder/StateForge
一款可视化有限状态机构建器,能从代码、日志和自然语言中自动提取并生成多语言状态机。
Stars: 0 | Forks: 0
StateForge
[🇩🇪 德语版本](README.de.md)
**从代码、日志和 UI 流程中自动生成状态机 —— 基于 Rust + Tauri 构建。**
StateForge 会自动从源代码、日志文件、API 序列或自然语言描述中提取状态机,并将其可视化为交互式图表。它可以帮助你理解复杂流程、自动生成文档,并以你的目标语言重新生成干净的状态机代码。




## 功能
| 功能 | 描述 |
|---|---|
| **代码解析器** | 从 Swift、Kotlin、TypeScript、Go、Rust 中提取状态机 |
| **日志分析器** | 从日志文件(JSON、纯文本、nginx、syslog)中重建状态流 |
| **图表引擎** | 渲染 Mermaid、GraphViz DOT、SVG 以及交互式 React Flow |
| **代码生成器** | 生成 5 种语言的符合惯例的状态机代码 |
| **AI 集成** | 本地 AI (Ollama) —— 增强状态机或从自然语言中创建 |
| **插件系统** | 通过 Rust trait 使用自定义解析器进行扩展 |
## 环境要求
- [Rust](https://rustup.rs/) 1.77+
- [Node.js](https://nodejs.org/) 20+
- [Tauri CLI v2](https://tauri.app/):`cargo install tauri-cli`
- macOS / Windows / Linux
## 快速开始
```
git clone https://github.com/9t29zhmwdh-coder/StateForge
cd StateForge
cd frontend && npm install && cd ..
cargo tauri dev
```
### 使用方法
1. **导入** —— 粘贴源代码、日志文件,或使用自然语言描述你的流程
2. **分析** —— StateForge 会自动提取状态、转换、事件和守卫条件
3. **可视化** —— 支持拖拽的图表编辑器,与提取的模型实时同步
4. **生成** —— 导出 Swift、Kotlin、TypeScript、Go 或 Rust 的干净状态机代码
## 支持的输入
| 输入 | 格式 |
|---|---|
| **Swift** | Enums、TCA Reducers、`@Observable` / `@Published` |
| **Kotlin** | Sealed classes、`when` 表达式、ViewModel state |
| **TypeScript** | XState `createMachine`、联合类型、Redux reducers |
| **Go** | iota 常量、switch FSMs、`SetState()` / `Transition()` |
| **日志** | key=value、JSON、Nginx、Docker、Syslog |
## 图表格式
| 格式 | 适用场景 |
|---|---|
| 交互式 (React Flow) | 拖拽编辑、实时同步 |
| Mermaid stateDiagram-v2 | Markdown 文档、GitHub |
| GraphViz DOT | 高级布局、CI pipelines |
| SVG | 独立导出、演示文稿 |
**作者:** [Rafael Yilmaz](https://github.com/9t29zhmwdh-coder) · **状态:** 框架预览版 · **最后更新:** 2026 年 6 月
标签:AI风险缓解, MITM代理, Rust, Tauri, 代码生成, 可视化工具, 可视化界面, 本地大模型, 渗透测试工具, 状态机, 网络流量审计, 通知系统