开发者指南#

参与 EvoFabric#

感谢您对 EvoFabric 项目的关注!我们的社区面向所有人开放,欢迎您通过各种形式反馈建议或是发布您的功能组件。您可以通过下述方法参与:

  • 找到并报告问题或 Bug。

  • 提出需求或新增一个新的特性。

  • 提出需求或新增一个新的组件。

License#

当前项目使用的License是 MIT License.

开发流程#

如果您期望贡献您的组件或功能到 EvoFabric , 我们期望您能遵循下面的开发原则:

  • 在PR中清晰描述您所提供的组件或功能

  • 保证新增的组件继承现有基类,或继承工厂基类 BaseComponent 并保证组件可被 pydantic 序列化和反序列化

  • 代码遵循 PEP 8 风格

  • 提供可离线运行的 Unit test 以完整验证您的功能

我们将会组织定期审查所有新增的PR,并及时与您沟通进展。

版本策略#

本项目遵循明确的版本策略,以确保开发过程规范、版本管理清晰,并便于社区使用与贡献。版本体系分为三类:主线版本、发布版本和开发版本。

版本号命名规则#

版本号采用三段式命名规则:

Major.Minor.Patch[-Suffix]
  • 主版本号 (MAJOR):当项目发生不兼容的 API 变更时,主版本号递增。

  • 次版本号 (MINOR):当项目新增功能且向下兼容时,次版本号递增。

  • 修订号 (PATCH):当项目进行向下兼容的问题修复时,修订号递增。

  • 后缀 (Suffix, 可选):用于标记开发版本或预发布版本,例如 -rc1-rc2-beta

版本类型定义#

  1. 主线版本 (Mainline Version)

    • 描述:项目的核心开发分支,包含最新功能和改进。

    • 命名:一般无后缀,例如 1.2.0

    • 特点:

      • 保持与主版本兼容性。

      • 可合并到发布版本分支进行正式发布。

  2. 发布版本 (Release Version)

    • 描述:经过充分测试、稳定可用的版本,面向用户发布。

    • 命名:遵循版本号规则,不带开发后缀,例如 1.2.0

    • 发布周期:双月发布。

    • 特点:

      • 不包含不稳定功能。

      • 用于生产环境和社区发布。

      • 每次发布版本应记录更新日志(CHANGELOG)。

  3. 开发版本 (Development Version)

    • 描述:用于日常开发和测试的版本,可能包含不稳定或实验性功能。

    • 命名:在修订号后添加 -dev 后缀,例如 1.3.0-dev

    • 特点:

      • 频繁更新,供开发者测试和预览。

      • 不推荐直接用于生产环境。

后续版本计划#

我们计划后续会陆续更新以下特性:

  • EvoFabric 的前端UI,支持显示运行过程中的消息日志(含流式消息)、图结构和节点状态,以及在可视化界面进行调试功能

  • Agent场景的Memory功能

  • Magentic-one等Multi-agent模块

  • Client、工具等资源使用监控