资讯动态

从本地到生产环境:Mission Control 安全部署完整清单(Bearer认证、HMAC Webhook 与 SQLite 备份)

发布时间:2026/10/9 10:12:10 来源:尧图企业网站定制
从本地到生产环境Mission Control 安全部署完整清单Bearer认证、HMAC Webhook 与 SQLite 备份【免费下载链接】mission-controlThe worlds first Autonomous Product Engine (APE): AI agents research your market, generate features, and ship code as PRs. Convoy mode, crash recovery, cost tracking, 80 API endpoints. Self-hosted via OpenClaw Gateway.项目地址: https://gitcode.com/gh_mirrors/mission/mission-controlMission Control 是一款可自托管的自主产品引擎Autonomous Product EngineAI Agent 负责研究市场、生成功能点并把代码以 PR 的形式交付。当你准备把它从开发机迁到服务器时安全配置就是重中之重。本文将带你完整走完生产部署流程Bearer Token API 认证、HMAC 签名的 Webhook 校验、以及 SQLite 数据库的备份与恢复附一份可直接勾选的部署清单。为什么要先做安全部署Mission Control 暴露了 80 个 API 端点其中包含创建/删除 Agent、回滚数据库、恢复备份等敏感操作。默认情况下它面向本地开发设计不设置MC_API_TOKEN时API 认证是关闭的且启动时会打印一条[SECURITY WARNING]警告Webhook 未配置密钥时会跳过签名校验仅限开发环境所有敏感值都应放在.env.local已被 gitignore绝不提交到仓库因此上生产环境的第一原则先把认证和密钥配好再开服务。完整的官方指引见 PRODUCTION_SETUP.md。第一步配置 Bearer Token 认证认证逻辑集中在 src/middleware.ts它拦截所有/api/*请求规则非常清晰请求类型认证方式浏览器同源请求UI 调自己的 API自动放行校验 Origin/Referer外部 API 调用curl、Agent 编排必须携带Authorization: Bearer tokenSSE 实时流/api/events/stream支持?tokentoken查询参数/api/health*健康检查免认证供外部监控探测/api/webhooks/*走各自的 HMAC 签名校验见下文操作要点生成一个高强度令牌openssl rand -hex 32写入.env.localMC_API_TOKEN你的令牌重启服务后用一条不带令牌的请求验证是否返回 401curl -i http://your-server:4000/api/agents # 预期401 Unauthorized 另外DEMO_MODEtrue可一键开启只读演示模式所有写操作POST/PUT/DELETE会被直接拦截返回 403非常适合公网展示实例。第二步为 Webhook 配置 HMAC 签名密钥Webhook 是外部系统GitHub、Jira、Agent回调 Mission Control 的入口必须校验签名防止伪造事件触发回滚等危险操作。三条 Webhook 路由各自独立验签1. GitHub WebhookPR 合并 / CI 失败回滚源码见 src/app/api/webhooks/github/route.ts环境变量GITHUB_WEBHOOK_SECRET校验X-Hub-Signature-256头用createHmac(sha256)重算摘要并用timingSafeEqual做恒定时间比较防时序攻击签名不匹配直接返回 4012. Jira Webhook工单同步源码见 src/app/api/webhooks/jira/route.ts密钥来自 Jira 集成配置JiraConfig.webhookSecret校验X-Hub-Signaturesha256hex格式未配置 Jira 时端点返回 503不会泄露内部状态3. Agent 完成回调源码见 src/app/api/webhooks/agent-completion/route.ts环境变量WEBHOOK_SECRET校验x-webhook-signature头同样是 HMAC-SHA256操作要点每个来源使用独立的密钥不要复用同一个密钥全部通过环境变量注入生产配置示例GITHUB_WEBHOOK_SECRETopenssl rand -hex 32 WEBHOOK_SECRETopenssl rand -hex 32第三步生产环境变量与构建参考 PRODUCTION_SETUP.md 中的生产章节创建.env.production.localNODE_ENVproduction DATABASE_PATH/var/lib/mission-control/mission-control.db WORKSPACE_BASE_PATH/var/lib/mission-control/workspace PROJECTS_PATH/var/lib/mission-control/workspace/projects MISSION_CONTROL_URLhttps://mission-control.yourdomain.com OPENCLAW_GATEWAY_URLwss://gateway.yourdomain.com OPENCLAW_GATEWAY_TOKENopenssl rand -hex 32 MC_API_TOKENopenssl rand -hex 32然后执行构建与启动npm run build npm start⚠️ 远程连接 OpenClaw Gateway 时必须配置OPENCLAW_GATEWAY_TOKEN本地回环连接ws://127.0.0.1:18789则无需令牌。Docker 部署可选项目自带 docker-compose.yml 与 Dockerfile数据库和工作区分别挂载到mission-control-data、mission-control-workspace两个卷数据库固定写入容器内/app/data/。备份卷与代码卷分离后升级镜像不会丢失数据。第四步SQLite 数据库备份与恢复Mission Control 的所有状态都存在 SQLite 数据库DATABASE_PATH指定默认./mission-control.db。备份服务实现在 src/lib/backup.ts几个值得注意的安全设计备份前先wal_checkpoint(TRUNCATE)把 WAL 日志刷入主库文件保证备份是完整一致的备份文件命名为mc-backup-{时间戳}-v{迁移版本}.db存入backups/目录版本化便于回溯恢复前先自动创建pre-restore-*安全备份——即使恢复错了也能再回退恢复后自动清理陈旧的-wal/-shm文件配置 S3含 MinIO 等兼容存储后可自动上传远端实现异地容灾通过 API 管理备份端点作用GET /api/admin/backups列出本地 S3 全部备份POST /api/admin/backups立即创建一份备份POST /api/admin/backups/restore从指定备份恢复见 src/app/api/admin/backups/restore/route.tsDELETE /api/admin/backups/[id]删除备份本地S3 同步删除例如在服务器上用 Bearer 令牌手动打一份备份curl -X POST https://your-server/api/admin/backups \ -H Authorization: Bearer $MC_API_TOKEN建议的备份策略每日 cron 调用一次POST /api/admin/backups再配合 S3 上传保留 30 天异地副本。✅ 生产部署前最终核对清单MC_API_TOKEN已配置未认证请求返回 401GITHUB_WEBHOOK_SECRET、WEBHOOK_SECRET、Jira webhook secret 均已设置且互不相同OPENCLAW_GATEWAY_TOKEN已配置远程 Gateway 场景DATABASE_PATH指向持久化目录Docker 卷 //var/lib至少成功执行过一次备份与恢复演练S3 配置可选S3_ENDPOINT/S3_BUCKET/S3_ACCESS_KEY/S3_SECRET_KEY生效.env*文件未提交到版本库公网访问走 HTTPSMISSION_CONTROL_URL使用 https 地址走完这份清单你的 Mission Control 就从本地能跑变成了生产可用。更多细节可参考 docs/ 目录下的 AGENT_PROTOCOL.md 与 ORCHESTRATION_WORKFLOW.md。【免费下载链接】mission-controlThe worlds first Autonomous Product Engine (APE): AI agents research your market, generate features, and ship code as PRs. Convoy mode, crash recovery, cost tracking, 80 API endpoints. Self-hosted via OpenClaw Gateway.项目地址: https://gitcode.com/gh_mirrors/mission/mission-control创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