AgentSwarms-fyi/agentswarms
GitHub: AgentSwarms-fyi/agentswarms
可自托管的 Agentic AI 与商业智能平台,支持多 agent 可视化编排、RAG 知识库、数据仪表盘和执行 trace,让团队在自有基础设施上运行完整的 AI agent 工作流并连接业务数据。
Stars: 25 | Forks: 4
**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 以及按计划调度运行。

**BI 工作区** —— 基于已连接的表和
数据仓库构建的多页仪表盘,支持 KPI、交叉过滤、定时刷新、PDF 导出以及
发布并分享的链接。

**Agent 对话,带可视化 BI** —— 用自然语言提问,并在
答案旁边获取根据你自己的数据计算出的图表。生成它的 SQL
会作为来源显示,因此这些数据是可核查的,而不是凭空断言的。

**Agent 对话,生成文档** —— 将对话和你的数据转化为
真实的、可编辑的 PowerPoint、Word 文档或 Excel 工作簿。Excel 可以拉取
所有行并带有实时的公式,而不是粘贴的静态快照。

**开发者工作区** —— 在沙盒化的服务器内核上运行 Python notebook,预装了
真实的 `langchain`、`langgraph` 和 `llama_index`。模型和知识库
的调用由平台代理,因此沙盒中绝不存在任何提供商密钥。Notebook
可以调用你已部署的 agent,并且它们自身也
可以发布为可调用的 API。

## 本仓库 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, 商业智能, 多智能体编排, 检索增强生成, 自动化攻击, 自托管, 请求拦截, 逆向工具