Fusio
把数据库、微服务和业务逻辑发布为面向用户与 AI 智能体的自托管 API。
证据显示平台可自托管,建议将管理应用部署在内部子域,并明确列出市场、SDKgen、TypeHub、APImon及多个AI提供商等外部交互;许可证和项目渠道也提供了一定来源归属。扣分原因是没有展示细粒度最小权限策略、AI生成代码执行前的明确确认或审查关卡、完整的数据流/遥测说明、密钥存储与脱敏措施或回滚机制;Docker示例还包含固定的弱演示凭据。依赖仅通过Composer和未固定到提交哈希的GitHub Actions安装,未见漏洞扫描、供应链策略或依赖更新措施。未发现红线行为,但发布者身份仍属未知。
README中的Docker、手动安装、数据库支持、Action/Operation模型与CI中的迁移、用户创建、登录和部署流程基本一致;CI覆盖PHP 8.4和8.5,并配置MySQL,说明主要依赖和部署路径具有一定连贯性。扣分在于提供的材料没有错误处理规范、面向用户的失败消息、重试/降级行为或依赖不可用时的处理证据;静态审查也未执行这些流程。
材料清楚覆盖遗留数据库、微服务、定制逻辑、开发者门户、SDK、商业化和AI Agent等多类受众及场景,并支持MySQL、PostgreSQL、SQLite、PHP、JavaScript、Python以及多种AI提供商。扣分是Agent能力边界和生成代码的安全限制交代不足,何时触发、批准或执行AI生成Action并不精确;生产环境配置只给出概括性Nginx/Apache或Docker指引。
README结构清晰,包含功能、Docker及手动安装、入门示例、集成、部署域名、文档和支持渠道;Apache-2.0全文使许可信息完整。扣分是版本与变更历史只通过“7.0”和发布链接间接体现,没有随附变更日志或兼容性政策;已知限制、安全限制及FAQ很少;维护渠道明确但责任主体、发布承诺和发布者身份未被当前材料验证。
Action示例、可配置表单、Worker、多语言支持、SDK和门户说明表明产物可直接服务于API构建与消费,集中式API管理相对手工拼装具有合理增量价值。扣分是可扩展性、零成本SDK生成、负载均衡和AI辅助等效果主要是产品陈述,缺少本材料内的基准、案例或量化收益;运行成本、外部服务费用、模型费用和运维负担没有说明。
部分主张可追溯到具体安装命令、代码示例、CI步骤和许可证,README与CI对迁移和账户配置形成有限交叉印证。扣分是多数广泛功能和效果主张没有随附源代码位置、测试映射或本地证据,多项证明指向未提供的外部文档;营销陈述、已验证事实与推断之间也没有明确标注。
- AI生成的Worker Action属于可执行后端逻辑;材料未显示执行前审批、沙箱、权限限制或自动安全检查,部署前应人工审查并在隔离环境测试。
- 不要在生产环境复用README中的项目密钥、数据库密码或管理员示例凭据;还应按建议删除install.php并限制管理后台暴露范围。
- 启用ChatGPT、Gemini、市场、SDKgen、TypeHub或监控服务前,应独立确认发送的数据、凭据存储、保留策略、费用及失败行为。
- 当前证据未包含依赖清单、锁文件内容、安全扫描结果或回滚流程;上线前需另行完成供应链审查、备份及恢复演练。
这个 Agent 能做什么,适合哪些场景?
Fusio 是用 PHP 编写的自托管 API 管理平台和 API 网关,可将数据库、微服务及自定义业务逻辑封装为 REST API 产品。其核心执行单元是 Action:它接收 RequestInterface、ParametersInterface 与 ContextInterface,并将结果作为接口响应返回;Operation 决定对应的 HTTP 方法和路径。开发者可以编写 PHP Action,也可以通过 Worker 在后台使用 PHP、JavaScript 或 Python实现逻辑。平台还提供开发者门户、OpenAPI 接口、客户端 SDK 生成、订阅与配额、计费、分析和错误日志。原生 MCP 支持可把 API 暴露给 AI 生态,而 7.0 引入的 Agent 能通过自然语言生成 Worker Action,并支持 Ollama、ChatGPT 和 Gemini。它适合希望在自有基础设施内统一构建、发布和运营 API 的团队,但生产部署、数据库、外部服务凭据及安全配置仍需自行管理。
请求到达 Fusio 后,Operation 根据 HTTP 方法和路径选择相应 Action。实现 Engine\ActionInterface 的 PHP 类通过 handle() 读取 Engine\RequestInterface、配置参数 Engine\ParametersInterface 和运行上下文 Engine\ContextInterface,然后返回可作为 API 响应的数据。ActionAbstract 还可通过 configure() 和 Engine\Form\BuilderInterface 声明可在后台表单中修改的参数。除自定义 PHP 类外,Worker 支持直接在后台开发 PHP、JavaScript 或 Python逻辑;Agent 则根据自然语言描述生成 Worker Action。平台可将 MySQL、PostgreSQL 等 SQL/NoSQL 数据源公开为 REST API,也能路由、编排和负载均衡微服务流量。它进一步生成开发者门户、OpenAPI 规范和多语言 SDK,并处理 API 密钥、订阅计划、配额、自动计费、使用分析、性能指标及错误日志;原生 MCP 接口可将这些 API 能力作为 AI 工具提供。
- 维护遗留 MySQL 或 PostgreSQL 系统的团队,需要在不重写整个后端的情况下对外发布受管理的 REST API。
- 采用微服务架构的平台团队,需要一个自托管入口来保护、路由、编排和负载均衡服务流量。
- PHP 开发者需要把可复用业务类绑定到明确的 HTTP 方法与路径,并通过后台配置参数调整行为。
- 熟悉 JavaScript 或 Python 的团队,希望通过 Worker 在管理后台实现接口逻辑,而不是创建自定义 PHP 类。
- API 产品团队需要开发者门户、文档、测试工具、密钥、SDK、订阅计划、配额、计费和使用分析。
- 构建 AI 集成的团队,希望通过 MCP 将后端 API 暴露为智能体工具,或使用 Ollama、ChatGPT、Gemini生成 Worker Action。
这个 Agent 有哪些优点和局限?
- 把 API 网关、Action 执行模型、开发者门户、SDK 生成、商业化与监控集中在一个自托管平台中。
- 同时支持 PHP 类和后台 Worker;Worker 可使用 PHP、JavaScript 或 Python,便于不同技术栈的团队参与。
- 原生 MCP 可把已有 API 转换为 AI 生态可用的能力,Agent 还支持 Ollama、ChatGPT 和 Gemini,避免绑定单一模型提供商。
- 提供 Docker、手动安装和网页安装器三种部署路径,并支持 MySQL、PostgreSQL 与 SQLite。
- Action 配置可自动生成后台表单,使同一逻辑能由开发者和非技术用户复用。
- 生产环境不能依赖 README 中的 PHP 内置服务器,必须自行配置 Nginx/Apache 或采用 Docker。
- 团队需要负责 Fusio 实例、数据库、域名结构、管理员凭据、项目密钥以及安装脚本清理等运维和安全工作。
- SDKgen 等部分生态能力要求注册外部服务并配置 client_id 与 client_secret,并非全部功能都完全包含在本地实例中。
- MCP、自动计费、负载均衡和各 AI 提供商的具体配置步骤未在给出的安装示例中展开,采用前需要进一步验证部署细节。
- AI 生成能力依赖 Ollama、ChatGPT 或 Gemini 等提供商;不同提供商的模型质量、费用和联网要求没有在材料中量化。
如何安装或部署这个 Agent?
Docker 快速部署:创建 compose.yaml,定义 fusio/fusio 服务并设置 FUSIO_PROJECT_KEY、FUSIO_CONNECTION、FUSIO_BACKEND_USER、FUSIO_BACKEND_EMAIL、FUSIO_BACKEND_PW,将 8080 映射到容器的 80;同时配置 MySQL 8.0 服务及 MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE。运行 docker compose up -d,然后访问 http://localhost:8080/apps/fusio,使用所配置的后台凭据登录。
手动安装:运行 git clone https://github.com/apioo/fusio.git,在 .env 中设置 APP_CONNECTION=pdo-mysql://root:password@localhost/fusio,并建议设置 APP_URL=http://localhost:8080。连接也可使用 pdo-pgsql://user:pass@host/db 或 pdo-sqlite:///fusio.sqlite。随后依次运行 php bin/fusio migrate、php bin/fusio adduser(选择 Administrator)和 php bin/fusio marketplace:install fusio。仅限开发测试时,可运行 php -S 127.0.0.1:8080 -t public;生产环境应使用 Nginx/Apache 或 Docker。也可访问 /install.php 使用网页安装器,完成后建议删除该脚本。
如何使用这个 Agent?
先在后台创建 Action,再创建 Operation,将该 Action 绑定到具体 HTTP 方法和路径。最小 PHP Action 实现 Fusio\Engine\ActionInterface,其 handle(Engine\RequestInterface $request, Engine\ParametersInterface $configuration, Engine\ContextInterface $context): mixed 可返回例如 ['hello' => 'world']。如需后台可配置参数,可继承 Engine\ActionAbstract,在 configure() 中调用 $builder->add($elementFactory->newInput('message', 'Message', 'text', 'The message which should be returned')),再通过 $configuration->get('message') 生成响应。也可以在 Worker 设计器中使用 PHP、JavaScript 或 Python编写逻辑。AI 工作流中,可向 Agent 描述所需逻辑,例如要求返回 19 世纪著名作曲家列表,由其生成对应 Worker Action。管理界面位于 /apps/fusio/;应用和 Action 可通过 Marketplace 安装,客户端则可使用官方 C#、Go、Java、JavaScript、PHP、Python SDK,或直接调用 REST API。
这个 Agent 与同类方案有什么区别?
部署方式上,Docker Compose 是最快的本地体验路径,并同时提供 Fusio 与 MySQL;手动安装允许自行选择 MySQL、PostgreSQL 或 SQLite,但需要执行迁移、创建管理员并为生产环境配置 Nginx/Apache;网页安装器更偏向交互式安装,完成后应删除 /install.php。开发方式上,自定义 PHP Action 适合纳入代码库并实现明确接口,Worker 更适合直接在后台使用 PHP、JavaScript 或 Python编写逻辑,Agent 则通过 Ollama、ChatGPT 或 Gemini 根据提示生成 Worker Action。客户端集成既可使用官方 SDK,也可直接调用 REST API;SDK 简化常用交互,REST API 则提供更直接的控制。
常见问题
Fusio 必须使用云端 AI 服务吗?
能否只把 Fusio 当作普通 API 网关,不使用 AI?
支持哪些数据库?
是否可以直接用于生产环境?
php -S 127.0.0.1:8080 -t public 仅供测试。生产环境需要经典的 Nginx/Apache 配置或 Docker,并应正确设置 APP_URL、域名、数据库和凭据。