Zing 论坛

正文

Nexaas 框架:面向中小企业的 AI 驱动 SaaS 自动化平台

深入解析 Nexaas 框架如何基于 Trigger.dev 和 Claude Code 构建多租户 AI 工作流编排系统

AI SaaSTrigger.devClaude Code工作流自动化多租户MCP中小企业AI编排
发布时间 2026/04/05 10:13最近活动 2026/04/05 10:23预计阅读 15 分钟
Nexaas 框架:面向中小企业的 AI 驱动 SaaS 自动化平台
1

章节 01

导读 / 主楼:Nexaas 框架:面向中小企业的 AI 驱动 SaaS 自动化平台

深入解析 Nexaas 框架如何基于 Trigger.dev 和 Claude Code 构建多租户 AI 工作流编排系统

2

章节 02

背景

背景:中小企业自动化的困境\n\n在数字化转型的浪潮中,中小企业面临着独特的挑战。它们需要自动化的效率提升,但又往往缺乏大型企业那样的技术团队和预算来构建定制化的解决方案。现有的自动化工具要么过于简单无法满足复杂业务需求,要么过于复杂难以部署和维护。\n\nNexmatic 团队开发的 Nexaas 框架正是为了解决这一矛盾。它是一个专有的技术骨干,支撑着一个面向中小企业的 AI 业务自动化平台。通过巧妙地组合开源工具和自研组件,Nexaas 提供了一个既强大又易于管理的解决方案。\n\n## Nexaas 架构概览\n\nNexaas 的设计理念是构建"持久的、上下文感知的 AI 工作流",并在多个隔离的客户工作空间之间进行编排。其核心架构包含以下关键组件:\n\n### 任务调度与执行层\n\nTrigger.dev(自托管) 构成了系统的任务调度 backbone。它负责任务的调度、队列管理、重试机制和可观测性。选择自托管而非 SaaS 版本,使得团队能够完全控制数据隐私和系统性能,这对于处理客户敏感业务数据至关重要。\n\nClaude Code CLI 作为无头 AI 执行引擎,在 Trigger 任务中运行。这种设计使得 AI 能力可以无缝集成到自动化工作流中,同时保持代码优先的开发体验。\n\n### 编排与上下文管理\n\n编排器(Orchestrator) 是 Nexaas 的核心创新之一。它负责:\n\n- 工作空间会话的启动和引导\n- 上下文连续性管理,确保 AI 在多次交互中保持一致的认知\n- 技能反馈循环,持续优化 AI 表现\n\n每个客户工作空间都是完全隔离的,这种多租户架构确保了数据安全和客户间的互不干扰。\n\n### 可视化仪表板\n\n基于 Next.js 构建的仪表板提供了直观的用户界面,包括:\n\n- 工作空间可视化:一目了然地查看所有客户工作空间的状态\n- 代理管理:配置和监控 AI 代理的运行情况\n- 实时监控:跟踪任务执行、错误率和性能指标\n\n## 项目结构深度解析\n\nNexaas 的代码库组织体现了清晰的分层架构思想:\n\n\nNexmatic (产品)\n└── Nexaas (技术骨干)\n ├── trigger/ # Trigger.dev 任务定义和稳定库\n │ ├── tasks/ # run-agent, run-skill, cron-tasks\n │ └── lib/ # claude.ts, shell.ts, telegram.ts\n ├── orchestrator/ # 工作空间会话引导\n │ └── bootstrap/ # createWorkspaceSession() 入口\n ├── skills/ # 可复用 AI 能力(技能注册表)\n │ └── _registry.yaml # 主技能索引\n ├── agents/ # 代理定义\n ├── mcp/ # MCP 服务器配置和注册表\n ├── workspaces/ # 客户工作空间清单\n ├── platform/ # Docker Compose 技术栈\n ├── database/ # 统一 Postgres 模式和迁移\n ├── dashboard/ # Next.js UI\n └── scripts/ # 部署、配置、健康检查\n\n\n这种结构的优势在于关注点分离:基础设施、业务逻辑、AI 能力和用户界面各自独立,便于维护和扩展。\n\n## 技能系统:可复用的 AI 能力\n\nNexaas 的技能系统是其架构的亮点之一。技能被定义为可跨工作空间复用的 AI 能力单元,每个技能包含:\n\n- skill.yaml:清单文件,定义技能 ID、版本、资源、输入输出\n- prompt.md:Claude 指令,描述技能的行为和约束\n- task.ts:Trigger.dev 任务包装器(可选)\n- tests/:测试用例\n\n所有技能都在 skills/_registry.yaml 中注册,形成统一的技能目录。这种设计使得新能力的添加和现有能力的更新都变得标准化和可追踪。\n\n例如,一个"邮件分类"技能可以定义输入为原始邮件内容,输出为分类标签和优先级,然后在多个客户工作空间中复用,每个工作空间可以根据自己的业务规则进行微调。\n\n## MCP 服务器生态\n\nNexaas 集成了 16 个 MCP(Model Context Protocol)服务器,提供丰富的外部能力:\n\n- filesystem:文件系统操作\n- email/m365:邮件和 Microsoft 365 集成\n- github:代码仓库交互\n- postgres:数据库访问\n- playwright:浏览器自动化\n- brave-search:网络搜索\n- slack/telegram:即时通讯\n- sequential-thinking:链式思考支持\n- memory:长期记忆存储\n- fetch:HTTP 请求\n- nextcloud:云存储\n- vaultwarden:密码管理\n- docuseal:文档签名\n- groundhogg:营销自动化\n\n每个服务器都在 mcp/_registry.yaml 中记录端口、能力和环境变量要求,确保配置的一致性和可发现性。\n\n## 生产级稳定性特性\n\nNexaas 的设计充分考虑了生产环境的严苛要求,包含多项稳定性特性:\n\n| 特性 | 实现方式 |\n|------|----------|\n| OOM 防护 | systemd MemoryMax=6G / MemoryHigh=5G |\n| 并发限制 | --max-concurrent-runs 5(每个 Claude CLI 约 1.5GB) |\n| 进程清理 | detached: true + 负 PID 杀死(整个进程树) |\n| MCP 上下文溢出 | 每任务 --strict-mcp-config 白名单 |\n| 自愈能力 | 全局 onFailure 处理器,Claude 自动诊断 |\n| 队列分离 | claude-agents(3), yaml-checks(2), data-sync(2) |\n\n这些特性来自实际生产部署的经验教训,确保了系统在高负载下的稳定性。\n\n## 工作空间配置模型\n\n每个客户工作空间通过 JSON 清单文件声明:\n\njson\n{\n \"id\": \"client-id\",\n \"name\": \"Client Name\",\n \"workspaceRoot\": \"/opt/workspaces/client-id\",\n \"skills\": [\"msp/email-triage\", \"finance/receipt-scanner\"],\n \"agents\": [\"ops-monitor\"],\n \"mcp\": {\n \"filesystem\": \"http://localhost:3100\",\n \"email\": \"http://localhost:3101\"\n },\n \"capabilities\": {\n \"playwright\": true,\n \"docker\": true,\n \"bash\": true\n }\n}\n\n\n这种声明式配置使得工作空间的创建和管理变得可自动化。createWorkspaceSession(workspaceId) 函数会加载清单,解析 MCP 服务器,返回完整的会话上下文,为后续 AI 任务执行做好准备。\n\n## 部署与运维\n\nNexaas 提供了完整的部署支持:\n\n1. 开发环境docker compose up -d 启动平台栈,npm run dev 启动 Trigger.dev 工作进程\n2. 生产环境:systemd 服务管理,自动启动和监控\n3. 工作空间配置./scripts/provision-workspace.sh 脚本自动化新客户的接入\n\n这种设计使得从开发到生产的过渡平滑,降低了运维复杂度。\n\n## 技术选型思考\n\nNexaas 的技术栈选择体现了务实的工程思维:\n\n- Trigger.dev 而非自建:专注于业务价值而非基础设施\n- 自托管而非 SaaS:数据主权和成本控制\n- Claude Code CLI 而非 API:代码优先,版本可控\n- Next.js 仪表板:React 生态的成熟度和开发者体验\n- Postgres 统一存储:简化运维,事务一致性\n\n这些选择都是为了在功能、成本和可维护性之间找到最佳平衡点。\n\n## 对行业的启示\n\nNexaas 框架展示了一种构建 AI 驱动 SaaS 的务实路径。它证明了通过合理组合现有工具,可以构建出既强大又可维护的解决方案,而不需要从头造轮子。\n\n对于希望构建类似平台的团队,Nexaas 提供了以下启示:\n\n1. 分层架构:清晰的关注点分离是长期可维护的基础\n2. 配置即代码:声明式配置使得系统行为可版本控制和审计\n3. 技能抽象:将 AI 能力封装为可复用单元,提升开发效率\n4. 生产优先:从一开始就考虑稳定性、可观测性和故障恢复\n5. 渐进部署:从开发到生产的平滑路径降低采用门槛\n\n## 结语\n\nNexaas 是一个精心设计的框架,它不仅仅是一堆工具的堆砌,而是一个有机的整体,每个组件都服务于"为中小企业提供 AI 自动化能力"这一核心目标。虽然它是 Nexmatic 产品的专有技术骨干,但其架构思想和实现模式对整个行业都具有参考价值。在 AI 应用从实验走向生产的今天,Nexaas 提供了一个值得学习的范例。

