Open-Agent架构全景解析:NestJS + GraphQL + PostgreSQL + Rust + Electron的Monorepo设计深度剖析

发布时间:2026/10/24 18:22:45

Open-Agent架构全景解析:NestJS + GraphQL + PostgreSQL + Rust + Electron的Monorepo设计深度剖析 Open-Agent架构全景解析NestJS GraphQL PostgreSQL Rust Electron的Monorepo设计深度剖析【免费下载链接】open-agentOpen-source alternative to Claude Agent SDK, ChatGPT Agents, and Manus.项目地址: https://gitcode.com/gh_mirrors/op/open-agentOpen-Agent 是一个开源的 Agentic AI 平台可作为 Claude Agent SDK、ChatGPT Agents 和 Manus 的开源替代品。它用 NestJS 搭建服务端、GraphQL 定义接口、PostgreSQL 存储数据、Rust 处理高性能任务、Electron 打包桌面端全部装进一个 Monorepo 中协同开发。下面带你用最短的篇幅看懂它的架构设计。一、项目定位一个可以自托管的开源 AI AgentOpen-source alternative to Claude Agent SDK, ChatGPT Agents, and Manus.Open-Agent 的核心能力是多智能体协作接入 OpenAI、Claude、Gemini 及开源模型多个 Agent 协同完成任务规范驱动决策通过 Spec 与上下文工程让 Agent 先规划、再评分、后给选项人保留最终决定权可自托管开源免费用 Docker Compose 三步即可部署一句话概括它不是聊天机器人而是一个能像人一样操作电脑、浏览器完成任务的智能体系统且代码完全开放给你修改。二、Monorepo 总览一个仓库五套技术栈打开根目录 package.json可以看到这是一个Yarn Berry workspaces管理的 monorepo工作空间覆盖了四大板块open-agent/ ├── blocksuite/ # 文档编辑器引擎TS/Lit 微前端 ├── packages/ │ ├── backend/ # 服务端server(NestJS) native(Rust) │ ├── common/ # 公共库graphql 类型、Rust 原生模块 │ └── frontend/ # 前端app(React) electron(桌面端) └── tools/ # 工程工具链cli、utils、changelogRust 部分则由根目录 Cargo.toml 统一为Cargo workspace管理packages/backend/native与packages/common/native两个 crate。这种Node 管工作空间、Cargo 管原生依赖的双 workspace 模式是该项目最值得学习的 Monorepo 设计之一——JS 与 Rust 各自独立编译又通过命名空间包如afk/server-native无缝互通。三、后端NestJS GraphQL PostgreSQL 的经典组合3.1 模块化架构的开关式组装后端位于 packages/backend/server/核心文件 app.module.ts 展示了教科书级的 NestJS 模块化设计基础能力模块Prisma、Redis、缓存、限流、Web socket、任务队列BullMQ、日志、指标采集统一注册为FunctionalityModules业务模块用户、鉴权、配额、邮件、版本管理useIf条件装配GraphQL 相关模块只在env.flavors.graphql为真时才加载同一套代码可跑成 GraphQL 服务或 CLI 脚本3.2 数据层Prisma PostgreSQL 向量扩展数据模型定义在 schema.prisma注意两个关键细节provider postgresql用户、会话、AI Job、文件文档全部结构化建模启用了pgvector扩展——这意味着 PostgreSQL 同时承担了向量数据库的角色AI 的记忆与检索不用再引入 Milvus 之类的额外组件配合 app.module.ts 中的ClsModule事务插件每个 HTTP/GraphQL 请求自动获得请求级上下文和事务隔离这是高并发 AI 服务稳定运行的基石。3.3 AI 核心copilot 插件真正的智能体逻辑在 plugins/copilot/ 下目录本身就是架构的缩影子目录职责providers/各大模型厂商适配器workflow/多智能体工作流编排tools/Agent 可调用的工具集embedding/向量化与语义检索workspace/智能体沙箱工作区transcript/对话过程记录与回放再加上e2b/code-interpreter云端代码执行等依赖构成了规划 → 执行 → 记录的完整 Agent 闭环。四、Rust 层把 CPU 密集型工作交给原生代码服务端 Node.js 擅长 I/O但文件解析、分词、内容抽取这类 CPU 密集任务交给了 Rust。两个 crate 各司其职packages/common/native/通用能力库内置tree-sitter全家桶C/C/Go/Java/Python/Rust/TS 等 11 种语言解析器、PDF/DOCX 解析pdf-extract、docx-parser、HTML 可读性提取readability让 Agent 能读懂用户上传的各种文档packages/backend/native/服务端专用模块包含tiktoken精确计算 Token 消耗、html_sanitizeHTML 安全清洗、hashcash防刷验证并配有 benchmark 性能基准测试Rust 通过N-API编译为 Node 原生模块JS 侧调用如同调用普通函数——这正是 Cargo.toml 中napi 3.0.0-beta.3的用武之地。五、前端React 应用 自研 BlockSuite 编辑引擎 Electron 壳前端由三层组成分工极其清晰5.1 应用层packages/frontend/app/React 19 React Router 7 Tailwind CSS 4 Zustand 构建的 Web 应用通过 packages/common/graphql/ 中代码生成codegen的 GraphQL 客户端与服务端通信——类型由 schema 自动生成前后端契约永远不会漂移。5.2 编辑引擎blocksuite/这是 Open-Agent 最重的资产一套完整的块级文档编辑器框架微包结构包括blocks/段落、表格、代码块、画板surface、嵌入文档等 21 种内容块framework/核心框架——store基于 Yjs 的协同数据模型、sync实时同步与 Blob 存储、std选择、命令、事件系统gfx/画布图形元素——刷笔、连接器、思维导图、形状Agent 产出的长文档、图表、表格都渲染在这套引擎里这也是 playground 测试卡片图这类渲染测试素材存在的原因。5.3 桌面端packages/frontend/electron/用 Electron Forge 打包 Win/macOS/Linux 安装包亮点是 scripts/ipc-generator/用 ts-morph 静态分析 IPC 处理函数自动生成类型定义文件ipc-api-types.gen.ts主进程与渲染进程的通信类型安全零手写。六、工程化为什么这个 Monorepo 值得借鉴一份依赖树Yarn workspaces resolutions锁定关键依赖版本50 子包共享一套 Node 环境统一工具链tools/cli/ 提供yarn oa统一入口dev/build/initvitest.workspace.ts 让yarn test一次跑通所有包质量门禁ESLint Prettier oxlint 三件套Husky lint-staged 在提交时自动格式化 TS 与 Rust 代码本地开发体验按 tools/public/dev.md 操作yarn Docker Compose 拉起 PostgreSQL/Redis再yarn dev一键同时启动前后端七、总结Open-Agent 的架构可以浓缩为一句话NestJS 管编排GraphQL 管契约PostgreSQL(pgvector) 管数据Rust 管性能BlockSuite 管呈现Electron 管分发——用双 workspace Monorepo 把它们拧成一股绳。如果你想深入源码建议按这条路径阅读app.module.ts服务组装→ plugins/copilot/智能体核心→ blocksuite/framework/store/数据模型→ packages/frontend/electron/src/entries/桌面端入口。掌握这四块你就拿到了整个项目的地图。【免费下载链接】open-agentOpen-source alternative to Claude Agent SDK, ChatGPT Agents, and Manus.项目地址: https://gitcode.com/gh_mirrors/op/open-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/24 2:25:50

