
UFO² 还是 UFO³ Galaxy基于 UFO 仓库的多设备 Agent 编排技术选型实战指南【免费下载链接】UFOUFO³: Weaving the Digital Agent Galaxy项目地址: https://gitcode.com/GitHub_Trending/uf/UFO本文是一份面向 UFOUFO³: Weaving the Digital Agent Galaxy开源仓库的技术选型指南核心解决一个问题你的自动化任务应该使用单设备桌面 Agent 框架 UFO²还是使用面向多设备 DAG 编排的 UFO³ Galaxy读完本文你将掌握完整的决策树、对比矩阵、8 类典型场景推荐、3 种混合部署模式含可运行的命令与配置、常见认知误区澄清以及一份可直接套用的决策清单并能够结合仓库源码理解两种框架的底层工作方式。️ 快速决策树Quick Decision Tree如果对选择毫无头绪先走一遍下面的决策流程图。它以是否涉及多设备/多平台为第一判断维度逐步收敛到最终方案决策树的核心逻辑可以归纳为三条主线涉及多设备/多平台且需要并行执行或子任务之间存在依赖关系→ 选 UFO³ Galaxy只涉及单个 Windows 桌面任务是简单的多应用串行流程→ 选 UFO²当前只需要 UFO²但未来可能扩展到多设备→ 现在就用 UFO²同时按Galaxy-ready方式准备配置见下文混合方案。 快速对比矩阵Quick Comparison Matrix维度UFO² Desktop AgentOSUFO³ Galaxy目标范围单一 Windows 桌面多设备Windows/Linux/macOS最适合场景简单本地自动化复杂跨设备工作流部署复杂度⭐ 简单⭐⭐⭐ 中等需要设备池学习曲线⭐⭐ 容易⭐⭐⭐⭐ 进阶执行模型顺序式多应用编排并行 DAG 编排是否需要网络❌ 否✅ 是设备间 WebSocket并行能力单设备内部跨设备并行容错能力同设备重试重试 任务迁移典型延迟10-30s本地20-60s含编排开销理想任务规模1-5 步5-20 步且带依赖关系快速经验法则Quick Rule of Thumb1 台设备 简单工作流→ UFO²2 台及以上设备或存在复杂依赖→ Galaxy不确定→ 先用 UFO²后续按 迁移指南 平滑升级从源码看两种框架的本质差异对比矩阵中的差异并非营销话术而是由两种框架的底层架构决定的UFO² 是单机双层级Two-Tier Hierarchy由HostAgent统筹本机上的多个AppAgentExcel/Word/PowerPoint/Web 等全部在同一个 Windows 桌面上执行。其 CLI 入口即python -m ufo --task ...见 ufo/ufo.py不依赖任何网络组件。UFO³ Galaxy 是星座模型Constellation ModelConstellationAgent负责把用户请求分解为任务星座Task Constellation——一张由TaskStar可执行单元和TaskStarLine依赖边构成的 DAG再把每个任务下发给对应设备执行。核心 DAG 管理实现位于 galaxy/constellation/task_constellation.py其类TaskConstellation明确提供DAG 校验与环检测、动态任务与依赖管理、LLM 驱动的创建与修改、执行状态跟踪、导入导出等能力。两者可以嵌套UFO² 实例可以作为 Galaxy 的一个设备 Agent接入。从源码结构看这正是文档所谓Best of both worlds的技术基础——Galaxy 只负责跨设备的编排与任务分配设备本地的执行仍交给 UFO² 的 HostAgent/AppAgent 完成。 基于场景的推荐Scenario-Based Recommendations场景 1桌面生产力自动化Desktop Productivity Automation任务示例创建每周报告从 Excel 提取数据在 PowerPoint 中生成图表通过 Outlook 发送推荐方案✅ UFO²原因所有应用都位于同一台 Windows 桌面上流程是顺序式的Excel → PowerPoint → Outlook不存在跨设备依赖。延伸阅读UFO² 总览与架构实操命令python -m ufo --task 从 data.xlsx 生成报告 PPT 并通过 Outlook 发送场景 2开发工作流自动化Development Workflow Automation任务示例在笔记本上克隆仓库在 GPU 服务器上构建 Docker 镜像在 CI 集群上跑测试在桌面上打开结果推荐方案✅ UFO³ Galaxy原因跨越 3 台以上设备笔记本、GPU 服务器、CI 集群、桌面存在顺序依赖克隆 → 构建 → 测试 → 展示需要设备协同与数据传输。延伸阅读Galaxy 总览实操命令python -m galaxy --request \ Clone repo on my laptop, build Docker image on GPU server, run tests on CI cluster, open results on my desktop场景 3批量数据处理Batch Data Processing任务示例处理 100 个文件从云端拉取、清洗数据、运行 ML 模型、保存结果推荐方案取决于你的基础设施部署形态推荐方案原因单台高性能工作站✅ UFO²所有处理都在一台机器上更简单分布式集群✅ Galaxy跨节点并行处理更快混合形态本地 云端 GPU✅ Galaxy异构资源统一编排延伸阅读单设备场景的 UFO² 快速上手分布式场景的 Galaxy 快速上手场景 4跨平台测试Cross-Platform Testing任务示例在 Windows Chrome、Linux Firefox、macOS Safari 上测试 Web 应用推荐方案✅ UFO³ Galaxy原因需要 3 种不同的操作系统平台并行执行能显著节省时间支持集中式结果聚合。延伸阅读Galaxy 跨平台协作实现基础Galaxy 的设备池device pool本身支持异构 OS。以仓库自带的 config/galaxy/devices.yaml 为例其中同时配置了os: linux的多个设备条目而 Galaxy 的设备注册/状态管理则由 galaxy/client/components/device_registry.py 等组件维护可支撑每台设备用各自原生 Agent 实现的多平台形态。场景 5文件管理与整理File Management Organization任务示例按文件类型整理 Downloads 文件夹、压缩旧文件、上传到云端推荐方案✅ UFO²原因单设备的本地文件操作无网络依赖简单的顺序工作流。延伸阅读UFO² 快速上手场景 6多阶段数据管道Multi-Stage Data Pipeline任务示例从 5 台 Linux 服务器收集日志在中央服务器聚合进行分析在 Windows 上生成仪表盘推荐方案✅ UFO³ Galaxy原因多数据源设备5 台 Linux 服务器并行日志采集比顺序快约 5 倍跨平台Linux → Windows复杂依赖图。延伸阅读Galaxy 任务星座仓库佐证config/galaxy/devices.yaml 中给出了linux_agent_1/2/3三个 Linux 设备条目每个都带logs_file_path、warning_log_pattern如WARN、error_log_pattern如ERROR or FATAL等元数据字段——这正是从多台 Linux 服务器采集日志这类管道场景的现成配置骨架。场景 7学习 Agent 开发Learning Agent Development任务示例我是 Agent 开发新手想通过构建简单自动化来学习推荐方案✅ UFO²原因架构更简单更容易理解反馈闭环更快本地执行文档与示例更完备后续可以升级到 Galaxy。延伸阅读UFO² 快速上手场景 8企业级工作流集成Enterprise Workflow Integration任务示例与现有 CI/CD 管道集成横跨开发笔记本、构建服务器和测试农场推荐方案✅ UFO³ Galaxy原因企业级设备协同带自动恢复的容错机制形式化安全保证I1-I3 不变量支持异构基础设施。延伸阅读Galaxy 架构 混合方案Hybrid Approaches不必二选一以下三种常见混合模式可以让你同时享受两种框架的红利。模式 1把 UFO² 作为 Galaxy 设备UFO² as Galaxy Device部署形态在 Windows 桌面上运行 UFO² 的服务端与客户端需要同时启动 server 和 client。# 终端 1在 Windows 桌面上启动 UFO² Server python -m ufo.server.app --port 5000 # 终端 2启动 UFO² Client连接上面的 server python -m ufo.client.client --ws --ws-server ws://localhost:5000/ws --client-id my_windows_device --platform windows收益保留 UFO² 在本地 Windows 场景的专业能力获得 Galaxy 的跨设备编排能力两者兼得Best of both worlds。源码验证上述命令与仓库入口完全一致ufo/server/app.py 提供--port默认 5000、--host默认 127.0.0.1、--api-key、--platformwindows/linux/mobile、--log-level等参数并对外暴露ws://host:port/ws的 WebSocket 端点ufo/client/client.py 提供--client-id、--ws-server、--ws、--max-retries默认 5、--platform等参数客户端会自动检测平台Windows/Linux/mobile并可通过--request直接下发任务文本。延伸阅读UFO² 作为 Galaxy 设备模式 2渐进式迁移Gradual Migration策略先用 UFO² 解决眼前需求同时为 Galaxy 扩展做准备。阶段 1独立使用 UFO²python -m ufo --task Your current task阶段 2让 UFO² 具备 Galaxy 兼容性提前准备设备池配置# config/galaxy/devices.yaml (提前准备) devices: - device_id: my_windows server_url: ws://localhost:5000/ws # UFO client 连接 UFO server 的地址 os: windows capabilities: [office, web]阶段 3启动 UFO 设备 Agent 并接入 Galaxy# 终端 1在 Windows 机器上启动 UFO Server python -m ufo.server.app --port 5000 # 终端 2启动 UFO Client连接上面的 UFO server python -m ufo.client.client --ws --ws-server ws://localhost:5000/ws --client-id my_windows --platform windows # 终端 3启动 Galaxy在控制机上可与上面同一台或不同机器 python -m galaxy --request Cross-device workflow配置说明设备池配置devices.yaml中的关键字段含义device_id设备在星座中的唯一标识Galaxy 用它寻址与路由任务server_url该设备上 UFO Server 暴露的 WebSocket 地址Galaxy 通过它建立持久连接os/capabilities设备平台与能力标签是ConstellationAgent做能力匹配式任务分配的依据。延伸阅读迁移指南模式 3按领域拆分Domain-Specific Split策略不同类型的 workflow 使用不同的框架。工作流类型框架示例日常桌面任务UFO²邮件处理、文档创建开发工作流Galaxy代码构建 → 测试 → 部署数据处理Galaxy若为分布式多节点 ML 训练快速一次性自动化UFO²一次性任务延伸阅读何时使用哪种框架 常见误解澄清Common Misconceptions误解 1Galaxy 更新所以总是更好事实对简单的单设备任务而言 UFO² 反而更优原因在于延迟更低无网络开销部署与调试更简单经过实战检验、稳定性高。结论只有在确实需要多设备编排时才使用 Galaxy。误解 2迁移到 Galaxy 需要重写一切事实UFO² 只需极少改动即可作为 Galaxy 设备运行# 终端 1启动 UFO Server python -m ufo.server.app --port 5000 # 终端 2以 WebSocket 模式启动 UFO Client python -m ufo.client.client --ws --ws-server ws://localhost:5000/ws --client-id my_device --platform windows现有 UFO² 的 HostAgent/AppAgent、混合 GUI-API 执行、MCP 集成、持续学习等能力全部保留详见 迁移指南 中的Galaxy 中保留的 UFO² 特性清单。延伸阅读迁移指南 · 选项 2将 UFO² 实例转换为 Galaxy 设备误解 3Galaxy 无法在单台设备上运行事实如果你需要以下能力Galaxy 在单设备上同样工作得很好基于 DAG 的工作流规划高级监控与轨迹报告trajectory reports为未来的多设备扩展做准备。# 单设备 Galaxy 配置 devices: - device_id: localhost server_url: ws://localhost:5005/ws误解 4UFO² 已被 Galaxy 取代deprecated事实UFO² 仍在积极维护并且是单设备场景的推荐选择对本地任务更高效对初学者更简单作为 Galaxy 设备时是核心组件。两种框架是互补关系而非竞争关系Both frameworks are complementary, not competing。 学习路径Learning Paths面向初学者For Beginners第 1-2 周从 UFO² 开始UFO² 快速上手构建简单自动化文件管理、邮件等理解 HostAgent/AppAgent 架构第 3-4 周探索 UFO² 进阶能力4. 混合 GUI-API 操作 5. MCP 服务器集成 6. 自定义与学习第 5 周起按需升级到 Galaxy7. 迁移指南 8. Galaxy 快速上手 9. 构建跨设备工作流面向有经验开发者For Experienced Developers若已明确需要多设备能力可直接进入 GalaxyGalaxy 快速上手任务星座概念ConstellationAgent 深入解析性能监控 决策清单Decision Checklist仍然不确定逐条回答以下问题Q1你的工作流是否涉及 2 台及以上物理设备✅ 是 →Galaxy❌ 否 → 继续回答 Q2Q2你是否需要跨机器并行执行✅ 是 →Galaxy❌ 否 → 继续回答 Q3Q3你的工作流是否存在复杂依赖DAG 结构✅ 是复杂 DAG →Galaxy❌ 否简单顺序 → 继续回答 Q4Q4你是否熟悉分布式系统概念✅ 是 →Galaxy只要 Q1-Q3 中任一项为是❌ 否 →UFO²先打基础Q5你是否需要跨平台支持Windows Linux✅ 是 →Galaxy❌ 否仅 Windows →UFO²结果判定3 个及以上Galaxy回答→ 使用 Galaxy见 Galaxy 快速上手大部分是UFO²回答→ 使用 UFO²见 UFO² 快速上手答案混合→ 先用 UFO²保留 Galaxy 的扩展选项见 迁移指南 后续步骤Next Steps如果选择了 UFO² UFO² 快速上手指南 UFO² 总览与架构️ 配置指南如果选择了 Galaxy Galaxy 快速上手指南 Galaxy 总览与架构 任务星座概念如果仍在探索 详细对比何时使用哪种框架说明原文档此处的演示视频与论文链接为外部站点地址本文档不提供外部链接如需更完整的背景资料可直接阅读仓库内的 UFO² 总览、Galaxy 总览 与 迁移指南。 专业提示Pro Tips!!! tip 从简单开始 拿不准时先用UFO²。先跑起来再升级到 Galaxy比一上来就调试一个你根本不需要的复杂 Galaxy 部署要容易得多。!!! tip 混合方案完全可行 不要把自己锁死在单一选择上。你可以同时用UFO² 处理本地任务、用Galaxy 处理跨设备工作流。!!! tip 提交前先测试 用一个简单工作流分别跑一遍两种框架感受哪个更贴合你的使用习惯 bash # UFO² 测试 python -m ufo --task Create test report# Galaxy 测试 python -m galaxy --request Create test report !!! warning 网络要求 Galaxy 要求设备之间有稳定的网络连接设备间通过 WebSocket 通信。如果你的环境存在网络限制UFO² 可能是更可靠的选择。 延伸从源码理解 Galaxy 的编排入口与设备模型为了让选型决策建立在更扎实的基础上这里补充几个与选择直接相关的源码事实Galaxy CLI 与交互模式Galaxy 的入口在 galaxy/galaxy.py包级入口见 galaxy/main.py支持多种运行模式# 简单模式直接传入请求文本 python -m galaxy Create a data analysis pipeline # 显式请求 会话命名 python -m galaxy --request Build ML pipeline --session-name ml_session # 交互式命令行模式 python -m galaxy --interactive # 演示模式内置示例请求 python -m galaxy --demo # WebUI 模式 python -m galaxy --webui常用参数还包括--max-rounds默认 10单会话最大编排轮数、--log-levelDEBUG/INFO/WARNING/ERROR/CRITICAL默认 WARNING、--output-dir结果输出目录、--mock使用 mock agent 测试不产生真实 LLM 调用。GalaxyClient 编程式接口如果需要把 Galaxy 嵌入自己的脚本或 CI/CD 管道可使用 galaxy/galaxy_client.py 中的GalaxyClientimport asyncio from galaxy import GalaxyClient async def main(): client GalaxyClient(session_namemy_workflow) await client.initialize() result await client.process_request( Clone repo on laptop, build on server, test on Windows ) print(fWorkflow completed: {result}) await client.shutdown() asyncio.run(main())从源码可见GalaxyClient.process_request在提交请求前会自动检查设备注册表device_registry中处于CONNECTED/IDLE/BUSY状态的设备数量若存在断连设备会先触发ensure_devices_connected()重连逻辑——这就是对比矩阵中重试 任务迁移容错能力的底层体现。设备池配置与星座运行时设备池config/galaxy/devices.yaml 是 Galaxy 认识所有可用设备的唯一来源。每个条目含device_id、server_url、os、capabilities、metadata、auto_connect、max_retries等字段仓库模板中还演示了为设备配置operation_engineer_email、app_log_file、tips等运营类元数据。星座运行时config/galaxy/constellation.yaml 定义CONSTELLATION_ID、HEARTBEAT_INTERVAL默认 30.0 秒、RECONNECT_DELAY默认 5.0 秒、MAX_CONCURRENT_TASKS默认 6、MAX_STEP默认 15、DEVICE_INFO指向设备池文件路径以及LOG_TO_MARKDOWN是否生成轨迹报告。编排 LLMconfig/galaxy/agent.yaml.template 提供CONSTELLATION_AGENT的 LLM 配置模板API_TYPE、API_BASE、API_KEY、API_MODEL及四类提示词文件路径。注意galaxy/config/config_loader.py会通过get_galaxy_config()加载这些配置GalaxyClient初始化时即解析DEVICE_INFO指向的设备池。任务星座DAG 编排的数据结构Galaxy 的核心数据结构是 galaxy/constellation/task_constellation.py 中的TaskConstellation类它实现了IConstellation接口提供DAG 校验与环检测动态任务与依赖管理TaskStar/TaskStarLineLLM 驱动的创建与修改执行状态跟踪导入/导出能力。这正是决策树中复杂依赖DAG→ Galaxy与5-20 步带依赖任务两项判断标准的源码级支撑。 常见问题与获取帮助Q迁移到 Galaxy 后还能继续用 UFO² 吗A可以两者共存。简单本地任务用 UFO²多设备工作流用 Galaxy。Q需要重写自定义 Agent 吗A不需要。现有 UFO² Agent 在作为 Galaxy 设备运行时可以原样工作。QGalaxy 是否已可用于生产AGalaxy 处于活跃开发中对关键的单设备工作流UFO² 更成熟。Q能否混用 Windows 和 Linux 设备A可以这正是 Galaxy 的核心特性之一。每台设备使用其原生的 UFO² 实现Windows 设备用 WindowsAgentLinux 设备用 LinuxAgent。Q如何调试失败的跨设备工作流A查看logs/galaxy/session/output.md其中包含逐步执行详情与 DAG 可视化。仓库源码层面GalaxyClient.process_request会把执行结果会话名、请求、状态、轮数、耗时、轨迹路径、星座信息等写入result.json默认保存到会话日志目录可用--output-dir指定。至此你已经完成了 UFO² 与 UFO³ Galaxy 的完整选型分析。核心结论再强调一次单设备、简单、本地优先 → 选 UFO²多设备、并行、复杂依赖、跨平台 → 选 Galaxy两者并不互斥混合部署与渐进迁移是官方推荐的稳妥路径。选择之后按照 Galaxy 快速上手 或 UFO² 快速上手 直接开始搭建你的 Agent 体系即可。【免费下载链接】UFOUFO³: Weaving the Digital Agent Galaxy项目地址: https://gitcode.com/GitHub_Trending/uf/UFO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考