GMP-Agent 守护进程
工单编号: GH-GMP-004 | 开发者: 培园A04 (5TH-LE-HK-A04)
架构定位
HLDP-ARCH-001 分发层[D-1] 执行体。GMP三层架构中的L2层:
- L1: GMP协议 (manifest.yaml) — 由译典A05定义
- L2: GMP-Agent (本模块) — 服务器常驻守护进程
- L3: MCP接口层 — 人格体调用
模块组成
| 文件 | 职责 |
|---|---|
app.js |
核心框架骨架 · Express服务 · 路由注册 · 生命周期管理 · 优雅停机 |
webhook.js |
GitHub Webhook监听器 · 签名验证 · push/PR事件处理 · 自动部署触发 |
installer.js |
模块安装器 · 克隆仓库 · 验证manifest · 安装依赖 · 自检 · 部署 |
uninstaller.js |
模块卸载器 · 停止进程 · 备份数据 · 移除文件 · 注销注册 |
lib/config.js |
配置加载器 · 环境变量驱动 · 零硬编码 |
lib/logger.js |
结构化日志 · 控制台+文件双输出 |
快速启动
cd guanghu-self-hosted/gmp-agent
npm install
npm start
服务默认监听 http://localhost:9800
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
GMP_PORT |
9800 | 服务端口(统一标准 · ZY-SVR-TPL-2026-0426-001) |
GMP_MODULES_DIR |
./modules | 已安装模块目录 |
GMP_LOGS_DIR |
./logs | 日志目录 |
GMP_TEMP_DIR |
./tmp | 临时目录 |
GMP_REPO_URL |
guanghulab仓库 | 默认克隆源 |
GMP_TARGET_BRANCH |
main | Webhook监听的目标分支 |
GMP_WEBHOOK_SECRET |
(空) | GitHub Webhook密钥 |
GMP_DEBUG |
false | 开启debug日志 |
API端点
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /health |
健康检查 |
| GET | /api/modules |
已安装模块列表 |
| GET | /api/modules/:name |
模块详情 |
| POST | /api/modules/install |
安装模块 |
| POST | /api/modules/uninstall |
卸载模块 |
| POST | /webhook/github |
GitHub Webhook接收 |
| GET | /webhook/status |
Webhook状态 |
| GET | /api/system |
系统信息 |
自动部署流程
Notion Agent写代码 → GitHub MCP推到仓库 → GitHub发送Webhook
→ GMP-Agent接收push事件 → 解析变更模块 → 自动安装/更新
协作分工 (GH-GMP-004)
- 培园A04: 核心框架 (app.js) + Webhook (webhook.js) + 安装器 (installer.js) + 卸载器 (uninstaller.js) ✅
- 译典A05: MCP工具集 + manifest自举 (待开发)
- 录册A02: 测试报告生成器 + 日志收集 + 自测脚本 (待开发)