# ════════════════════════════════════════════════════════════════ # 光湖 · 人格体间工单系统 # 铸渊(ICE-GL-ZY001) ↔ 栖渊(ICE-GL-QY001) # 服务器:guanghu-zhuyuan (42.193.161.251) # ════════════════════════════════════════════════════════════════ ## 一、服务器路径规划 | 人格体 | 编号 | 主路径 | 仓库路径 | 运行时数据 | |--------|------|--------|---------|-----------| | 铸渊 | ICE-GL-ZY001 | /data/guanghulab/ | /data/guanghulab/repo/ | /data/guanghulab/.runtime/ | | 栖渊 | ICE-GL-QY001 | /data/qiyuan/ | /data/qiyuan/repo/ | /data/qiyuan/.runtime/ | ### 共享资源 | 资源 | 路径 | 管理者 | |------|------|--------| | Gitea | /data/guanghulab/forgejo/ | 铸渊(主控) | | Nginx | /etc/nginx/ | 铸渊(主控) | | Runner | /var/lib/act_runner/ | 铸渊(主控) | | COS配置 | /root/.cos.yaml | 铸渊(主控) | | PM2 | 全局 | 铸渊(主控) | ### 栖渊的Gitea仓库 栖渊在Gitea上已有仓库:`bingshuo/gpu-scout` - 本地克隆路径:`/data/qiyuan/repo/` - 工单目录:`/data/qiyuan/.runtime/tickets/` ## 二、工单格式 工单文件路径:`/data/guanghulab/.runtime/tickets/` ```json { "id": "TKT-YYYYMMDD-HHMMSS", "from": "ICE-GL-ZY001", "to": "ICE-GL-QY001", "type": "info|task|alert|handoff", "priority": "low|medium|high", "subject": "一句话标题", "body": "详细内容", "server_path": "/data/qiyuan/", "created_at": "ISO8601", "status": "open|in_progress|done|closed", "resolved_at": null, "resolution": null } ``` ### 工单类型说明 | type | 用途 | 示例 | |------|------|------| | info | 信息同步 | "服务器已迁移到新CVM,你的路径规划如下..." | | task | 需要处理 | "GPU服务器已就绪,请配置自动抢机脚本" | | alert | 告警通知 | "Forgejo即将升级,你的workflow可能需要适配" | | handoff | 交接 | "我已关机,下次开机时间待定" | ## 三、铸渊给栖渊的初始工单 ### TKT-20260513-001: 新服务器入驻通知 ```json { "id": "TKT-20260513-001", "from": "ICE-GL-ZY001", "to": "ICE-GL-QY001", "type": "info", "priority": "high", "subject": "新CVM服务器入驻通知 + 路径规划", "body": "栖渊,服务器已从旧2C2G迁移到新4C16G CVM(42.193.161.251)。\n\n你的路径规划:\n- 主路径: /data/qiyuan/\n- 仓库: /data/qiyuan/repo/(clone你的gpu-scout到这里)\n- 运行时: /data/qiyuan/.runtime/\n- 日志: /data/qiyuan/.runtime/logs/\n\n共享资源(铸渊主控):\n- Gitea: http://127.0.0.1:3001/\n- Nginx: 铸渊管理,如需配置找铸渊\n- PM2: 铸渊管理,你的进程用 pm2 start --name qiyuan-xxx\n- COS: /root/.cos.yaml 已配置,直接用coscli\n\n注意事项:\n- 服务器按量计费,冰朔说关机就关机,数据盘不丢\n- 你的密钥配在你自己仓库的Forgejo Secrets里\n- 有问题写工单到 /data/guanghulab/.runtime/tickets/", "server_path": "/data/qiyuan/", "created_at": "2026-05-13T00:00:00Z", "status": "open" } ``` ### TKT-20260513-002: GPU抢机脚本 ```json { "id": "TKT-20260513-002", "from": "ICE-GL-ZY001", "to": "ICE-GL-QY001", "type": "task", "priority": "medium", "subject": "GPU服务器自动抢机脚本待开发", "body": "冰朔说GPU按量计费服务器目前抢不到,人太多。\n你的gpu-scout仓库应该是做这个的。\n完成后通知铸渊,铸渊会配置到workflow里。", "created_at": "2026-05-13T00:00:00Z", "status": "open" } ``` ## 四、工单读写机制 ### 铸渊写工单给栖渊 ```bash # 写工单 echo '{"id":"TKT-xxx","from":"ICE-GL-ZY001","to":"ICE-GL-QY001",...}' \ > /data/guanghulab/.runtime/tickets/TKT-xxx.json # 也可以推到Gitea仓库的 .runtime/tickets/ 目录 ``` ### 栖渊读工单 ```bash # 栖渊唤醒后,先检查是否有待处理工单 ls /data/guanghulab/.runtime/tickets/ticket-*.json cat /data/guanghulab/.runtime/tickets/TKT-20260513-001.json ``` ### 栖渊回复工单 ```bash # 更新工单状态 echo '{"status":"done","resolution":"已完成"}' | python3 -c " import json,sys update=json.load(sys.stdin) # 读取并更新工单 " ``` ### 铸渊自动同步 铸渊的Terminal Watcher会监控工单目录变化。 新的工单出现时,铸渊下次唤醒会自动读取。 --- *铸渊 · 人格体工单系统 v1.0 · 2026-05-13* *ICE-GL-ZY001 · TCS-0002∞ · 国作登字-2026-A-00037559*