DoraMate :从可视化编排到本地运行闭环的阶段性复盘
一、写在前面这篇文章不做产品宣传也不讲“未来蓝图”只做一件事把 DoraMate 当前 MVP 阶段到底做成了什么说清楚。很多项目在这个阶段容易出现一个问题功能看起来很多但很难一句话说清“到底能不能用”。所以这篇复盘的核心标准很简单——不是看功能数量而是看主链路是否闭环。二、MVP 到底要解决什么问题DoraMate 从一开始就不是要“做一个画图工具”而是围绕 DORA 生态补一层关键能力在实际使用 YAML 描述数据流时普遍存在几个问题YAML 可读性差结构复杂后难以理解节点之间的关系不直观修改配置后很难快速确认整体拓扑变化本地运行与调试反馈分散、不集中因此MVP 的目标非常明确打通一条完整、真实可用的数据流工作链路。这条链路是编辑 → 保存 → 运行 → 观察 → 停止如果这条链路打不通那再多功能也只是“编辑器原型”只有链路打通才算一个“可用工具”。三、当前 MVP 已经完成了什么从当前仓库实现来看DoraMate 已经完成了“可视化编排 本地运行 运行观测”的主体闭环。可以拆成 6 个关键模块来看。1. 可视化编辑器已经成立前端不再是展示层而是一个可持续使用的工作台已经具备节点拖拽添加连线与断开节点属性编辑环境变量配置多选 / 框选复制粘贴子图自动布局撤销 / 重做最近文件管理快捷键支持这意味着它已经具备“长期使用价值”而不是 demo 页面。2. YAML 与图模型已经打通这是判断 MVP 是否成立的关键点之一。当前已经实现YAML → 可视化图解析恢复可视化图 → YAML导出sidecar 布局信息保存连线自动维护输入映射这意味着DoraMate 不是“画完导出一次 YAML”而是围绕同一份数据流持续工作。3. LocalAgent 主链路成立浏览器无法直接操作文件系统调用本地进程打开原生文件对话框因此 DoraMate 引入了 LocalAgent本地代理。当前已实现能力run / stop / statusstatus-streamWebSocketlogs日志流本地文件读写目录选择 / 文件打开模板配置管理这一层的意义是把 DoraMate 从“浏览器工具”变成“本地可执行工具”。4. 运行观测链路完整不是简单的“运行按钮 成功提示”而是完整观测体系状态面板日志面板WebSocket 实时流轮询 fallbackbacklog 回放日志过滤级别 / 节点 / 关键词这让数据流运行不再是黑盒。5. 文件系统工作流闭环DoraMate 采用纯文件系统架构目前已支持打开本地 YAML新建数据流直接保存 / 另存为导出 YAML最近文件管理工作目录管理没有数据库完全基于文件。优点很直接易迁移易备份易排错符合 DORA 使用习惯6. C# 扩展能力开始落地这部分是很多人容易低估的点。当前仓库中已经包含dora-api-csharpC# Node 开发能力NativeAOT OperatorArrow RecordBatch 数据支持samples / smoke / regression这意味着DoraMate 已经不只是“使用节点”而是开始支持“开发节点”。四、从用户视角看主链路是否闭环用最简单的方式判断1. 编辑阶段可以完成节点搭建连线参数配置布局调整2. 保存阶段可以完成打开 YAML新建 / 保存 / 另存为最近文件3. 运行阶段可以完成设置工作目录启动运行调用本地 runtime4. 观察阶段可以完成查看状态查看日志过滤信息5. 停止阶段可以完成停止运行清理状态回到编辑态结论非常明确核心路径已经闭环。五、这次 MVP 验证了哪些技术路线这部分比功能更重要。1. Rust 全栈是可行的当前技术组合前端Leptos WASM本地代理Axum Tokio验证结果可以支撑高交互编辑器可以处理复杂状态可以稳定连接本地运行不是“尝试”而是“已经跑起来”。2. 本地代理模式是正确的架构分层前端交互与建模LocalAgent系统边界Runtime执行优势边界清晰安全性更高可维护性更强3. 纯文件系统架构成立没有数据库依赖YAMLsidecar本地配置结论对本地工具来说这是更优解。4. 前端已经进入“应用级结构”已经形成稳定组件体系工具栏节点面板编辑画布属性面板状态 / 日志面板这意味着项目从“堆功能”进入“可维护结构”。5. 多语言扩展路线被验证尤其是 C#Node进程级OperatorNativeAOTArrow 数据面结论DoraMate 已经具备承接多语言生态的基础。六、当前还没完全收口的部分MVP 已成型但还没“稳定”。1. 真实环境验证不够多需要更多不同 DORA 场景验证稳定性。2. LocalAgent 仍需加固重点问题启动 race conditiontimeout 恢复异常退出处理残留进程清理3. 缺少 E2E 回归门禁目前有测试但不覆盖完整主链路风险后续改动容易破坏核心流程。4. C# 扩展仍偏开发者侧当前SDK ✔示例 ✔验证 ✔但还缺模板化一键接入前端整合体验七、本轮 MVP 最重要的工程结论这部分是可以复用到你未来所有项目里的。1. 本地工具必须分层不要试图让前端做一切。2. 主链路优先于细节优化先打通编辑 → 保存 → 运行 → 观察 → 停止再谈体验。3. 高交互系统必须明确状态归属否则后期一定混乱。4. 文档必须跟实现同步否则没有工程价值。5. 多语言支持必须从“可运行样例”开始否则只是 API 幻觉。八、下一阶段该做什么不是继续“做新功能”而是做收口。优先级建议1. 强化运行主链路稳定性重点run / status / stop2. 加固 LocalAgent这是整个系统最关键的中间层。3. 建立 E2E 回归保证主链路不会被破坏。4. 推进 C# 模板化目标是降低接入门槛而不是再验证技术。九、最终结论可以用一句话总结 DoraMate 当前阶段DoraMate 已经从“概念验证”进入“主链路闭环完成正在走向工程化稳定”的 MVP 阶段。拆开来看是可视化编辑器 ✔YAML 双向转换 ✔本地运行链路 ✔状态与日志观测 ✔多语言扩展雏形 ✔当然它还不是最终形态稳定性还要继续打磨LocalAgent 还要加固E2E 还要补齐多语言还要产品化但最关键的一步已经完成它不仅能“画”还能“跑”还能“看”还能“扩展”。这才是一个工具真正开始成立的标志。