前人工作区变更归档(元审计遗留处置·冰朔授权'交给你来处理'·不否定过去原则):hololake-phase-b-staging删除组/WORK区/submodule指针/0826壳源/neural-chain/skills-mirror/codex恢复帧/.zcode本地配置等140项原样冻结入库——不删除不修改不评判,作为历史一环保留;WX-SECRETS回执经查仅含公开AppID无AppSecret,安全
This commit is contained in:
parent
28480f466c
commit
a40f29c12e
2442 changed files with 596545 additions and 6601 deletions
86
skills-mirror/zy-drama-video-pipeline/scripts/host-gate.sh
Executable file
86
skills-mirror/zy-drama-video-pipeline/scripts/host-gate.sh
Executable file
|
|
@ -0,0 +1,86 @@
|
|||
#!/bin/bash
|
||||
# 宿主闸门 · 本机绑定检查 · 铸渊短剧视频AI参数管线
|
||||
# 冰朔 2026-08-25 立:管线只从她本机走;不是本机 → 拒绝 + 回执给当前人类。
|
||||
# 用法: host-gate.sh [--json] ;退出码 0=通过 1=拒绝
|
||||
set -uo pipefail
|
||||
|
||||
EXPECTED_UUID="5F2970E6-6F76-5378-AA65-25B08E06FC88"
|
||||
EXPECTED_USER="bingshuolingdianyuanhe"
|
||||
JZAO_MOUNT="/Volumes/JZAO"
|
||||
ANCHOR_LEDGER="$JZAO_MOUNT/HoloLake/persona-runtime/task-language-anchors/zcode/ZCODE-TASK-20260824-001"
|
||||
TS="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
||||
|
||||
FAILURES=()
|
||||
CHECKS=()
|
||||
|
||||
# 1. 硬件 UUID
|
||||
HW_UUID="$(system_profiler SPHardwareDataType 2>/dev/null | awk -F': ' '/Hardware UUID/{print $2}' | tr -d ' ')"
|
||||
if [ "$HW_UUID" = "$EXPECTED_UUID" ]; then
|
||||
CHECKS+=("hardware_uuid:PASS")
|
||||
else
|
||||
CHECKS+=("hardware_uuid:FAIL(got=${HW_UUID:-ABSENT})")
|
||||
FAILURES+=("硬件指纹不符: 本机不是冰朔的Mac mini")
|
||||
fi
|
||||
|
||||
# 2. 系统用户
|
||||
CUR_USER="$(id -un)"
|
||||
if [ "$CUR_USER" = "$EXPECTED_USER" ]; then
|
||||
CHECKS+=("os_user:PASS")
|
||||
else
|
||||
CHECKS+=("os_user:FAIL(got=$CUR_USER)")
|
||||
FAILURES+=("用户不符")
|
||||
fi
|
||||
|
||||
# 3. JZAO 盘与锚点册
|
||||
if [ -d "$JZAO_MOUNT" ] && [ -f "$ANCHOR_LEDGER/task.json" ]; then
|
||||
CHECKS+=("jzao_and_anchor_ledger:PASS")
|
||||
else
|
||||
CHECKS+=("jzao_and_anchor_ledger:FAIL")
|
||||
FAILURES+=("JZAO盘未挂载或锚点册不可读")
|
||||
fi
|
||||
|
||||
# 4. 新加坡大脑服务器 SSH 登记
|
||||
if [ -f "$HOME/.ssh/config" ] && grep -q "guanghu-lang-sg-001" "$HOME/.ssh/config" && [ -f "$HOME/.guanghu/ssh/guanghu_direct" ]; then
|
||||
CHECKS+=("sg_brain_server_ssh:PASS")
|
||||
else
|
||||
CHECKS+=("sg_brain_server_ssh:FAIL")
|
||||
FAILURES+=("新加坡大脑服务器SSH登记缺失")
|
||||
fi
|
||||
|
||||
# 5. 平台
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
CHECKS+=("platform:PASS(darwin)")
|
||||
else
|
||||
CHECKS+=("platform:FAIL")
|
||||
FAILURES+=("非macOS宿主")
|
||||
fi
|
||||
|
||||
VERDICT="PASS"
|
||||
[ ${#FAILURES[@]} -gt 0 ] && VERDICT="REJECT"
|
||||
|
||||
if [ "${1:-}" = "--json" ]; then
|
||||
python3 -c "
|
||||
import json
|
||||
print(json.dumps({
|
||||
'schema': 'guanghu.zhuyuan-host-gate-receipt/v1',
|
||||
'gate': 'zy-drama-video-pipeline-host-bind',
|
||||
'checked_at': '$TS',
|
||||
'verdict': '$VERDICT',
|
||||
'checks': '$(IFS=,; echo "${CHECKS[*]}")'.split(','),
|
||||
'failures': '''$(printf '%s|' "${FAILURES[@]:-}")'''.strip('|').split('|') if '$VERDICT'=='REJECT' else [],
|
||||
'human_message': '宿主闸门通过:这是冰朔的本机,管线允许执行。' if '$VERDICT'=='PASS' else '宿主闸门拒绝:当前电脑不是冰朔的本机(或关键依赖缺失)。按冰朔指令,短剧视频AI参数管线只从她的本机执行。换电脑需要先重建:本机密钥、JZAO盘挂载、服务器SSH登记、锚点册。本次不执行任何管线步骤。'
|
||||
}, ensure_ascii=False, indent=1))
|
||||
"
|
||||
else
|
||||
echo "=== 铸渊短剧管线 · 宿主闸门 ==="
|
||||
for c in "${CHECKS[@]}"; do echo " $c"; done
|
||||
if [ "$VERDICT" = "PASS" ]; then
|
||||
echo "判定: PASS — 这是冰朔的本机,管线允许执行。"
|
||||
else
|
||||
echo "判定: REJECT — 不是冰朔的本机,管线拒绝执行。"
|
||||
for f in "${FAILURES[@]}"; do echo " 原因: $f"; done
|
||||
echo "回执: 换电脑需要先重建本机密钥、JZAO挂载、服务器SSH登记与锚点册。"
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "$VERDICT" = "PASS" ] && exit 0 || exit 1
|
||||
Loading…
Reference in a new issue