AlwaysOnTop:免费一键窗口置顶,让任意窗口常驻屏幕最前

AlwaysOnTop:免费一键窗口置顶,让任意窗口常驻屏幕最前 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop AlwaysOnTop 是一款免费开源的轻量级 Windows 窗口…

2026/10/24 14:23:56

旧Mac升级新版系统:5步走完,让老机器免费再战三年

旧Mac升级新版系统:5步走完,让老机器免费再战三年 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 苹果停止支持的 Intel 老 Mac&#…

2026/10/24 19:20:49

电磁场教学核心:法拉第定律、位移电流与边界条件的工程化理解

简介:本资源是一份面向电子信息类专业师生的《电磁场与电磁波》课程完整教案,含教学大纲与详细授课设计,适用于高校本科理论教学备课与自学深化。教案聚焦课程核心难点——法拉第电磁感应定律(含积分/微分形式推导及物理意义&…

2026/10/24 19:20:49

Trae IDE 打造完美 Java 开发环境:TaoToken 统一 Key 接入实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/24 19:20:49

操作系统课后习题拆解:从进程状态到PV操作的考点精讲

简介:面向计算机科学与技术及相关专业学生的操作系统课后习题解析资料,聚焦《计算机操作系统》第一章与第二章的核心考点,覆盖操作系统定义与作用、多道程序设计技术、批处理/分时/实时系统特点、时间片计算,以及进程特征、进程状…

2026/10/24 19:15:49

Python基础语法避坑指南:变量、缩进与字符串详解

简介:这份68页的Python基础语法合集,专为初学Python的入门者与希望快速回顾语法要点的开发者设计,从解释型动态语言的特点出发,系统梳理变量与多变量赋值、Numbers/Strings/Lists/Tuples/Dictionaries等核心数据类型、运算符、流程…

2026/10/23 22:56:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/24 0:02:40

MATLAB缩进快捷键与批量格式化实战指南

1. 被自动缩进折磨的那些年如果你写过MATLAB代码,大概率经历过这种场景:从某个文档、网页或者聊天记录里复制了一段代码,粘贴进编辑器之后,每一行前面都带着莫名其妙的空格,有的行首是四个空格,有的是一个T…

2026/10/24 0:02:40

用Poco实现Qt风格信号与槽的跨平台C++方案

简介:本资源是一份面向C中级开发者的技术实践工程,聚焦于在非Qt框架环境下模拟实现Qt核心通信机制——信号与槽,借助Poco网络库的事件系统完成解耦式对象通信。适用于需在跨平台C项目中引入松耦合回调机制、但受限于无法集成Qt依赖的开发场景…

2026/10/24 0:02:40

ESXi裸机虚拟化安装指南:从硬件兼容到虚拟机部署

1. 为什么还要折腾ESXi:从一台闲置机器说起手里攒了几台淘汰下来的迷你主机,配置不算差,i5加16G内存,扔了可惜,装个桌面系统又觉得浪费。这种场景下,ESXi就成了一个绕不开的选择。它是一套裸机虚拟化平台&a…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