🏛️ 系统架构
OpenHands 系统架构图 (2024年7月4日)
这是系统架构的高级概述。系统分为两个主要组件:前端和后端。前端负责处理用户交互并显示结果。后端负责处理业务逻辑和执行代理。
前端架构
此概述经过简化,仅显示主要组件及其交互。有关后端架构的更详细视图,请参阅下面的后端架构部分。
后端架构
免责声明:后端架构仍在开发中,可能会发生变化。以下图表显示了基于图表页脚中显示的提交的当前后端架构。
更新此图表
后端架构图的生成部分是自动化的。 该图表是使用py2puml工具从代码中的类型提示生成的。然后手动审查、调整并导出为PNG 和SVG格式。
先决条件
- 运行可执行openhands的Python环境 (根据存储库根目录中README.md文件中的说明)
- 安装py2puml
步骤
-
通过从存储库根目录运行以下命令自动生成图表:
py2puml openhands openhands > docs/architecture/backend_architecture.puml
-
在PlantUML编辑器中打开生成的文件,例如安装了PlantUML扩展的Visual Studio Code或PlantText
-
审查生成的PUML并对图表进行所有必要的调整(添加缺失部分,修复错误,改进定位)。 py2puml根据代码中的类型提示创建图表,因此缺失或不正确的类型提示可能导致图表不完整或不正确。
-
查看新旧图表之间的差异,并手动检查更改是否正确。 确保不要删除过去手动添加到图表中且仍然相关的部分。
-
将用于生成图表的提交哈希添加到图表页脚。
-
将图表导出为PNG和SVG文件,并替换
docs/architecture
目录中的现有图表。这可以通过(例如PlantText)完成