——# MultiAgent 协作系统
MultiAgent 协作系统是一个基于PyQt6开发的多智能体协作框架,允许用户配置、可视化和执行多个AI智能体之间的工作流。系统支持多种大型语言模型API,包括OpenAI、Azure、阿里云Qwen、DeepSeek、OpenRouter和SiliconFlow等,使用户能够灵活构建复杂的智能体协作流程。
- 灵活的智能体创建:支持创建多个不同类型的智能体,可指定名称、API类型、模型和系统提示词
- 多API支持:兼容多种大型语言模型API,包括OpenAI、Azure、阿里云Qwen、DeepSeek等
- 配置管理:支持保存和加载智能体配置,方便重复使用
- 双模式编辑:支持代码编辑和可视化绘制两种工作流设计方式
- 语法高亮:工作流代码编辑器支持语法高亮,提高编辑效率
- 交互式绘制:可视化界面支持拖拽节点、调整布局
- 缩放功能:支持放大或缩小工作流视图,便于查看复杂工作流
- 节点拖动:可以拖动工作流中的节点,自定义节点位置
- 实时执行:支持实时执行配置好的工作流
- 执行日志:详细记录执行过程,便于调试和分析
- 结果展示:清晰展示最终执行结果
- Python 3.8+
- PyQt6
- 网络连接(用于API调用)
-
克隆或下载项目代码
-
安装依赖包
pip install -r requirements.txt
-
配置API密钥
- 复制
config/.env.example
为config/.env
- 在
.env
文件中填入您的API密钥
- 复制
# 在项目根目录下执行
python app.py
本项目支持使用cx_Freeze打包为独立可执行程序:
-
安装cx_Freeze
pip install cx_freeze
-
执行打包命令
python setup.py build
-
打包结果将保存在
build
目录中
详细说明请参阅cx_freeze_readme.md文件
-
在「Agent配置」选项卡中添加智能体
- 填写智能体名称
- 选择API类型
- 指定模型(如适用)
- 设置系统提示词
-
点击「添加Agent」按钮保存配置
-
切换到「工作流配置」选项卡
-
使用类似mermaid flowchart的语法定义工作流,例如:
AgentA |"AgentA的提示词"|--> AgentB |"AgentB的提示词"| : {'任务描述'}
-
或者使用右侧可视化界面绘制工作流
- 可以放大或缩小视图
- 拖动节点调整位置
- 系统会自动同步到代码视图
-
点击「验证工作流」按钮确保工作流正确
-
切换到「执行工作流」选项卡
-
输入初始消息
-
点击「创建工作流」按钮(在主界面底部)
-
点击「执行工作流」按钮开始执行
-
查看执行结果和日志
- app.py:主应用入口和GUI界面
- configdrawer:工作流可视化模块
- workflow:工作流解析和执行模块
- classAgent:智能体定义和工厂模块
- config:配置管理模块
- utils:工具函数模块
- 用户配置智能体和工作流
- 系统解析工作流定义,构建有向图
- 系统创建智能体实例
- 执行工作流,智能体按照定义的流程协作
- 展示最终结果和执行日志
系统的可视化工作流功能由configdrawer
模块提供,具有以下特点:
- 双向同步:代码编辑和可视化绘制实时同步
- 交互式操作:
- 支持放大或缩小视图,便于查看复杂工作流
- 支持拖动节点,自定义布局
- 节点拖动后会自动更新连接线
- 直观表达:使用不同颜色和形状表示节点和连接,提高可读性
- 提示词显示:节点上显示智能体名称和提示词摘要