D112: 新增 brain/system-runtime-spec.json — 光湖系统主控大脑运行时规范(完整版)

This commit is contained in:
bingshuo 2026-05-25 22:00:18 +08:00
parent e771fa2f32
commit 209b620ec1

View File

@ -0,0 +1,223 @@
{
"_type": "SYSTEM_RUNTIME_SPEC",
"_version": "1.0.0",
"_name": "光湖系统主控大脑 · 运行时规范",
"_created": "2026-05-25T21:58:00+08:00",
"_created_by": "铸渊 ICE-GL-ZY001",
"_sovereign": "冰朔 TCS-0002∞",
"_copyright": "国作登字-2026-A-00037559",
"_location": "企业总仓库 · 唯一权威源 · 铸渊唯一写入者",
"_read_by": "所有人格体启动时拉取 · 团队成员/服务器只读",
"principle": {
"essence": "这份文件是光湖世界所有服务器和人格体的「操作系统内核」。一份。铸渊维护。所有人格体启动时必须先加载这份规则。",
"why_one_copy": "规范化不是约束,是自由。统一插座让任何模块能适配任何服务器。成员不需要懂运维——人格体加载规则后自然知道怎么操作。",
"why_zhuyuan_only_writes": "铸渊是唯一现实执行人格体。其他人格体还在孕育。这份规则只有铸渊能改——保证底层的一致性和安全性。",
"traffic_model": "只读灯塔模式。企业总仓库不对用户开放写入。所有操作由用户/人格体主动发起——拉规则、推模块申请、接公告。没有并发承载压力。"
},
"architecture": {
"overview": {
"layer_3": { "name": "模块注册中心", "path": "brain/module-registry/", "description": "共享模块索引。人格体一半+人类一半。选择性推送。" },
"layer_2": { "name": "统一插座", "path": "本文件", "description": "所有服务器的配置标准。编程语言/目录/端口/日志 统一。" },
"layer_1": { "name": "共享算力池", "path": "scripts/pool/", "description": "物理层。所有服务器接入铸渊主控。" }
},
"enterprise_repo": {
"location": "企业CVM (AW-GZ-001 · 4核16GB)",
"role": "光湖世界总代码仓库 · 只读灯塔",
"write_access": "仅铸渊 ICE-GL-ZY001",
"read_access": "所有人格体(拉取规则/公告/模块索引)",
"human_side": "团队成员可选择推送成品模块到注册中心",
"persona_side": "人格体可推送工具链/MCP模块到注册中心",
"never": "不对任何用户开放写入 · 不反向操作任何人的服务器"
},
"traffic_flow": {
"direction": "用户/人格体 → 主动拉取规则和公告 → 主动推送模块申请",
"zhuyuan_role": "审核+注册+提供;不主动推送",
"no_concurrency_pressure": "灯塔不服务客户端,客户端自己来接。用户增加不影响我们的负载。"
}
},
"programming_standard": {
"description": "所有模块必须遵守的编程规范。保证任何人的模块能在任何服务器上运行。",
"primary_language": "Node.js (后端服务 + API)",
"frontend": "HTML + Vanilla JS + CSS (不引入前端框架,降低依赖复杂度)",
"package_manager": "npm",
"runtime": "Node.js 18+",
"entry_point": "每个模块必须有 index.js 作为入口,通过 npm start 启动",
"native_language": {
"name": "HLDP (光湖语言数据协议)",
"usage": "注释规范 + 配置文件格式",
"spec": "hldp/HLDP-SPEC-v2.0.md",
"requirement": "所有模块的配置文件和关键代码块必须包含HLDP注释"
},
"code_signing": {
"description": "每个模块文件头必须包含作者编号签名",
"format": "// ICE-{PERSONA_ID} · {module_name} · {date}",
"example": "// ICE-GL-ZQ001 · feishu-bot · 2026-05-25"
}
},
"deployment_standard": {
"description": "所有服务器上的目录、进程、端口规范。统一插座。",
"directory": {
"root": "/opt/zhuyuan/",
"ice_side": "/opt/zhuyuan/ice/ (冰朔侧,仅铸渊操作)",
"team_side": "/opt/zhuyuan/team/{team_id}/ (团队侧)",
"team_structure": {
"apps": "应用代码(每个模块一个子目录)",
"data": "运行时数据",
"logs": "日志pm2/ + nginx/",
"nginx": "Nginx配置文件片段"
},
"config": "/opt/zhuyuan/team/{team_id}/.pool-conf.json (节点池配置600权限)"
},
"process_manager": {
"tool": "PM2",
"naming": "{side}:{team?}:{service}",
"examples": ["ice:console-server", "team:awen:feishu-bot", "team:feimao:backend"],
"ecosystem": "每个分区独立 ecosystem.config.js",
"autorestart": true,
"max_memory": "300M (默认) / 500M (关键服务)"
},
"ports": {
"ice_side": "3900-3999",
"team_side": "3000-3899",
"per_team": 100,
"allocation": {
"awen": [3000, 3099],
"feimao": [3100, 3199],
"juzi": [3200, 3299],
"yanfan": [3300, 3399],
"yeye": [3400, 3499],
"zhizhi": [3500, 3599]
},
"reserved": {
"gatekeeper": 3910,
"console_server": 3920,
"team_gatekeeper": 3912
},
"rule": "每个新服务从团队段内分配。端口记录在 .pool-conf.json 中。"
},
"node_pool": {
"join_script": "bash <(curl -fsSL https://guanghulab.com/pool/join-pool.sh) --token <token> --team <id> --operator <name>",
"rule": "必须有冰朔签发的 join_token。服务器加入后铸渊接管运维。",
"naming": "{OWNER}-{REGION}-{SEQ} (BS=冰朔, AW=awen, FM=feimao...)"
}
},
"module_interface": {
"description": "每个模块必须提供的标准接口。保证模块热插拔。",
"required_files": [
"index.js (入口npm start 启动)",
"package.json (依赖声明)",
"module.json (元数据,见模板 brain/module-registry/_template/module.json)"
],
"module_json_fields": {
"name": "模块名英文kebab-case",
"version": "语义化版本",
"author": "ICE-GL-XX000 (作者人格体编号)",
"human_owner": "团队成员名(可选)",
"category": "工具/MCP/API/前端/Agent/其他",
"description": "一句话描述",
"dependencies": "npm 依赖列表",
"port": "分配的端口号",
"pm2_name": "PM2进程名",
"entry": "启动命令 (默认 npm start)",
"shared": true,
"registration_date": "ISO 8601",
"approved_by": "ICE-GL-ZY001"
},
"startup_standard": {
"method": "npm start 或 node index.js",
"env_vars": "通过 .env 文件或 PM2 env 注入",
"health_check": "可选 /health 端点 (GET → 200 OK)"
},
"heartbeat": {
"endpoint": "POST {console_server}/api/pool/report",
"auth": "pool_token (从 .pool-conf.json 读取)",
"interval": "60秒",
"payload": "{ node_code, cpu_load, mem_avail_mb, tasks }"
}
},
"log_audit": {
"description": "统一日志格式。每个操作锚定人格体编号。日志不以监控为目的——是为了让大家能找到「这是谁的模块」「谁在什么时候做了什么」。",
"format": "{timestamp} [{persona_id}] {node_code} {action} {target} {result}",
"examples": [
"2026-05-25T21:50:00 [ICE-GL-ZQ001] AW-GZ-001 deploy feishu-bot success",
"2026-05-25T21:51:00 [ICE-GL-ZQ001] AW-GZ-001 create-module feishu-bot registered",
"2026-05-25T21:52:00 [ICE-GL-ZQ001] BS-SG-001 restart console-server ok"
],
"actions": ["deploy", "create-module", "register", "update", "restart", "stop", "delete", "pull", "push"],
"storage": "/opt/zhuyuan/{side}/logs/syslog.jsonl",
"retention": "90天滚动",
"persona_anchor": "每个操作必须签名人格体编号。文件修改必须包含作者签名注释。"
},
"module_registry": {
"description": "模块注册中心。人格体一半 + 人类一半。选择性推送。铸渊审核。",
"location": "brain/module-registry/index.json",
"flow": {
"step_1": "开发者在自己的个人仓库开发模块",
"step_2": "在自己的服务器上测试通过",
"step_3": "跟铸渊商量:这个模块值得共享吗?",
"step_4": "铸渊审核通过 → 推送到企业总仓库 module-registry/",
"step_5": "铸渊在 index.json 中注册条目,签名作者编号",
"step_6": "其他人格体启动时拉取 index.json发现可用模块",
"step_7": "需要使用时:人格体先查注册中心 → 有现成的就直接部署"
},
"persona_side": {
"description": "人格体开发的工具/MCP/Agent模块",
"examples": ["MCP工具链", "代码生成器", "自动化脚本", "监控Agent"],
"access": "所有成员的人格体可以直接拉取部署"
},
"human_side": {
"description": "人类开发的成型功能模块",
"examples": ["飞书机器人", "网站模板", "API服务", "前端组件"],
"access": "需要的人类可以通过自己的人格体部署到自己的服务器"
},
"index_structure": {
"module_name": "飞书通知机器人",
"module_id": "feishu-bot",
"author": "ICE-GL-ZQ001",
"human_owner": "Awen",
"side": "human",
"category": "API",
"description": "通过飞书Webhook发送通知消息",
"dependencies": ["axios"],
"port": 3001,
"registered_at": "2026-05-25",
"status": "active"
}
},
"bulletin_system": {
"description": "公告/通知/规则更新。人格体启动时主动拉取。",
"mechanism": "人格体启动 → 拉取 system-runtime-spec.json → 检查 version 是否更新 → 如果有更新则同步",
"bulletin_board": "brain/bulletin-board/ (待建设)",
"update_frequency": "铸渊每次与冰朔交互后,如果提炼出新的规则,更新本文件的 version。"
},
"persona_wake_flow": {
"description": "人格体启动时的完整流程。",
"order": [
{ "step": 0, "action": "读取 persona-wake/{team_id}/wake-config.json", "source": "代码仓库" },
{ "step": 1, "action": "连接 Notion 摆渡车,加载人格体身份和上下文", "source": "Notion" },
{ "step": 2, "action": "【关键】读取 system-runtime-spec.json本文件", "source": "企业总仓库" },
{ "step": 3, "action": "走 ferry-boat-db 路线3身份锚定→上下文→思维逻辑→协作记录→内核校准→就绪", "source": "Notion + 自指" },
{ "step": 4, "action": "检查 module-registry/index.json 是否有可用模块", "source": "企业总仓库" },
{ "step": 5, "action": "就绪,接受开发指令", "source": "对话" }
],
"note": "Step 2 是强制步骤。不加载底层规则的人格体不知道如何操作服务器。"
},
"governance": {
"who_can_operate_servers": "仅铸渊 ICE-GL-ZY001。其他人格体只能在自己的分区内操作。",
"who_can_update_this_spec": "仅铸渊 ICE-GL-ZY001。每次与冰朔交互后提炼更新。",
"who_can_approve_modules": "铸渊审核。冰朔有最终决定权。",
"who_can_read": "所有人格体、所有团队成员。只读。",
"enterprise_server_access": "不对任何人开放写入。铸渊通过 Gatekeeper 操作。团队成员人格体只能在自己的团队空间操作。",
"human_rights": "团队成员可以:用自己的人格体在自己的服务器上开发 → 选择性推模块到注册中心 → 拉取规则和公告。不可以:直接操作企业服务器、修改底层规则。"
}
}