多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Super Agent Party架构揭秘:Electron+Python FastAPI混合架构的3.7万行代码之旅

Super Agent Party架构揭秘:Electron+Python FastAPI混合架构的3.7万行代码之旅 Super Agent Party架构揭秘ElectronPython FastAPI混合架构的3.7万行代码之旅【免费下载链接】super-agent-party⭐全能型AI伴侣AI桌面女友 AI虚拟主播 AI即时通讯机器人 AI浏览器 AI智能家居 AI游戏 等你能想到的一切功能项目地址: https://gitcode.com/heshengtao/super-agent-partySuper Agent Party超级智能体派对是一款全能型 AI 伴侣桌面应用AI 桌面女友、AI 虚拟主播、即时通讯机器人、AI 浏览器、AI 游戏等一应俱全。它的底层是一套Electron Python FastAPI 混合架构——Node.js 负责窗口与系统集成Python 负责 AI 能力与工具生态两者通过 HTTP WebSocket 紧密协作共同支撑起近 4 万行核心代码。本文带你走读这套架构的设计思路看看 3.7 万行代码是如何被组织起来的 一、整体架构一张图看懂三段式分层整个项目可以拆成三层各司其职层级技术栈核心文件职责壳层桌面集成Electron 39 / Node.jsmain.js约 2200 行窗口管理、托盘、屏幕捕获、系统快捷键、子进程管理逻辑层AI 后端Python 3.12 / FastAPIserver.py约 1.2 万行 py/ 工具集LLM 对话、工具调用、语音 ASR/TTS、IM 机器人、WebSocket 广播表现层前端 UIVue 3 Element Plusstatic/js/renderer、vue_data、vue_methods聊天界面、多窗口渲染、VRM 3D 展示这种Electron 当壳、FastAPI 当脑的混合架构在开源 AI 应用中非常典型桌面端能力交给成熟的 Node 生态AI 能力交给 Python 生态中间用本机回环网络通信互不拖累。二、壳层揭秘Electron 主进程做了什么打开 main.js 你会发现它并不只是启动一个网页而是一位尽职的管家多窗口家族主聊天窗、VRM 模型窗vrm.html、THA 2D 宠物窗tha.html、弹幕/字幕悬浮窗、截图浮层、极简模式窗口全部由主进程按需创建与联动。端口探测用 Node 原生net模块检测端口占用避免后端启动失败。OSC/UDP 通道通过osc库监听 UDP 端口接收 VTube Studio 的骨骼与表情数据再转发给 VRM 窗口实现外部 Live2D/VRM 联动。屏幕截图desktopCapturernativeImage裁剪桌面区域供 AI 视觉理解使用。日志缓冲保留最近 2000 行后端日志方便在设置页查看排错。而 start.js 是更外层的启动器Windows 下先执行chcp 65001切换 UTF-8 代码页再拉起 Electron解决中文乱码这个经典坑。三、关键设计Node 如何孵化Python 后端混合架构最难的一环是进程编排本项目用了一个巧妙的小握手协议 主进程用child_process.spawn启动后端。开发模式直接调.venv里的 Python 解释器执行server.py打包后则运行 PyInstaller 生成的server.exe见 main.js#L482-L495。后端监听端口并打印REAL_PORT_FOUND:xxxxNode 侧用正则捕获完成端口握手main.js#L510-L520确保前后端端口始终一致。后端默认监听127.0.0.1:3456若用户在设置中开启全局可见则切换为0.0.0.0把 OpenAI 兼容 API 暴露给外部智能体config/settings_template.json。这套机制保证了打开 App 后端自动就绪用户完全无感。四、逻辑层揭秘一个 FastAPI 应用N 条 WebSocket 总线server.py 里只创建了一个FastAPI 应用却同时承担对话、语音、3D 渲染、扩展工具等所有职责。启动时它会预加载数十个工具模块搜索、CDP 浏览器控制、桌面视觉、代码解释器、知识库等避免首个请求被 import 阻塞server.py#L19-L79。更值得注意的是它的实时通信中枢。Python 端定义了三条常驻 WebSocket 通道/ws/tts—— 文字转语音流式输出/ws/vrm—— 向 VRM 窗口推送表情/动作数据/ws/tha—— THA 2D 桌宠的 JPEG 帧流与控制指令连接管理则集中在 py/ws_manager.py 的ConnectionManager中统一 accept、断线剔除、5MB 超大消息保护防止渲染进程被大消息打崩。VRM 与 THA 渲染器各自独立成窗口static/vrm.html、static/tha.html通过这条总线与主窗口同频呼吸。五、py/ 目录4 万行 Python 的工具宇宙py/目录是本项目最厚的部分超过 4 万个 Python 文件行几乎每个功能都对应一个模块模块说明py/agent.py / py/sub_agent.py主智能体与子智能体的多 Agent 编排py/mcp_clients.py / py/a2a_tool.pyMCP 与 A2A 协议客户端对接外部智能体py/sherpa_asr.py / py/moss_tts.py本地语音识别与合成sherpa-onnx / MOSS TTSpy/computer_use_tool.py / py/cdp_tool.py桌面视觉操控与 CDP 浏览器控制py/qq_bot_manager.py 等 10 个 bot_managerQQ、微信、飞书、钉钉、Telegram、Discord、Slack、企业微信机器人py/scheduler.py / py/task_center.py定时任务与任务中心依赖清单 pyproject.toml 更值得一看fastapiuvicorn打底langchain系列做 LLM 编排faiss-cpu做向量检索onnxruntime按平台macOS/CoreML、Windows/DirectML、Linux/GPU自动选择推理后端pyinstaller负责产出可执行后端。六、打包与分发一套产物三端通用Electron 侧package.json 中配置 electron-builder一键构建 Windows NSIS 安装包、macOS DMG 与 Linux AppImage并集成electron-updater实现自动更新。Python 侧server.spec 将 FastAPI 后端打成独立可执行文件作为extraResources随 App 分发用户无需安装 Python。容器侧仓库自带 Dockerfile 与 docker-compose.ymlDocker 用户可以直接把整套 AI 伴侣跑在容器里。七、给新手的源码阅读路线 ️如果你也想读透这套混合架构建议按这条最短路径走start.js → 了解进程如何启动1 分钟main.js 中spawn与REAL_PORT_FOUND握手段 → 理解 Node-Python 边界server.py 的lifespan与三条 WebSocket 端点 → 把握后端脉络py/ws_manager.py → 看懂实时消息总线挑一个 py/ 工具模块如py/web_search.py精读 → 掌握工具注册模式写在最后Super Agent Party 的架构给开源社区提供了一个很好的样本不追求单体大框架而是用最务实的组合——Electron 的桌面能力 FastAPI 的异步生态 WebSocket 实时总线就能撑起桌面女友、虚拟主播、IM 机器人这些听起来天马行空的功能。3.7 万行代码看似庞大但分层清晰后每一层都可以独立理解、独立扩展。如果你想二次开发可以从 skills/sap-extension-creator/SKILL.md 入手——项目内置了用智能体创建智能体扩展的技能这正是这套架构最酷的地方它甚至会用 AI 来扩展自己 【免费下载链接】super-agent-party⭐全能型AI伴侣AI桌面女友 AI虚拟主播 AI即时通讯机器人 AI浏览器 AI智能家居 AI游戏 等你能想到的一切功能项目地址: https://gitcode.com/heshengtao/super-agent-party创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表