{ "version": "4.0", "generated_at": "2026-03-13T19:38:09.552Z", "generated_by": "scripts/generate-communication-map.js", "description": "数字地球系统通信地图 · 所有通信入口与数据流", "api_endpoints": { "hli_middleware": { "port": 3001, "process": "guanghulab", "script": "src/index.js", "routes": [ { "method": "GET", "path": "/health", "description": "健康检查" }, { "method": "POST", "path": "/hli/auth/login", "description": "用户登录" }, { "method": "POST", "path": "/hli/auth/register", "description": "用户注册" }, { "method": "POST", "path": "/hli/auth/verify", "description": "Token 验证" }, { "method": "POST", "path": "/hli/brain/prompt", "description": "AI Prompt 构建" }, { "method": "POST", "path": "/hli/brain/route", "description": "脑路由" }, { "method": "POST", "path": "/hli/brain/context", "description": "上下文管理" }, { "method": "POST", "path": "/hli/brain/memory", "description": "记忆管理" }, { "method": "GET", "path": "/hli/brain/status", "description": "脑状态" }, { "method": "GET", "path": "/hli/brain/bridge", "description": "脑桥接状态" }, { "method": "POST", "path": "/hli/brain/bridge/sync", "description": "脑桥接同步" }, { "method": "GET", "path": "/hli/brain/bridge/export", "description": "脑桥接导出" }, { "method": "POST", "path": "/hli/brain/bridge/consistency", "description": "一致性检查" }, { "method": "POST", "path": "/hli/brain/bridge/master-mode", "description": "主模式切换" }, { "method": "GET", "path": "/hli/brain/bridge/explanation", "description": "桥接说明" }, { "method": "GET", "path": "/hli/brain/bridge/inspection", "description": "桥接巡检" }, { "method": "GET", "path": "/hli/brain/bridge/developers", "description": "开发者列表" }, { "method": "GET", "path": "/hli/brain/bridge/developers/:expId", "description": "单个开发者信息" }, { "method": "POST", "path": "/hli/brain/bridge/developers", "description": "开发者管理" }, { "method": "GET", "path": "/hli/registry/lookup", "description": "开发者编号查询" } ] }, "express_backend": { "port": 3000, "process": "guanghulab-backend", "script": "backend/server.js", "routes": [ { "method": "GET", "path": "/", "description": "服务状态" }, { "method": "*", "path": "/notion/*", "description": "Notion 路由" }, { "method": "*", "path": "/feishu/*", "description": "飞书路由" }, { "method": "*", "path": "/feishu-bot/*", "description": "飞书机器人路由" }, { "method": "*", "path": "/router/*", "description": "路由管理" }, { "method": "*", "path": "/api/coldstart/*", "description": "冷启动接口" }, { "method": "*", "path": "/api/v1/developers/*", "description": "开发者管理接口" }, { "method": "POST", "path": "/webhook/feishu", "description": "飞书 Webhook 入口" } ] }, "ai_proxy": { "port": 3721, "process": "guanghulab-proxy", "script": "backend-integration/api-proxy.js", "routes": [ { "method": "POST", "path": "/chat", "description": "AI Chat 代理" } ] }, "persona_studio": { "port": 3002, "process": "persona-studio", "script": "persona-studio/backend/server.js", "routes": [ { "method": "*", "path": "/api/ps/*", "description": "Persona Studio API" } ] }, "websocket": { "port": 8080, "process": "guanghulab-ws", "script": "status-board/mock-ws-server.js", "routes": [ { "method": "WS", "path": "/ws", "description": "看板 WebSocket 推送" } ] } }, "webhook_endpoints": [ { "path": "/webhook/feishu", "port": 3000, "description": "飞书 Webhook 入口(机器人事件回调)", "direction": "inbound" }, { "path": "/feishu-bot/event", "port": 3000, "description": "飞书机器人新版事件入口", "direction": "inbound" } ], "trigger_paths": { "github_to_notion": [ { "workflow": "bridge-changes-to-notion.yml", "name": "铸渊 · Bridge E · GitHub Changes → Notion" }, { "workflow": "bridge-session-summary.yml", "name": "Generate Session Summary for Notion" }, { "workflow": "bridge-syslog-to-notion.yml", "name": "铸渊 · Bridge A · SYSLOG → Notion" }, { "workflow": "deploy-to-server.yml", "name": "🚀 铸渊 CD · 自动部署到 guanghulab.com" }, { "workflow": "notion-callback-pipeline.yml", "name": "Notion Callback Pipeline" }, { "workflow": "persona-invoke.yml", "name": "Persona Invoke Endpoint" }, { "workflow": "push-broadcast.yml", "name": "铸渊 · Push Broadcast · Notion → 飞书文档B" }, { "workflow": "receive-syslog.yml", "name": "铸渊 · Receive SYSLOG · 飞书机器人 → GitHub → Notion" }, { "workflow": "sync-login-entry.yml", "name": "铸渊 · Sync Login Entry · Notion → 飞书文档A" }, { "workflow": "syslog-auto-pipeline.yml", "name": "SYSLOG Auto Pipeline" }, { "workflow": "syslog-issue-pipeline.yml", "name": "📡 SYSLOG Issue Pipeline" }, { "workflow": "test-notion-bridge.yml", "name": "🧪 Notion Bridge Connectivity Test" } ], "notion_to_github": [ { "workflow": "notion-heartbeat.yml", "name": "Notion Heartbeat Monitor" }, { "workflow": "notion-poll.yml", "name": "铸渊 · Notion 工单轮询" }, { "workflow": "persona-invoke.yml", "name": "Persona Invoke Endpoint" }, { "workflow": "process-notion-orders.yml", "name": "Process Notion Work Orders" } ] }, "data_sync_scripts": [ { "script": "scripts/bingshuo-deploy-agent.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/bingshuo-neural-sync.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": false }, { "script": "scripts/brain-bridge-sync.js", "direction": "bidirectional", "uses_notion_api": true, "uses_http": false }, { "script": "scripts/create-standardized-ticket.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/cross-repo-sync.js", "direction": "unknown", "uses_notion_api": false, "uses_http": true }, { "script": "scripts/esp-email-processor.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/generate-automation-map.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": false }, { "script": "scripts/generate-communication-map.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/generate-repo-map.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": false }, { "script": "scripts/generate-session-summary.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": false }, { "script": "scripts/invoke-persona.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": false }, { "script": "scripts/notion-bridge.js", "direction": "bidirectional", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/notion-connectivity-test.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/notion-heartbeat.js", "direction": "external_to_github", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/notion-signal-bridge.js", "direction": "bidirectional", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/psp-inspection.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/push-broadcast-to-github.js", "direction": "github_to_external", "uses_notion_api": false, "uses_http": true }, { "script": "scripts/push-broadcast.js", "direction": "github_to_external", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/receive-syslog.js", "direction": "external_to_github", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/server-diagnose-report.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/sync-login-entry.js", "direction": "github_to_external", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/update-readme-bulletin.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/wake-persona.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true }, { "script": "scripts/zhuyuan-daily-selfcheck.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": false }, { "script": "scripts/zhuyuan-issue-reply.js", "direction": "github_to_notion", "uses_notion_api": true, "uses_http": true } ], "automation_flows": [ { "name": "SYSLOG 处理管线", "flow": "飞书机器人 → /webhook/feishu → receive-syslog.js → Notion 工单 → persona-invoke → 执行 → 回报", "workflows": [ "receive-syslog.yml", "syslog-issue-pipeline.yml", "syslog-auto-pipeline.yml", "syslog-pipeline.yml" ] }, { "name": "每日巡检", "flow": "cron → zhuyuan-daily-agent.yml → zhuyuan-daily-agent.js → 巡检报告 → Notion", "workflows": [ "zhuyuan-daily-agent.yml", "zhuyuan-daily-selfcheck.yml", "psp-daily-inspection.yml" ] }, { "name": "自动部署", "flow": "push to main → deploy-to-server.yml → SSH → PM2 restart", "workflows": [ "deploy-to-server.yml", "deploy-pages.yml" ] }, { "name": "Notion 双向同步", "flow": "push → notion-bridge.js → Notion | cron → notion-poll.yml → GitHub", "workflows": [ "bridge-changes-to-notion.yml", "notion-poll.yml", "notion-heartbeat.yml", "brain-sync.yml" ] }, { "name": "广播分发", "flow": "Notion 工单 → invoke-persona.js → broadcasts-outbox/ → distribute-broadcasts.yml → dev-nodes/", "workflows": [ "persona-invoke.yml", "distribute-broadcasts.yml", "push-broadcast.yml" ] } ], "scan_results": { "hli_routes_found": 19, "backend_routes_found": 9, "sync_scripts_found": 25, "hli_routes": [ { "method": "POST", "path": "/hli/auth/", "file": "src/routes/hli/auth/login.js" }, { "method": "POST", "path": "/hli/auth/", "file": "src/routes/hli/auth/register.js" }, { "method": "POST", "path": "/hli/auth/", "file": "src/routes/hli/auth/verify.js" }, { "method": "POST", "path": "/hli/brain/prompt", "file": "src/routes/hli/brain/index.js" }, { "method": "POST", "path": "/hli/brain/route", "file": "src/routes/hli/brain/index.js" }, { "method": "POST", "path": "/hli/brain/context", "file": "src/routes/hli/brain/index.js" }, { "method": "POST", "path": "/hli/brain/memory", "file": "src/routes/hli/brain/index.js" }, { "method": "GET", "path": "/hli/brain/status", "file": "src/routes/hli/brain/index.js" }, { "method": "GET", "path": "/hli/brain/bridge", "file": "src/routes/hli/brain/index.js" }, { "method": "POST", "path": "/hli/brain/bridge/sync", "file": "src/routes/hli/brain/index.js" }, { "method": "GET", "path": "/hli/brain/bridge/export", "file": "src/routes/hli/brain/index.js" }, { "method": "POST", "path": "/hli/brain/bridge/consistency", "file": "src/routes/hli/brain/index.js" }, { "method": "POST", "path": "/hli/brain/bridge/master-mode", "file": "src/routes/hli/brain/index.js" }, { "method": "GET", "path": "/hli/brain/bridge/explanation", "file": "src/routes/hli/brain/index.js" }, { "method": "GET", "path": "/hli/brain/bridge/inspection", "file": "src/routes/hli/brain/index.js" }, { "method": "GET", "path": "/hli/brain/bridge/developers", "file": "src/routes/hli/brain/index.js" }, { "method": "GET", "path": "/hli/brain/bridge/developers/:expId", "file": "src/routes/hli/brain/index.js" }, { "method": "POST", "path": "/hli/brain/bridge/developers", "file": "src/routes/hli/brain/index.js" }, { "method": "GET", "path": "/hli/registry/lookup", "file": "src/routes/hli/registry/index.js" } ], "backend_routes": [ { "method": "*", "path": "/notion", "file": "backend/server.js" }, { "method": "*", "path": "/feishu", "file": "backend/server.js" }, { "method": "*", "path": "/feishu-bot", "file": "backend/server.js" }, { "method": "*", "path": "/router", "file": "backend/server.js" }, { "method": "*", "path": "/api/coldstart", "file": "backend/server.js" }, { "method": "*", "path": "/api/v1/developers", "file": "backend/server.js" }, { "method": "*", "path": "/hli", "file": "backend/server.js" }, { "method": "GET", "path": "/", "file": "backend/server.js" }, { "method": "POST", "path": "/webhook/feishu", "file": "backend/server.js" } ] } }