AgentSwarms-fyi/agentswarms

GitHub: AgentSwarms-fyi/agentswarms

可自托管的 Agentic AI 与商业智能平台,支持多 agent 可视化编排、RAG 知识库、数据仪表盘和执行 trace,让团队在自有基础设施上运行完整的 AI agent 工作流并连接业务数据。

Stars: 25 | Forks: 4

AgentSwarms

AgentSwarms

部署你自己的 Agentic AI 与商业智能平台。
构建 agent,运行多 agent swarm,将它们与你的数据相连接,并检查 每一条 trace —— 一切都在你自己的基础设施上,使用你自己的密钥。

License: Elastic License 2.0 PRs Welcome Node TanStack Start Supabase Deploy

截图 · 功能 · 快速开始 · 文档 · 自托管 vs. 托管 · 贡献

**AgentSwarms** 是一个完整的、可自托管的、**源码可见**的 Agentic AI 与商业智能平台:包含 agent 对话、可视化多 agent swarm 画布、 带 RAG 的知识库、工具使用、MCP 连接、已连接的数据库与 数据仓库、仪表盘、预算以及完整的执行 trace。它专为 **便捷部署**而设计:一个 Supabase 项目作为后端,一条 Docker 命令即可 运行,并支持**自带一切** —— 你的数据存放在你自己的 Supabase 项目中,模型通过你自己的提供商密钥运行(OpenRouter、OpenAI、 Anthropic、Gemini、Bedrock、Azure、OCI、Qwen、Grok、Groq、Ollama、vLLM…)。 你也可以选择设置一个全实例范围的 OpenRouter 密钥,让实例上的每个用户都能实现零配置开箱即用。 ## 看一眼 **Swarm 画布** —— 以图的形式设计多 agent 工作流并端到端运行。 每个节点都是一个步骤(agent、路由、条件、循环、审批、工具调用); 检查器负责设置其提供商、模型、prompt、工具和知识。 相同的图可以从画布、从 API 以及按计划调度运行。 ![Swarm 画布:一个包含九个节点的“财报电话会议分析师工作台”工作流,左侧为节点面板,右侧为所选 agent 节点的配置](https://static.pigsec.cn/wp-content/uploads/repos/cas/41/41341c29065120ea9765e690773a8dd7bda728875c912d5f6bd239352345e23e.png) **BI 工作区** —— 基于已连接的表和 数据仓库构建的多页仪表盘,支持 KPI、交叉过滤、定时刷新、PDF 导出以及 发布并分享的链接。 ![一个已发布的“一级方程式赛车分析”仪表盘,展示了跨多个页面的 KPI 卡片、柱状图和环形图](https://static.pigsec.cn/wp-content/uploads/repos/cas/1b/1bbec4e1bc146c5d08236bf21528484b09bec636ebc9cf99d6f3c48f29d56af3.png) **Agent 对话,带可视化 BI** —— 用自然语言提问,并在 答案旁边获取根据你自己的数据计算出的图表。生成它的 SQL 会作为来源显示,因此这些数据是可核查的,而不是凭空断言的。 ![Agent 对话正在回答“按地区给出利润”,并附带柱状图,生成的 SQL 列为来源](https://static.pigsec.cn/wp-content/uploads/repos/cas/03/036f757111be8a29f690453143b6e98f697a6368f25f919fc3ce177653c66c6f.png) **Agent 对话,生成文档** —— 将对话和你的数据转化为 真实的、可编辑的 PowerPoint、Word 文档或 Excel 工作簿。Excel 可以拉取 所有行并带有实时的公式,而不是粘贴的静态快照。 ![Agent 对话展示了一个生成的 Word 文档和 PowerPoint 演示文稿,各自带有预览缩略图和下载按钮](https://static.pigsec.cn/wp-content/uploads/repos/cas/77/772db740cfc24e11ec4dae93075c644e2082c812695922713eae417a21c11332.png) **开发者工作区** —— 在沙盒化的服务器内核上运行 Python notebook,预装了 真实的 `langchain`、`langgraph` 和 `llama_index`。模型和知识库 的调用由平台代理,因此沙盒中绝不存在任何提供商密钥。Notebook 可以调用你已部署的 agent,并且它们自身也 可以发布为可调用的 API。 ![开发者工作区展示了只读的“LangChain 基础”示例 notebook,其中包含可运行的 Python 单元格](https://static.pigsec.cn/wp-content/uploads/repos/cas/56/56c0bf7f03bd57c9b22fbd066f4744d22cd9154d52789c3bfe30134b815fd528.png) ## 本仓库 vs. agentswarms.fyi 相同的 UI,两种不同的使命: | | **本仓库(源码可见,Elastic License 2.0)** | **[agentswarms.fyi](https://agentswarms.fyi)(托管版)** | | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **侧重点** | 在你自己的基础设施上**轻松部署完整的 Agentic AI 和 BI 平台** —— 涵盖 agent、swarm、RAG、已连接的数据、仪表盘、trace 和预算。 | **学习优先**:一个用于 Agentic AI 的实操课堂 —— 包含引导式课程、同步实操实验、交互式 notebook、演示文稿以及认证 —— 全部托管的。 | | **运行环境** | 你的 Supabase 项目、你的提供商密钥、你的 Docker 主机。 | 托管的基础设施,包括带有免费层模型的 AI 网关 —— 无需任何配置。 | | **额外特性** | 对你自己的数据进行无头控制;除了你自己的预算外,没有任何使用上限。 | 仅限托管版提供的界面:领域工程博客、社区画廊、语音 agent、网站嵌入以及免费独立工具。 | | **最适合** | 希望在自己拥有的平台上**运行** Agentic AI 的团队和折腾者。 | 希望**学习和实践** Agentic AI 而无需进行任何设置的学习者。 | “AgentSwarms”的名称及托管服务仍归项目作者所有。 ## 功能 | | | | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 🤖 **Agent 对话** | 构建 agent,连接工具,并在浏览器中与之对话(位于 **Build → Agent Chat** 下),支持完整的请求/响应 trace。开启 **Visual BI** 即可在答案旁根据你连接的表渲染图表,并根据你的 prompt + 对话生成完全可编辑的 **PowerPoint、Word 或 Excel** —— Excel 可以拉取带有实时公式的**所有**行。参见 **[Agent 对话与文档生成](./docs/AGENT_CHAT.md)**。 | | 🐝 **Swarm 画布** | 以可视化方式设计多 agent 工作流(基于 [XYFlow](https://xyflow.com) 构建)并端到端执行 —— 无论从画布、从 API,还是按计划执行。已部署的运行**会随着进度进行 checkpoint**,因此某次运行可以在重启或部署后依然存活,而**人工审批步骤会暂停运行**,直到有人做出决定,而不是走过场盲目批准或直接失败。 | | 📚 **知识库 / RAG** | 上传文档,将其分块并嵌入(通过 pgvector),从而用你自己的数据作为 agent 的基础。 | | 🏢 **数据源** | **27 个连接器。** 22 个数据库和数据仓库 —— PostgreSQL、MySQL、**Microsoft SQL Server / Azure SQL**、Oracle、Redshift、Snowflake、Databricks、BigQuery、Azure Synapse、Trino/Starburst/Presto、Athena、**ClickHouse**、**CockroachDB**、**TimescaleDB**、**AlloyDB**、**Greenplum**、**YugabyteDB**、**MariaDB**、**SingleStore**、**StarRocks**、**Apache Doris**、**PlanetScale** —— 原地查询,只读模式,凭据已加密。另有 5 个应用会按计划拉取到数据集中:**Google Sheets、Stripe、Shopify、HubSpot、Salesforce**。为 SQL 工作台、SQL agent、BI 图表、本体和定时刷新提供数据。参见 **[数据源与连接器](./docs/DATA_SOURCES.md)**。 | | 🔑 **密钥管理器** | 只需存储一次凭据(加密,只写),即可在任何地方通过 `{{secret:NAME}}` 进行引用 —— 包括数据仓库连接和提供商密钥。超级管理员可通过 IAM 将密钥与用户/组共享。 | | 🗂️ **数据目录** | 通过向导连接数据仓库、S3 兼容的存储桶(AWS S3、Google Cloud Storage、Cloudflare R2、MinIO、Spaces、B2)或 **Iceberg REST catalog**;爬虫会列出每一个表和对象,将分区文件夹分组为数据集,通过采样推断 CSV/JSON schema,分析列属性(空值百分比、不同值的数量、范围),估算行数,并标记可能包含 PII 的列。支持按日/周计划进行增量爬取并带有 schema 漂移通知,利用 AI 生成资产 + 列文档,通过所有者和标签认证或弃用资产,追溯血缘和使用情况(哪些仪表盘、准备流和指标在使用每个表),定义业务词汇表,并可直接跳转到 SQL 工作台。 | | 📊 **商业智能** | 带有拖放式仪表盘的 BI 工作区:从本地数据集或已连接的数据源构建图表,利用 AI 分析师生成可视化内容(或整个仪表盘),然后通过公开链接发布或与 IAM 组共享。包含企业级深度功能:在所有图表类型(包括地图、矩形树图、热力图)上点击进行交叉过滤和下钻,穿透到底层行,区域/货币数字格式化,带有日期预设和固定默认值的仪表盘过滤,带有小计的可展开矩阵(透视表),带有还原功能的版本历史,带有邮件报告和“变化内容”见解摘要的定时刷新,**增量刷新**(仅重新查询滞后的日期窗口),**SQL 聚合下推**确保在快照限制之外总计依然完整,数据预警(应用内 + 邮件),共享仪表盘上的行级安全**和列级掩码**(均在服务端强制执行),使用情况分析,以及移动端堆叠布局。将仪表盘组织到**工作区和文件夹**中,支持只读的组内共享,将个人草稿**提升**为共享工作区,并将模型/仪表盘定义**导出**到 **Git** 仓库(GitHub/GitLab)。 | | 🔍 **可观测性** | 在完整的执行 trace 中检查每一次工具调用、token 和成本 —— 此外还有关于谁执行了什么操作的审计跟踪(模型调用、数据集和数据仓库查询、仪表盘查看、目录爬取),具有可配置的保留期窗口,以及仅限管理员查看的按用户和 IAM 组细分的支出分析。 | | 🌐 **网页搜索与浏览** | 为 agent 提供 `web_search` 和 `web_browse` 工具。开箱即用,**无需任何密钥**(免费的 DuckDuckGo 备用方案 —— 容量有限);要进行真正全工作区的搜索 + 全文阅读,请在集成页面连接 **Firecrawl**(或设置 `FIRECRAWL_API_KEY`),或者为每个 agent 自带 **Brave / SerpAPI / Tavily / ScrapingBee** 密钥。每次由模型驱动的获取都受到 SSRG 防护。参见 **[网页搜索与浏览](./docs/INSTALL.md#web-search--browsing-optional)**。 | | 🔌 **BYOK + MCP + A2A** | 加密的用户级提供商密钥、MCP server 连接、将 swarm 导出到 LangGraph/CrewAI/OpenAI SDK/Strands,以及 A2A endpoint。 | | 🛠️ **MCP 构建器** | 在 **Build → MCP Builder** 下使用 **FastMCP** 用 Python 编写 MCP server,将其部署到开发者工作区使用的同一沙盒化内核中,并获得真实的 Streamable-HTTP endpoint。默认情况下它会缩减至零(或保持热状态),会自动注册以便你自己的 agent 能够调用它,并且可以通过支持过期、针对单个工具和单个 IP 限制的哈希 API 密钥**公开暴露**。密钥作为环境变量绑定,而绝不会进入容器环境中,如果重新部署更改了任何工具名称、描述或 schema,它将**阻止调用,直到你重新批准** —— 这正是 MCP 自身安全指南所要求的防范“暗 rug pull”的管控措施。需要启用 server runtime。 | | 🛂 **IAM** | 超级管理员、组、邀请/手动用户配置、按用户/组的模型白名单、知识库和数据表的只读共享、仪表盘共享时的行过滤器和隐藏列、仅限邀请模式。 | | 📓 **开发者工作区** | 基于 **沙盒化服务器内核** 的 Python notebook —— 真实的 CPython,支持正常工作的 `pip install,可导入真正的 **LangChain**、**LangGraph** 和 **LlamaIndex**,而不是浏览器的模拟环境。内置了针对每一个的只读、可运行的示例,以及一个混合 agentic 技术栈的集大成者(知识库、工具、技能、护栏、MCP)—— 你可以 fork 任何一个进行编辑。内置的 `agentswarms` 助手会调用你已连接的模型,搜索你的知识库并**运行你保存的 agent 和 swarm**,所有操作均受 IAM 规则约束并记录在 Traces 中 —— 沙盒内绝不存在任何提供商密钥。Notebook 也可以**发布为可调用的 API**,并作为普通的 Python 代码版本控制到 Git。运维人员可以在 **Admin → Developer runtime** 下启用该 runtime;参见 **[runtime 指南](./docs/DEVELOPER_WORKSPACE_RUNTIME.md)**。 | | 🛡️ **护栏与评估** | 提示词注入测试、PII 脱敏,以及可以针对你自己的 agent 运行的 LLM-as-judge 评分。 | ## 快速开始 **一键设置** —— 在你创建了 Supabase 项目并将其密钥放入 `.env`(见下文)之后,一个脚本会处理剩下的事情(密钥、依赖项、迁移,以及 启动整个技术栈): ``` cp .env.example .env # fill in your Supabase keys, then: bash scripts/setup.sh # Docker stack → http://localhost:8080 # bash scripts/setup.sh --dev # 改为使用本地开发服务器 # bash scripts/setup.sh --docgen # + 服务器端 PowerPoint / Word / Excel 渲染器 # Windows PowerShell: powershell -ExecutionPolicy Bypass -File scripts\setup.ps1 ``` 或者手动操作 —— 没有单独的后端需要安装,因为 **Supabase 本身就是后端**(Postgres + Auth + Storage),作为免费层的托管 项目运行,而不是你自己安装任何东西: ``` git clone https://github.com/AgentSwarms-fyi/agentswarms.git cd agentswarms npm install cp .env.example .env # fill in your Supabase + provider keys # 应用一次数据库 schema:npx supabase login && npx supabase link && npx supabase db push npm run dev # → http://localhost:8080 ``` 使用 Docker 自托管(任何支持 Node 的主机 —— VPS、Fly、Railway、Render、K8s): ``` cp .env.example .env # fill in Supabase + keys, apply migrations once docker compose up --build # → http://localhost:8080 ``` 第一次使用?请遵循 **[完整安装指南](./docs/INSTALL.md)** —— 它 涵盖了在 macOS、Linux 和 Windows 上的每一个步骤,包括 Supabase 仪表盘的点击操作,以及针对人们实际遇到的错误的故障排除部分。 想知道你需要什么硬件(剧透:一台 2 vCPU / 4 GB 的 VM, 不需要 GPU)?请参见 **[系统要求与配置规模](./docs/SYSTEM_REQUIREMENTS.md)**。 ## 文档 文档位于 [`docs/`](./docs) 中,每个主题对应一份专门的指南: | 指南 | 涵盖内容 | | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **[安装](./docs/INSTALL.md)** | 在 macOS / Linux / Windows 上的完整本地设置:前置条件、Supabase 项目、环境变量、首次运行和故障排除。 | | **[系统要求与配置规模](./docs/SYSTEM_REQUIREMENTS.md)** | 最低硬件要求(一台 2 vCPU / 4 GB VM —— 无需 GPU),从个人试用到 1000 名用户的规模规划场景,按模型层级划分的 token 预算,自托管模型的 GPU 配置,以及跨越美国、欧洲、中东、印度和 APJC 地区的 AWS / GCP / Azure / OCI 月度成本表。 | | **[生产环境部署](./docs/DEPLOYMENT.md)** | 每一种路径:本地桌面、单一云端 VM (OCI/AWS/GCP)、负载均衡器后的自动扩缩容 VM 以及 Kubernetes —— 外加 TLS、定时任务/cron、健康检查、备份和 PWA 安装。 | | **[测试](./docs/TESTING.md)** | 运行测试套件、差异化的 SQL 引擎测试框架,以及 CI 会拦截什么以及不会拦截什么。 | | **[Agent 对话与文档生成](./docs/AGENT_CHAT.md)** | 与已保存的 agent 对话,每个 agent 的 **Visual BI** 回答,并根据你的 prompt 生成完全可编辑的 **PowerPoint / Word / Excel**(包含示例 vs. 全量数据范围以及实时的 Excel 公式) —— 外加将 agent 嵌入到你自己的网站中。 | | **[数据源与连接器](./docs/DATA_SOURCES.md)** | 每一个数据库 / 数据仓库 / 湖仓连接器(PostgreSQL、MySQL、Oracle、Redshift、Snowflake、Databricks、BigQuery、Synapse、Trino、Athena):字段详情、只读 + 加密凭据模型、`{{secret:NAME}}` 引用,以及数据源如何为数据目录、BI 和 agent 提供数据。 | | **[商业智能](./docs/BUSINESS_INTELLIGENCE.md)** | 仪表盘与 AI 分析师:包含 AI 构建的本体在内的 19 种可视化类型、下钻与预测、定时刷新 + 数据预警、AI 生成的仪表盘、工作区与文件夹、开发→生产环境的提升、Git 导出、发布 / 嵌入 / 导出、数据准备以及连接器。 | | **[语义层](./docs/SEMANTIC_LAYER.md)** | 只需定义一次即可被 BI 和 AI agent(即 `metric_query` 工具)同时调用的受控指标 + 维度,从而确保业务定义的计算保持一致,并且由 AI 选取名称而不是去编写 SQL。模型可以声明 LEFT/INNER join,因此指标可以覆盖星型 schema 而无需预先 join。 | | **[访问控制 (IAM) 与 SSO](./docs/IAM.md)** | 超级管理员、组、用户配置、模型白名单、只读资源分享、仅限邀请模式和 SAML SSO。 | | **[开发者工作区 runtime](./docs/DEVELOPER_WORKSPACE_RUNTIME.md)** | 搭建 notebook 背后的沙盒化 Python 内核:Docker/Kubernetes/E2B 后端、威胁模型与强化、出口白名单,以及如何代理模型和知识库调用以确保没有任何密钥会接触到沙盒。 | | **[扩展 agent](./docs/EXTENDING.md)** | 添加 **技能**(markdown `skill.md` 能力,无需代码)和 **内置工具**(在注册表中定义 + 处理程序 + 门控),以及工具路由指南如何保持数据源选择的合理性。 | | **[架构](./docs/ARCHITECTURE.md)** | 技术栈和项目结构。 | ## 安全 发现漏洞?请参阅 **[SECURITY.md](./SECURITY.md)** 了解如何 负责任地报告它,而不是公开发布 issue。 ## 许可证 AgentSwarms 是基于 **[Elastic License 2.0](./LICENSE)** (ELv2) 的**源码可见**项目。 通俗来讲:你可以自由地**使用、自托管、修改和重新分发**它 —— 但你**不得将其作为托管或托管服务提供给第三方**,并且 你不得移除许可/版权声明。对于 ELv2 不允许的用例 (包括作为 SaaS 运行),可从作者处获得单独的**商业 许可证** —— 如果你有此需求,请联系我们。 **“AgentSwarms”的名称、徽标以及托管服务均为项目 作者的商标**,未获授权不得使用;ELv2 仅涵盖代码,不包括 品牌。 每一个直接依赖项都使用宽松的许可证(MIT / Apache-2.0 / ISC / BSD), 这与 ELv2 下的重新分发兼容 —— 完整的审计和 AgentSwarms 基于其构建的 开源项目的致谢列表位于 **[ACKNOWLEDGEMENTS.md](./ACKNOWLEDGEMENTS.md)**。
使用 TanStack Start 和 Supabase 构建 —— 一个真正为你所有的 Agentic AI 和 BI 平台。
标签:AI智能体, MITM代理, Supabase, 商业智能, 多智能体编排, 检索增强生成, 自动化攻击, 自托管, 请求拦截, 逆向工具