3

章节 03

补充观点 1

背景:中小企业自动化的困境\n\n在数字化转型的浪潮中,中小企业面临着独特的挑战。它们需要自动化的效率提升,但又往往缺乏大型企业那样的技术团队和预算来构建定制化的解决方案。现有的自动化工具要么过于简单无法满足复杂业务需求,要么过于复杂难以部署和维护。\n\nNexmatic 团队开发的 Nexaas 框架正是为了解决这一矛盾。它是一个专有的技术骨干,支撑着一个面向中小企业的 AI 业务自动化平台。通过巧妙地组合开源工具和自研组件,Nexaas 提供了一个既强大又易于管理的解决方案。\n\nNexaas 架构概览\n\nNexaas 的设计理念是构建"持久的、上下文感知的 AI 工作流",并在多个隔离的客户工作空间之间进行编排。其核心架构包含以下关键组件:\n\n任务调度与执行层\n\nTrigger.dev(自托管) 构成了系统的任务调度 backbone。它负责任务的调度、队列管理、重试机制和可观测性。选择自托管而非 SaaS 版本,使得团队能够完全控制数据隐私和系统性能,这对于处理客户敏感业务数据至关重要。\n\nClaude Code CLI 作为无头 AI 执行引擎,在 Trigger 任务中运行。这种设计使得 AI 能力可以无缝集成到自动化工作流中,同时保持代码优先的开发体验。\n\n编排与上下文管理\n\n编排器(Orchestrator) 是 Nexaas 的核心创新之一。它负责:\n\n- 工作空间会话的启动和引导\n- 上下文连续性管理,确保 AI 在多次交互中保持一致的认知\n- 技能反馈循环,持续优化 AI 表现\n\n每个客户工作空间都是完全隔离的,这种多租户架构确保了数据安全和客户间的互不干扰。\n\n可视化仪表板\n\n基于 Next.js 构建的仪表板提供了直观的用户界面,包括:\n\n- 工作空间可视化:一目了然地查看所有客户工作空间的状态\n- 代理管理:配置和监控 AI 代理的运行情况\n- 实时监控:跟踪任务执行、错误率和性能指标\n\n项目结构深度解析\n\nNexaas 的代码库组织体现了清晰的分层架构思想:\n\n\nNexmatic (产品)\n└── Nexaas (技术骨干)\n ├── trigger/ Trigger.dev 任务定义和稳定库\n │ ├── tasks/ run-agent, run-skill, cron-tasks\n │ └── lib/ claude.ts, shell.ts, telegram.ts\n ├── orchestrator/ 工作空间会话引导\n │ └── bootstrap/ createWorkspaceSession() 入口\n ├── skills/ 可复用 AI 能力(技能注册表)\n │ └── _registry.yaml 主技能索引\n ├── agents/ 代理定义\n ├── mcp/ MCP 服务器配置和注册表\n ├── workspaces/ 客户工作空间清单\n ├── platform/ Docker Compose 技术栈\n ├── database/ 统一 Postgres 模式和迁移\n ├── dashboard/ Next.js UI\n └── scripts/ 部署、配置、健康检查\n\n\n这种结构的优势在于关注点分离:基础设施、业务逻辑、AI 能力和用户界面各自独立,便于维护和扩展。\n\n技能系统:可复用的 AI 能力\n\nNexaas 的技能系统是其架构的亮点之一。技能被定义为可跨工作空间复用的 AI 能力单元,每个技能包含:\n\n- skill.yaml:清单文件,定义技能 ID、版本、资源、输入输出\n- prompt.md:Claude 指令,描述技能的行为和约束\n- task.ts:Trigger.dev 任务包装器(可选)\n- tests/:测试用例\n\n所有技能都在 skills/_registry.yaml 中注册,形成统一的技能目录。这种设计使得新能力的添加和现有能力的更新都变得标准化和可追踪。\n\n例如,一个"邮件分类"技能可以定义输入为原始邮件内容,输出为分类标签和优先级,然后在多个客户工作空间中复用,每个工作空间可以根据自己的业务规则进行微调。\n\nMCP 服务器生态\n\nNexaas 集成了 16 个 MCP(Model Context Protocol)服务器,提供丰富的外部能力:\n\n- filesystem:文件系统操作\n- email/m365:邮件和 Microsoft 365 集成\n- github:代码仓库交互\n- postgres:数据库访问\n- playwright:浏览器自动化\n- brave-search:网络搜索\n- slack/telegram:即时通讯\n- sequential-thinking:链式思考支持\n- memory:长期记忆存储\n- fetch:HTTP 请求\n- nextcloud:云存储\n- vaultwarden:密码管理\n- docuseal:文档签名\n- groundhogg:营销自动化\n\n每个服务器都在 mcp/_registry.yaml 中记录端口、能力和环境变量要求,确保配置的一致性和可发现性。\n\n生产级稳定性特性\n\nNexaas 的设计充分考虑了生产环境的严苛要求,包含多项稳定性特性:\n\n| 特性 | 实现方式 |\n|------|----------|\n| OOM 防护 | systemd MemoryMax=6G / MemoryHigh=5G |\n| 并发限制 | --max-concurrent-runs 5(每个 Claude CLI 约 1.5GB) |\n| 进程清理 | detached: true + 负 PID 杀死(整个进程树) |\n| MCP 上下文溢出 | 每任务 --strict-mcp-config 白名单 |\n| 自愈能力 | 全局 onFailure 处理器,Claude 自动诊断 |\n| 队列分离 | claude-agents(3), yaml-checks(2), data-sync(2) |\n\n这些特性来自实际生产部署的经验教训,确保了系统在高负载下的稳定性。\n\n工作空间配置模型\n\n每个客户工作空间通过 JSON 清单文件声明:\n\njson\n{\n \"id\": \"client-id\",\n \"name\": \"Client Name\",\n \"workspaceRoot\": \"/opt/workspaces/client-id\",\n \"skills\": [\"msp/email-triage\", \"finance/receipt-scanner\"],\n \"agents\": [\"ops-monitor\"],\n \"mcp\": {\n \"filesystem\": \"http://localhost:3100\",\n \"email\": \"http://localhost:3101\"\n },\n \"capabilities\": {\n \"playwright\": true,\n \"docker\": true,\n \"bash\": true\n }\n}\n\n\n这种声明式配置使得工作空间的创建和管理变得可自动化。createWorkspaceSession(workspaceId) 函数会加载清单,解析 MCP 服务器,返回完整的会话上下文,为后续 AI 任务执行做好准备。\n\n部署与运维\n\nNexaas 提供了完整的部署支持:\n\n1. 开发环境docker compose up -d 启动平台栈,npm run dev 启动 Trigger.dev 工作进程\n2. 生产环境:systemd 服务管理,自动启动和监控\n3. 工作空间配置./scripts/provision-workspace.sh 脚本自动化新客户的接入\n\n这种设计使得从开发到生产的过渡平滑,降低了运维复杂度。\n\n技术选型思考\n\nNexaas 的技术栈选择体现了务实的工程思维:\n\n- Trigger.dev 而非自建:专注于业务价值而非基础设施\n- 自托管而非 SaaS:数据主权和成本控制\n- Claude Code CLI 而非 API:代码优先,版本可控\n- Next.js 仪表板:React 生态的成熟度和开发者体验\n- Postgres 统一存储:简化运维,事务一致性\n\n这些选择都是为了在功能、成本和可维护性之间找到最佳平衡点。\n\n对行业的启示\n\nNexaas 框架展示了一种构建 AI 驱动 SaaS 的务实路径。它证明了通过合理组合现有工具,可以构建出既强大又可维护的解决方案,而不需要从头造轮子。\n\n对于希望构建类似平台的团队,Nexaas 提供了以下启示:\n\n1. 分层架构:清晰的关注点分离是长期可维护的基础\n2. 配置即代码:声明式配置使得系统行为可版本控制和审计\n3. 技能抽象:将 AI 能力封装为可复用单元,提升开发效率\n4. 生产优先:从一开始就考虑稳定性、可观测性和故障恢复\n5. 渐进部署:从开发到生产的平滑路径降低采用门槛\n\n结语\n\nNexaas 是一个精心设计的框架,它不仅仅是一堆工具的堆砌,而是一个有机的整体,每个组件都服务于"为中小企业提供 AI 自动化能力"这一核心目标。虽然它是 Nexmatic 产品的专有技术骨干,但其架构思想和实现模式对整个行业都具有参考价值。在 AI 应用从实验走向生产的今天,Nexaas 提供了一个值得学习的范例。