{"id":36420692,"url":"https://github.com/nemoob/simpleflow","last_synced_at":"2026-01-11T17:33:47.383Z","repository":{"id":309290381,"uuid":"1020546046","full_name":"nemoob/simpleflow","owner":"nemoob","description":"一个轻量级、易用的流程编排框架，专为简化复杂业务流程而设计。","archived":false,"fork":false,"pushed_at":"2025-08-18T16:03:45.000Z","size":124,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-18T17:27:29.151Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nemoob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-16T03:36:31.000Z","updated_at":"2025-08-18T16:03:49.000Z","dependencies_parsed_at":"2025-08-11T04:08:47.851Z","dependency_job_id":"295671c1-9e40-4704-89c1-0ae035731517","html_url":"https://github.com/nemoob/simpleflow","commit_stats":null,"previous_names":["nemoob/simpleflow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nemoob/simpleflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemoob%2Fsimpleflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemoob%2Fsimpleflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemoob%2Fsimpleflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemoob%2Fsimpleflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nemoob","download_url":"https://codeload.github.com/nemoob/simpleflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemoob%2Fsimpleflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28315879,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T14:58:17.114Z","status":"ssl_error","status_checked_at":"2026-01-11T14:55:53.580Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-11T17:33:46.861Z","updated_at":"2026-01-11T17:33:47.360Z","avatar_url":"https://github.com/nemoob.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple Flow\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Java Version](https://img.shields.io/badge/Java-8%2B-blue.svg)](https://www.oracle.com/java/)\n[![Maven Central](https://img.shields.io/badge/Maven%20Central-1.0.0--SNAPSHOT-green.svg)](https://search.maven.org/)\n\n一个轻量级、易用的流程编排框架，专为简化复杂业务流程而设计。\n\n## ✨ 特性\n\n- 🚀 **轻量级**: 零依赖核心，可独立运行或集成Spring Boot\n- 📝 **多种定义方式**: 支持注解、YAML配置、编程式API\n- 🔀 **丰富的执行模式**: 串行、并行、条件分支、脚本条件、循环执行\n- 🛠️ **灵活的集成**: 支持Spring Boot自动配置和独立使用\n- 📊 **完善的监控**: 内置执行日志和状态跟踪\n- 🔧 **易于扩展**: 插件化架构，支持自定义执行器\n\n## 🚀 快速开始\n\n### 环境要求\n- JDK 8+\n- Maven 3.6+\n\n### 安装\n\n#### Maven\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.nemoob\u003c/groupId\u003e\n    \u003cartifactId\u003esimple-flow-core\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.0-SNAPSHOT\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n#### Spring Boot\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.nemoob\u003c/groupId\u003e\n    \u003cartifactId\u003esimple-flow-spring-boot-starter\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.0-SNAPSHOT\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### 基本使用\n\n#### 1. 注解方式（推荐）\n\n```java\n@Component\npublic class UserService {\n    \n    @SimpleFlow(\"user-registration\")\n    public void registerUser() {\n        validateUser();\n        saveUser();\n        sendWelcomeEmail();\n    }\n    \n    @Step(\"validate-user\")\n    public void validateUser() {\n        // 用户验证逻辑\n    }\n    \n    @Step(\"save-user\")\n    public void saveUser() {\n        // 保存用户逻辑\n    }\n    \n    @Step(\"send-email\")\n    public void sendWelcomeEmail() {\n        // 发送邮件逻辑\n    }\n}\n```\n\n#### 2. YAML配置方式\n\n```yaml\nflows:\n  user-registration:\n    name: \"用户注册流程\"\n    steps:\n      - id: \"validate-user\"\n        type: \"SERVICE\"\n        beanName: \"userService\"\n        methodName: \"validateUser\"\n      - id: \"save-user\"\n        type: \"SERVICE\"\n        beanName: \"userService\"\n        methodName: \"saveUser\"\n      - id: \"send-email\"\n        type: \"SERVICE\"\n        beanName: \"userService\"\n        methodName: \"sendWelcomeEmail\"\n```\n\n#### 3. 编程式API\n\n```java\n// 创建流程\nFlowDefinition flow = FlowDefinition.builder()\n    .id(\"user-registration\")\n    .name(\"用户注册流程\")\n    .addStep(StepDefinition.serviceStep(\"validate-user\", \"userService\", \"validateUser\"))\n    .addStep(StepDefinition.serviceStep(\"save-user\", \"userService\", \"saveUser\"))\n    .addStep(StepDefinition.serviceStep(\"send-email\", \"userService\", \"sendWelcomeEmail\"))\n    .build();\n\n// 执行流程\nFlowEngine engine = new FlowEngine();\nFlowExecutionResult result = engine.execute(flow, new FlowContext());\n```\n\n## 🔥 高级特性\n\n### 条件分支\n```yaml\nsteps:\n  - id: \"age-check\"\n    type: \"SCRIPT_CONDITIONAL\"\n    scriptType: \"kotlin\"\n    script: |\n      val age = context.get(\"age\") as Int\n      age \u003e= 18\n    trueSteps:\n      - id: \"adult-process\"\n        type: \"SERVICE\"\n        beanName: \"userService\"\n        methodName: \"processAdult\"\n    falseSteps:\n      - id: \"minor-process\"\n        type: \"SERVICE\"\n        beanName: \"userService\"\n        methodName: \"processMinor\"\n```\n\n### 并行执行\n```yaml\nsteps:\n  - id: \"parallel-tasks\"\n    type: \"PARALLEL\"\n    steps:\n      - id: \"send-email\"\n        type: \"SERVICE\"\n        beanName: \"notificationService\"\n        methodName: \"sendEmail\"\n      - id: \"send-sms\"\n        type: \"SERVICE\"\n        beanName: \"notificationService\"\n        methodName: \"sendSms\"\n```\n\n## 📚 文档\n\n- [快速开始指南](docs/quick-start.md)\n- [API 文档](docs/api.md)\n- [配置参考](docs/configuration.md)\n- [示例项目](examples/)\n\n## 🗺️ 开发计划\n\n### ✅ 已完成\n- 基础流程引擎\n- 注解和配置支持\n- 条件分支和循环\n- Spring Boot集成\n\n### 🚧 进行中\n- 并行执行优化\n- 监控和日志\n\n### 📋 计划中\n- 可视化界面\n- 持久化支持\n- 分布式执行\n\n## 🤝 贡献\n\n我们欢迎所有形式的贡献！\n\n### 如何贡献\n1. Fork 本仓库\n2. 创建特性分支 (`git checkout -b feature/amazing-feature`)\n3. 提交更改 (`git commit -m 'Add amazing feature'`)\n4. 推送到分支 (`git push origin feature/amazing-feature`)\n5. 创建 Pull Request\n\n### 贡献类型\n- 🐛 Bug 修复\n- ✨ 新功能\n- 📝 文档改进\n- 🎨 代码优化\n- 🧪 测试用例\n\n## 📄 许可证\n\n本项目基于 [MIT License](LICENSE) 开源协议。\n\n## 🙏 致谢\n\n感谢所有贡献者的努力！\n\n---\n\n如果这个项目对你有帮助，请给我们一个 ⭐️！","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemoob%2Fsimpleflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemoob%2Fsimpleflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemoob%2Fsimpleflow/lists"}