guanghulab/skyeye/infra-manifest.json

315 lines
10 KiB
JSON
Raw Normal View History

{
"version": "1.0.0",
"last_scan": "2026-03-25T06:22:39.127Z",
"last_scan_by": "skyeye-scan-engine",
"infrastructure": {
"github": {
"service": "GitHub",
"plan": "Free",
"repos": [
{
"name": "qinfendebingshuo/guanghulab",
"role": "main",
"guard": "buffer/"
},
{
"name": "WENZHUOXI/guanghu-awen",
"role": "sub-repo",
"persona": "PER-ZQ001",
"guard": ".github/persona-brain/"
}
],
"quotas": {
"actions_minutes_per_month": 2000,
"actions_current_used": 0,
"actions_budget_allocated": {
"buffer_collect": 270,
"buffer_flush": 90,
"skyeye_checkin": 180,
"skyeye_weekly_scan": 30,
"other_workflows": 200,
"emergency_reserve": 1230
},
"storage_limit_gb": 0.5,
"lfs_bandwidth_gb": 1
}
},
"google_drive": {
"service": "Google Drive",
"plan": "Google One / Free 15GB",
"guard": "buffer/drive-staging/",
"quotas": {
"storage_gb": 15,
"current_used_gb": 0,
"apps_script_daily_triggers": 20,
"apps_script_runtime_min_per_day": 90,
"drive_api_queries_per_100s": 20000
}
},
"notion": {
"service": "Notion",
"plan": "Plus",
"guard": "霜砚PER-SY001",
"quotas": {
"api_requests_per_second": 3,
"blocks_per_page": 10000,
"file_upload_mb": 5,
"guest_limit": 100
}
},
"gemini": {
"service": "Google Gemini",
"plan": "Free / Pro",
"guard": "buffer/gemini-staging/",
"quotas": {
"requests_per_minute": 15,
"requests_per_day": 1500,
"context_window_tokens": 1000000,
"personal_context_files": 100
}
},
"github_actions": {
"service": "GitHub Actions",
"plan": "Free",
"guard": "skyeye/guards/actions-guard.json",
"quotas": {
"concurrent_jobs": 20,
"minutes_per_month": 2000,
"job_timeout_hours": 6
}
},
"hibernation_system": {
"service": "SkyEye Hibernation",
"plan": "Internal",
"description": "双节律休眠系统 · 日休眠(03:50 CST) + 周休眠(周六19:00 CST)",
"components": {
"sleep_scheduler": "skyeye/hibernation/sleep-scheduler.js",
"daily_hibernation": "skyeye/hibernation/daily-hibernation.js",
"weekly_hibernation": "skyeye/hibernation/weekly-hibernation.js",
"distributor": "skyeye/hibernation/distributor.js",
"readme_updater": "skyeye/hibernation/readme-status-updater.js",
"overtime_monitor": "skyeye/hibernation/overtime-monitor.js"
},
"storage": {
"checkpoints": "skyeye/hibernation/checkpoints/",
"weekly_snapshots": "skyeye/hibernation/weekly-snapshots/",
"upgrade_packs": "skyeye/hibernation/upgrade-packs/",
"distribution_reports": "skyeye/hibernation/distribution-reports/"
},
"workflows": {
"daily": "skyeye-daily-hibernation.yml",
"weekly": "skyeye-weekly-hibernation.yml"
},
"quotas": {
"daily_hibernation_minutes": 5,
"weekly_hibernation_minutes": 15,
"monthly_budget_minutes": 210,
"comment": "日休眠 30天×5min=150 + 周休眠 4×15min=60 ≈ 210 min/month"
},
"lifeline_tasks": [
{
"id": "TOKEN-RENEW",
"name": "OAuth2 Token 自动续期",
"workflow": "renew-gdrive-tokens.yml",
"hibernate_exempt": true,
"priority": "P0",
"alert_on_failure": true,
"alert_channels": [
"notion-dashboard",
"agent-bulletin"
]
},
{
"id": "TOKEN-HEALTH",
"name": "Token 健康检查",
"workflow": "check-token-health.yml",
"hibernate_exempt": true,
"priority": "P0",
"alert_on_failure": true,
"alert_channels": [
"notion-dashboard",
"agent-bulletin"
]
},
{
"id": "NIGHTLY-REPAIR",
"name": "天眼夜间自动修复引擎 v3.0",
"workflow": "tianyan-nightly-scan.yml",
"hibernate_exempt": true,
"priority": "P0",
"alert_on_failure": true,
"alert_channels": [
"dashboard",
"agent-bulletin"
],
"note": "周六休眠期内仅执行扫描+仪表盘更新,跳过修复/PR"
}
]
},
"gdrive_oauth2": {
"service": "Google Drive OAuth2 Token Management",
"plan": "Internal",
"description": "OAuth2 Token 自动续期引擎 · 6天刷新 + 三层保险 + 天眼生命线豁免",
"registry": "config/gdrive-tokens.json",
"scripts": {
"renew_tokens": "scripts/gdrive/renew-tokens.js",
"check_hibernation": "scripts/gdrive/check-hibernation.js",
"push_alerts": "scripts/gdrive/push-token-alerts.js"
},
"workflows": {
"renew": "renew-gdrive-tokens.yml",
"health_check": "check-token-health.yml"
},
"schedule": {
"renew_a": "每周一 10:00 CST (02:00 UTC)",
"renew_b": "每周四 10:00 CST (02:00 UTC)",
"health_check": "每天 12:15 CST (04:15 UTC)"
}
},
"routing_system": {
"service": "编号路由系统 (ID Routing System)",
"plan": "Internal",
"description": "身份路由表 + 域/频道路由表 + 编号体系全局地图 · 2026-03-24 上线",
"version": "1.0",
"notion_databases": {
"identity_routing_table": {
"id": "A-DB-02",
"name": "🪪 身份路由表",
"description": "所有身份编号的路由映射"
},
"channel_routing_table": {
"id": "A-DB-03",
"name": "🗺️ 域/频道路由表",
"description": "域和频道的路由映射"
},
"id_map": {
"name": "🏔️ 编号体系全局地图 v1.0",
"description": "根节点 SYS-GLW-0001 / 国作登字-2026-A-00037559 / Trinity ID Protocol"
}
},
"github_mirror": ".github/persona-brain/trinity-id.json",
"rule": "编号/频道映射永远查外挂数据库,不写死进任何文件",
"registered_at": "2026-03-24T13:00:00+08:00",
"registered_by": "ZY-SYSBOOT-2026-0324-001"
},
"isrp": {
"service": "ISRP 入口语义解析协议 (Inlet Semantic Routing Protocol)",
"plan": "Internal",
"version": "1.0",
"description": "入口语义解析协议 · 定义人类入场路由逻辑 · Notion 侧运行 · GitHub 侧不需额外文件",
"notion_document": "🧭 入口语义解析协议 · ISRP v1.0",
"github_side": "awareness_only",
"registered_at": "2026-03-24T13:00:00+08:00",
"registered_by": "ZY-SYSBOOT-2026-0324-001"
},
"tianyan_nightly_repair": {
"service": "TianYan Nightly Auto-Repair Engine v3.0",
"plan": "Internal",
"description": "天眼夜间自动修复引擎 · 扫描→分析→修复→审核→PR→仪表盘 七阶段闭环",
"config": ".github/tianyan-config.json",
"scripts": {
"analyze": ".github/scripts/tianyan-analyze.js",
"repair": ".github/scripts/tianyan-repair.js",
"review": ".github/scripts/tianyan-review.js"
},
"workflows": {
"nightly_scan": "tianyan-nightly-scan.yml",
"merge_watchdog": "merge-watchdog.yml"
},
"dashboard": "DASHBOARD.md",
"watchdog_records": "docs/dashboard/watchdog-records.json",
"schedule": {
"nightly_scan": "每天 23:00 CST (15:00 UTC)",
"merge_watchdog": "事件驱动PR合并时触发"
},
"agents": [
"AG-ZY-087",
"AG-ZY-088"
]
},
"sync_dev_status": {
"node_id": "SYNC-DEV-STATUS-V1",
"service": "dev-status.json 同步 · 霜砚签发制",
"plan": "Internal",
"type": "sync_pipeline",
"description": "霜砚签发AG-SY-01→ 铸渊接收写入AG-ZY-01· 签名可校验可溯源可审计",
"workflow": ".github/workflows/sync-dev-status.yml",
"repair_workflow": ".github/workflows/skyeye-devsync-repair.yml",
"script": "scripts/sync-dev-status.js",
"data_file": ".github/persona-brain/dev-status.json",
"sync_log": ".github/persona-brain/dev-status-sync-log.json",
"schedule": {
"sync": [
"09:00 CST (01:00 UTC)",
"22:00 CST (14:00 UTC)"
],
"monitor": "08:30 CST (00:30 UTC)"
},
"thresholds": {
"green_hours": 14,
"yellow_hours": 48,
"red_hours": 48
},
"alert_mechanism": "github_issue",
"alert_target": "repo_owner",
"mechanism": "shuangyan-signed-v1.0",
"instruction_ref": "ZY-DEVSYNC-REBUILD-2026-0325-001",
"created": "2026-03-25",
"status": "active"
},
"guanghulab_website": {
"service": "guanghulab.com Web Deployment",
"server_ip": "43.134.16.246",
"old_server_ip": "150.109.76.244 (香港·ZY-SVR-001·已弃用) / 8.155.62.235 (阿里云·已弃用)",
"server_provider": "腾讯云轻量应用服务器 · 新加坡二区",
"server_code": "ZY-SVR-002",
"domain": "guanghulab.com",
"deploy_path": "/opt/zhuyuan",
"stack": {
"runtime": "Node.js 20",
"process_manager": "PM2",
"web_server": "Nginx",
"ssl": "Let's Encrypt (pending)"
},
"services": {
"api_proxy": {
"port": 3721,
"name": "guanghulab-proxy",
"desc": "AI 聊天代理 SSE"
},
"backend": {
"port": 3000,
"name": "guanghulab-backend",
"desc": "Express 主后端"
},
"hli": {
"port": 3001,
"name": "guanghulab",
"desc": "HLI 中间层"
},
"persona_studio": {
"port": 3002,
"name": "persona-studio",
"desc": "Persona Studio 后端"
},
"websocket": {
"port": 8080,
"name": "guanghulab-ws",
"desc": "看板 WebSocket"
}
},
"cd_workflow": "deploy-to-server.yml",
"guard": "skyeye/guards/web-deploy-guard.json",
"human_side_checks": [
"国内手机浏览器可访问 guanghulab.com",
"Persona Studio 核心功能可用",
"模块导航无死链",
"无需手动输入 API 密钥(服务器代理模式)"
],
"instruction_ref": "ZY-HUMANSIDE-FIX-2026-0325-002",
"created": "2026-03-25",
"status": "active"
}
}
}