首页 / 资讯中心 / 文章详情

Skill Compose架构深度剖析:FastAPI+Next.js+PostgreSQL如何构建开源Agent运行时

Skill Compose架构深度剖析:FastAPI+Next.js+PostgreSQL如何构建开源Agent运行时 ★ FEATURED ARTICLE
【免费下载链接】archiveSkill Compose is an open-source agent builder and runtime platform for skill-powered agents. No workflow graphs. No CLI.项目地址https://gitcode.com/gh_mirrors/sk/archive点击查看免费下载Skill Compose 是一个开源的 Agent 构建与运行时平台基于 FastAPI Next.js PostgreSQL 三大件搭建让你无需工作流画布、无需 CLI就能通过技能Skill组合出可自主进化的 AI Agent。本文将从分层视角拆解它的整体架构FastAPI 负责编排与 API 网关Next.js 提供 Web 管理台PostgreSQL含 pgvector承载技能注册表与向量记忆外加一组隔离的 Executor 容器安全执行代码。一、整体架构五层分离的运行时Skill Compose 的部署拓扑定义在 docker/docker-compose.yaml核心服务有五个服务技术栈默认端口职责dbPostgreSQL 16 pgvector62620技能注册表、Agent 预设、记忆向量apiFastAPI (Python)62610Agent 编排、REST API、工具调度webNext.js 1462600管理控制台、聊天面板、终端docsDocusaurus62630官方文档站executor-*FastAPI 容器群62680隔离的代码执行沙箱各服务通过健康检查healthcheck级联启动数据库就绪后 API 才启动API 就绪后 Web 才启动生产环境再叠加一层 Nginx 反向代理可选 profile。如上图所示每个 Agent 运行时容器 / K8s Pod由四部分组成系统提示词 agent.md、允许使用的技能、允许的 MCP 服务器与工具、独立的虚拟文件系统与依赖包。多个 Agent 共享底层分布式文件系统中的skills、resources、memories等目录——这正是Skill 组合 Agent的核心设计能力可插拔、环境可隔离、数据可共享。二、FastAPI 后端Agent 的大脑与总调度后端入口是 app/main.py一个看似简单却暗藏生产级细节的 FastAPI 应用JWT 全局认证中间件AuthMiddleware所有/api/v1请求必须携带Bearertoken仅健康检查、文档页、登录/刷新、已发布的公开 Agent 等白名单路径可匿名访问启动生命周期管理lifespan初始化数据库、清理孤儿 trace 与过期工作区、预热各 worker 的数据库连接池单节点选举多 worker 部署时用文件锁fcntl.flock选出唯一服务领导者只有它启动定时任务调度器app/services/scheduler.py和渠道管理器app/services/channel_manager.py避免重复连接外部平台。API 路由按领域拆分为独立模块注册在 app/api/v1/router.py 下技能管理skills.py、Agent 编排agents.py、执行引擎execute.py、MCP 集成mcp.py、记忆memory.py、会话与追踪sessions.py/traces.py等十余个子路由职责边界非常清晰。多 LLM 供应商支持是后端另一亮点。app/llm/provider.py 用一个统一客户端封装了 Anthropic Claude、OpenAI、Google Gemini、DeepSeek、KimiMoonshot、OpenRouter 等供应商——非 OpenAI 协议的服务通过 OpenAI 兼容端点接入换模型只需改一个环境变量。三、PostgreSQL 数据层不止是关系表数据模型定义在 app/db/models.py选型的精妙之处在于pgvector 扩展镜像直接使用pgvector/pgvector:pg16memory_entries表内嵌向量列Vector类型Agent 的长期记忆检索无需额外部署向量数据库——嵌入服务app/services/embedding_service.py调用 text-embedding 模型生成向量后直接入库JSONB 灵活字段技能标签、配置等半结构化数据用JSONB存储既保留关系约束又避免频繁改表完整的技能版本体系skills、skill_versions、skill_files、skill_tests、skill_changelogs五张表协同支撑技能的导入导出、回归测试与变更审计见 app/repositories/skill_repo.py。连接层采用 SQLAlchemy 2.0 异步 ORM asyncpg驱动与 FastAPI 的异步模型完全对齐。四、Next.js 前端Web 化的 Agent 工作台前端位于 web/src/技术选型见 web/package.jsonNext.js 14App Router React 18 Tailwind CSS Radix UI 组件库状态管理用 Zustand数据请求用 React Query。管理台覆盖 Agent 全生命周期技能市场Find Skills从 skills.sh 发现、Import Skill文件/GitHub 导入、Create SkillAI 辅助生成Agent 构建器web/src/components/agents/agent-builder-chat.tsx 让你通过聊天方式配置 Agent 的技能组合、MCP 服务器与工具权限会话与追踪web/src/app/traces/ 可视化每次执行的工具调用链Evolve Skills功能直接从执行 trace 中学习、改进技能内置终端基于 xterm.js 后端 app/terminal/pty_manager.py 的 PTY 管理浏览器里直接操作容器渠道接入web/src/app/channels/ 支持把 Agent 发布到 Telegram、飞书等平台对应后端 app/channels/。五、Executor 容器群把代码执行关进沙箱Agent 要动手就得执行代码Skill Compose 的答案是每个执行环境一个独立容器。每个 executor 运行同一个 FastAPI 服务docker/executor/executor_server.py暴露/execute/python、/execute/bash等端点Python 执行基于持久化 IPython kernel——同一 workspace 内变量、导入和状态跨调用保留天然适合多轮数据分析kernel 不可用时自动降级为 subprocess每次执行都落在按 workspace 隔离的目录中输出截断在 100KB 防止内存爆炸API 侧通过 app/services/executor_client.py 这个异步 HTTP 客户端按名路由到目标容器。预置执行环境在 config/executors.json 中声明Executor预装能力内存上限用途basePython 3.11 基础环境2G通用脚本mlpandas、sklearn、torch8G机器学习cudaCUDA 12.1 PyTorchGPU16GGPU 训练/推理chemscoutRDKit、BioPython、PubChemPy4G化学/生物信息remotionNode.js 20、Chromium、ffmpeg8G视频渲染diagramMermaid.js、mmdc4G图表渲染需要 GPU 的场景用--profile gpu按需拉起其余环境零成本闲置不占资源。六、Agent 执行循环技能驱动的自主推理真正的运行时核心在 app/agent/agent.py一个标准的 ReAct 式异步循环接收用户请求LLM 依据系统提示词 agent.md 决策下一步调用工具list_skills、get_skill、execute_code等工具注册在 app/core/tools_registry.py循环直至任务完成全程通过事件流app/agent/event_stream.py向 Web 端推送进度。两个工程细节值得一提上下文压缩——当输入 token 超过模型上下文上限的 70% 时自动把早期对话摘要成结构化总结保留用户原始意图、文件变更、待办任务记忆冲刷——压缩前插入一轮静默回合让 Agent 把值得长期保留的事实写入MEMORY.md、SOUL.md等记忆文件落盘到 PostgreSQL 后再参与向量检索。七、五分钟上手部署与验证cd docker cp .env.example .env # 填入 ANTHROPIC_API_KEY 等 docker compose up -d启动后访问http://localhost:62600打开 Web 控制台API 文档在http://localhost:62610/docs路由与鉴权逻辑见 app/api/v1/。需要单机资源更省的开发者模式可改用 docker/docker-compose.dev.yaml测试入口在 tests/涵盖 API 单测与真实 Agent 的 E2E 场景。总结为什么这套架构值得借鉴职责分层FastAPI 只做编排与调度重计算全部下沉到 Executor 容器API 进程永远轻量存储复用PostgreSQL 一身三职——关系表、JSONB 配置、向量记忆小团队部署零额外组件能力即数据技能是带版本的文件包而非硬编码Agent 能力组合、演进、审计全走数据流前端即运维台Next.js 管理台把技能市场、trace 调试、终端、渠道发布收敛进浏览器真正做到无 CLI。想深入了解推荐阅读 docs/docs/concepts/ 下的架构概念文档executors.md、skills.md以及快速上手指南 docs/docs/quickstart.md。赞分享【免费下载链接】archiveSkill Compose is an open-source agent builder and runtime platform for skill-powered agents. No workflow graphs. No CLI.项目地址https://gitcode.com/gh_mirrors/sk/archive点击查看免费下载相关推荐pi_agent_rust 架构剖析asupersync结构化并发如何重塑AI Agent运行时pi_agent_rust 架构剖析asupersync结构化并发如何重塑AI Agent运行时 pi_agent_rust 是一个用 Rust 编写的高性人工智能大模型AI Agent代码智能体CLI开发工具工具调用MCP ClientsFiredancer性能调优终极指南10个技巧让你的Solana节点效率翻倍Firedancer性能调优终极指南10个技巧让你的Solana节点效率翻倍 Firedancer作为Jump Crypto开发的Solana共识节点实现凭Qwen3.5-27B-OptiQ-4bit推理服务器搭建兼容OpenAI API的本地部署方案Qwen3.5 27B OptiQ 4bit推理服务器搭建兼容OpenAI API的本地部署方案 想要在本地搭建高性能的Qwen3.5 27B OptiQ 4大模型模型量化NLP基础模型模型推理服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站