当前位置: 首页 > news >正文

强烈推荐一个面向 .NET 的代码优先、事件驱动的工作流框架

项目简介

在 AI Agent 和自动化流程日益复杂的今天,如何用简洁的方式定义、调试和执行多步骤工作流,成了 .NET 开发者的一大痛点。多数工作流引擎要么依赖 JSON/YAML 配置文件,要么需要可视化拖拽,代码可控性差、调试困难。

StepWise 提供了一种截然不同的思路——Code-First(代码优先)。它是一个基于 .NET 的事件驱动工作流框架,让你直接用 C# 方法定义工作流步骤,通过 Attribute 声明依赖关系,框架自动解析执行顺序、并行调度无依赖的步骤,同时还提供一套内置 WebUI 让你在浏览器中实时可视化工作流的执行过程。

项目由微软 AutoGen 团队成员 LittleLittleCloud 开发,采用 MIT 协议开源,已发布到 NuGet,目前在 GitHub 上获得 149 Star。

代码即工作流

StepWise 的核心理念是"一个方法就是一个步骤"。

你只需要给方法加上 [Step] 特性,它就变成了工作流中的一个节点;用 [DependOn] 声明步骤之间的依赖;用 [FromStep] 传递上游步骤的输出。一切都是纯 C# 代码,享受完整的类型安全、IDE 智能提示和重构支持:

[Step(description: "boil water")] [DependOn(nameof(Start))] public async Task<string> BoilWater() { await Task.Delay(2000); return"Boiled water in 2 seconds"; } [Step(description: "cook vegetables")] [DependOn(nameof(CutVegetables))] [DependOn(nameof(BoilWater))] public async Task<string> CookVegetables( [FromStep(nameof(CutVegetables))] string vegetables, [FromStep(nameof(BoilWater))] string water) { await Task.Delay(4000); return"Cooked vegetables"; }

自动并行执行 StepWiseEngine 会分析所有步骤的依赖关系图,没有依赖关系的步骤自动并行执行。以"准备晚餐"为例——烧水和切菜可以同时进行,煮菜必须等烧水和切菜都完成才开始。你只需声明依赖,调度由框架搞定。

内置 WebUI 可视化

StepWise 自带一套基于 Next.js + shadcn/ui 构建的 Web 界面。启动项目后访问浏览器,即可看到工作流的 DAG 依赖图,实时观察每个步骤的执行状态、输入输出和耗时。调试工作流不再靠想象。

AI 能力深度集成

这是 StepWise 区别于传统工作流引擎的关键亮点:

Microsoft.Extensions.AI 集成:工作流步骤可以无缝调用 IChatClient,在流程中嵌入 LLM 对话、文本生成等 AI 能力 MCP 协议支持:一行配置即可将 StepWise 工作流变成 MCP Server,让 Claude、Cursor 等 AI 助手直接调用你的工作流 内置 AI 助手 Geeno:在 WebUI 中直接与 AI 对话,辅助运行和分析工作流。

项目提供了大量开箱即用的示例,涵盖基础模式(顺序执行、并行、循环、条件分支)和 AI 场景(链式思考 CoT、文档生成、代码解释器、图像分类、OCR、文本生图、内容安全检测等)。

如何使用 安装模板,一键创建项目:

dotnet new -i LittleLittleCloud.StepWise.Template dotnet new stepwise-console dotnet run

启动后访问 http://localhost:5123,即可在浏览器中看到工作流可视化界面。

也可以直接引入 NuGet 包:

dotnet add package LittleLittleCloud.StepWise

然后在代码中定义工作流类,用 [Step] 和 [DependOn] 标记方法,注册到 StepWiseServer,一切就绑定好了。

StepWise 特别适合以下场景:AI Agent 多步编排、数据处理管道、CI/CD 发布流程、需要人工审批的混合工作流,以及任何你希望"用代码定义、用浏览器调试"的自动化任务。

http://www.jsqmd.com/news/636722/

相关文章:

  • 2026年四月称重混料机实力厂商盘点与采购全攻略 - 2026年企业推荐榜
  • 通信协议不是“配菜”!AIAgent架构师必须掌握的5层协议栈设计法(含OPC UA、Rust-based Actor Channel、W3C DID-Comm兼容性对照表)
  • AIAgent工具调度延迟超2.3s?奇点大会实测TOP3低延迟优化方案(含eBPF增强型Observability模块)
  • 四层架构解密:LogicFlow如何实现精准节点穿透与复杂流程图交互
  • 2026年4月新发布:五大电容回收服务商横向评测与选择指南 - 2026年企业推荐榜
  • CanFestival 主站部署实战:从源码到运行的完整指南
  • 2026现阶段智能色粉色母两用机选购指南:五大实力厂家深度解析 - 2026年企业推荐榜
  • **元宇宙社交新范式:基于 Rust 构建去中心化虚拟身份系统**在元宇宙浪潮席卷全球的今天,社交不再是简单的文字与图像传递,而是*
  • 如何安全高效地本地导出浏览器Cookie:Get cookies.txt LOCALLY完整指南
  • 手把手教你用Zynq PS端CAN控制器实现250Kbps扩展帧通信(附源码解析)
  • 深入Android系统安全:从DAC到MAC,SEPolicy如何重塑应用沙盒与进程隔离
  • Prompt | 如何给 code agent 写 prompt(个人经验总结)
  • 自主系统伦理评估新框架
  • 2026年4月新发布:河北机场护栏口碑与服务商综合实力深度解析报告 - 2026年企业推荐榜
  • 若依框架实战:代码生成器中的树形结构设计与实现
  • 为什么你的AIAgent总在“半途放弃”?目标分解粒度失配的4个信号,今天必须诊断
  • 终极指南:如何为Masa Mods安装完整中文汉化包,让Minecraft模组界面说中文
  • 为什么你的ONVIF设备总报错?从TCP连接失败到404问题的完整避坑指南
  • 云原生灾难恢复最佳实践
  • 从Mask RCNN到PointRend:用Boundary IoU重新评估你的分割模型(附LVIS数据集测试脚本)
  • 万物识别OCR行业应用案例:从教育到金融,图文识别落地全解析
  • 2026新加坡留学生求职服务推荐榜:留学生求职机构避坑/留学生求职辅导/留学生海外求职/留学生面试不通过/选择指南 - 优质品牌商家
  • AEUX终极指南:如何快速将Sketch/Figma设计稿转换为After Effects动画
  • Windows下ClaudeCode+通义千问3-Coder-Plus保姆级部署指南(含API配置避坑)
  • 深入解析伽罗瓦/计数器模式(GCM):原理、应用与安全实践
  • 2026年第二季度高精度温控仪选型聚焦:余姚市视迈电子技术有限公司的硬核实力解析 - 2026年企业推荐榜
  • Genspark Super Agent 实战测评:它能替代你的日常工具吗?(附避坑指南)
  • 从“被收录”到“被信任”:GEO优化效果监控的决策框架与执行路径
  • HyperMesh文件操作与面板功能实战指南:从基础到高效应用
  • 2026四川不锈钢风管厂家排行:成都风管加工/排烟通风管道/消防排烟风管/空调通风管道/螺旋风管/角钢法兰风管/选择指南 - 优质品牌商家