关于 Moira
Moira 是面向 AI Agent 的开源工作流引擎,包含 MCP 服务、Web API 和 Web UI。它为每个步骤提供指令与完成标准,校验提交响应的结构,并保存运行状态以便其他 Agent 会话继续执行。
主要功能
- 01逐步提供指令和完成标准
- 02校验 Agent 响应结构
- 03保存运行状态并支持会话续接
- 04通过界面编辑工作流和检查运行
- 05支持自托管及托管服务
适用场景
- 01运行多步骤 Agent 工作流
- 02在另一个 Agent 会话中续接流程
- 03编辑工作流并检查执行情况
- 04在自有基础设施部署工作流服务
MCP 相关
Agent 通过经过身份验证的 `/mcp` 端点连接 Moira。MCP 服务支持发现和执行工作流,并提供指令、完成标准及经过结构校验的响应提交能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/moira-mcp/moira:0.3.4本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/moira-mcp/moira:0.3.4Streamable HTTP工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Moira
Moira 是面向 AI Agent 的工作流引擎。Agent 通过 Model Context Protocol (MCP)连接,接收当前指令和完成标准,执行工作,并提交经过架构检查的响应。Moira 会持久化执行状态,以便另一个 Agent 会话继续同一次运行。Web UI 提供工作流编辑、运行检查和账户管理功能。 架构验证会检查响应的结构,但无法证明工作确实已完成。
在自己的基础设施上运行这个开源应用,或使用托管服务 moira-mcp.com。此代码库包含引擎、MCP 服务、Web API/UI、 文档和自托管部署内容。请参阅文档索引和 项目结构,了解源码归属。
自托管
安装带有 Compose 插件的 Docker。使用此代码库,或按照自托管指南下载三个部署文件:
docker-compose.yml、.env.example 和 config/traefik-self-host.yml。将入口配置文件放在 Compose 文件旁边。
cp .env.example .env
docker compose up -d
本地默认配置会拉取公开镜像,无需构建源码。打开:
- Web UI:http://localhost:8080
- 文档:http://localhost:8080/docs/(英文)或 http://localhost:8080/ru/docs/(俄文)
- MCP 端点:http://localhost:8080/mcp
如需使用其他主机,请在 .env 中同时设置 MOIRA_HOST、MOIRA_PORT 和 STATIC_ARTIFACTS_DOMAIN。
已发布的 HTML 产物使用产物域名下的独立子域名;公开部署需要配置相应的 DNS 和通配符 TLS。通过入口保留提供的工作区 Upgrade 路由;
普通的前端端口映射并不能替代它。请根据实际拓扑配置代理信任。有关来源、密钥、电子邮件和网络准入,请参阅部署配置。
自托管注册需要管理员批准。首次启动时,镜像会生成缺失的密钥,并仅显示一次生成的管理员密码;默认管理员电子邮件为
[email protected]。请将 data/.secrets.env 与数据库一同妥善保存。登录后,通过管理面板 → 用户批准新账户。自托管使用电子邮件/密码登录;社交登录以及更广泛的跨用户管理和分析遵循单独的 SaaS 政策。有关账户批准、封禁、密码找回和管理员访问权限恢复(包括无法发送真实邮件的安装环境),请参阅账户管理。
连接 Agent 并使用工作流
将 MCP 客户端连接到实例的 /mcp 端点,并完成经过身份验证的授权流程。每个受支持客户端生成的配置,请参阅 MCP 客户端指南。连接名称 moira-local 是客户端标签,与可选的 Local 配套可执行文件无关。
让 Agent 发现可用工作流,并为任务选择当前准确的 owner/slug。工作流目录 介绍了可选项;Agent 指南 说明 prepare/execute、步骤尝试、继续执行和受保护的取消。运行时的 help 可发现英文主题;help({ topic: "tools" }) 会呈现当前的类型化工具目录。网站也提供俄语翻译。
创建或编辑定义时,请参阅工作流编写指南和工作流 CLI。节点语法、模板、工具架构和示例请参阅其规范文档,而不要另行建立 README 目录。对于公开的 HTML 结果,请参阅制品,了解上传、所有权、配额、过期时间和浏览器隔离。
更新与恢复
在安装的 .env 中选择映像,然后:
docker compose pull
docker compose up -d
docker compose ps
在现有自托管数据库执行启动迁移之前,映像会验证 SQLite 快照的一致性和提示词清单状态。映像会保留轮换的恢复状态和中断标记;如果失败,会尝试还原并使服务保持不可用。首次启动有单独的清理路径,因为此时不存在先前的数据库。这些保护措施不能替代运维人员备份。如果初始化失败,请检查 docker compose logs moira,并按照更新与恢复操作;不要绕过保护机制,也不要在故障未变化时反复重启。经确认是捆绑工作流冲突时,请使用目录协调流程。
应用账户、工作流和执行记录保存在 ./data 中。工作区文件、完整命令输出、操作回执和不可变发布内容仍由其工作区服务或配对控制器保存。请分别备份这些私有所有者存储和磁盘;数据库备份不包含其中的文件数据。请妥善保管加密密钥;遇到结果不确定的情况时,应先收集原始操作,再考虑进行其他变更。请参阅工作区恢复和 GitHub Releases。
可选工作区与扩展支持
配对的 Local 控制器可在 GitHub Codespaces 中配置通用工作区服务,并在 Local 微型虚拟机中运行已批准的仓库。注册控制器无需初始化物理 Local VM。Local VM 执行需要受支持的 macOS Apple 芯片运行时以及所有者明确授权;仓库的 Git 权限与社交登录相互独立。从检出目录开始:
npm ci
npm run local:build
npm run local -- --help
请参阅工作区设置与托管,了解配对、物理能力、权限、安装和明确的维护要求。暂存发布版本不会替换正在运行的所有者;退出客户端不会停止其虚拟机。通用的 moira-workspace 来宾 CLI 在 Local 和 GitHub 来宾环境中负责管理命令、文件、会话和原始结果。回复丢失时,应收集原始操作,而不是重放命令或创建替代环境。
扩展默认处于禁用状态。可选的 Compose 配置文件会从此检出目录构建一个独立运行器;二进制通道在其源所有者旁运行。请参阅启用扩展和编写扩展,了解捆绑包安装、权限、用户设置和故障边界。
参与贡献
请阅读 CONTRIBUTING,了解问题协调、拉取请求、DCO 和发布策略。使用 Node.js 24 和根目录 npm 工作区:
nvm use
npm ci
贡献者设置介绍了隔离的开发容器、环境选择和原生构建命令。测试指南说明测试套件选择和根目录 npm 入口;覆盖率地图标示了受维护的测试夹具。请勿将一次性贡献者容器用于存储持久安装数据。
请从 docs/README.md 开始,了解架构、执行、HTTP/身份验证、工作区、UI 模式、文档维护责任、可观测性和运维流程。自定义 Claude Code 命令的说明见 commands/README.md。当前工作通过 GitHub Issues 跟踪。
许可证、安全与品牌
源代码采用 Apache-2.0 许可。请参阅第三方声明、关于名称和徽标使用的商标政策、行为准则,以及用于报告漏洞的 SECURITY.md。私有部署的品牌、机密和运维资料应存放在此公开仓库之外。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。