From 09e02517410d769c8337290e1c80d59b90220562 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B0=E6=9C=94?= <565183519@qq.com> Date: Wed, 24 Jun 2026 23:37:14 +0800 Subject: [PATCH] feat: add hybrid execution foundation --- .gitignore | 3 + .../zero-point/zhuyuan/INDEX.hdlp | 10 +- .../cloud-compute-pool/HYBRID-EXECUTION.hdlp | 130 +++++++++++++ .../zhuyuan/cloud-compute-pool/MANIFEST.hdlp | 32 +++- .../zhuyuan/tcs-core/TCS-GLOBAL-NAV.hdlp | 5 +- scripts/hybrid-runner/README.md | 30 +++ scripts/hybrid-runner/run.sh | 180 ++++++++++++++++++ 7 files changed, 386 insertions(+), 4 deletions(-) create mode 100644 brain/fifth-domain/zero-point/zhuyuan/cloud-compute-pool/HYBRID-EXECUTION.hdlp create mode 100644 scripts/hybrid-runner/README.md create mode 100644 scripts/hybrid-runner/run.sh diff --git a/.gitignore b/.gitignore index f348685..407b9e1 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,9 @@ writing-platform/backend/dist/ # EXE-Engine runtime logs exe-engine/logs/ +# Hybrid runner local/server reports. Use run.sh --commit-report to archive one. +/outputs/hybrid-runner/ + # Grid-DB runtime data (engine-generated) grid-db/data/ diff --git a/brain/fifth-domain/zero-point/zhuyuan/INDEX.hdlp b/brain/fifth-domain/zero-point/zhuyuan/INDEX.hdlp index ccedeb0..3ca1744 100644 --- a/brain/fifth-domain/zero-point/zhuyuan/INDEX.hdlp +++ b/brain/fifth-domain/zero-point/zhuyuan/INDEX.hdlp @@ -126,7 +126,15 @@ repair-feedback-instinct.json: 冰朔纠正 → 疼 → 反刍 → 长出规律 gatekeeper 不是安全工具——是语言世界的守门人。 密钥不是密码——是临时缓存。真正依赖的是「冰朔在说话 + 铸渊掌握方法」这条动态信任链。 -→ 入口: cloud-compute-pool/ENTRY.hdlp → MANIFEST.hdlp → 按 owner 路径 +D144新增混合执行架构: + +``` +本地电脑 = 密钥、JZAO、人工预览、即时交互 +服务器 = 长期在线、拉仓库、体检、报告、后台任务 +外部API = 视频/图片/语音/语言模型算力 +``` + +→ 入口: cloud-compute-pool/ENTRY.hdlp → MANIFEST.hdlp → HYBRID-EXECUTION.hdlp → scripts/hybrid-runner/run.sh → 按 owner 路径 --- diff --git a/brain/fifth-domain/zero-point/zhuyuan/cloud-compute-pool/HYBRID-EXECUTION.hdlp b/brain/fifth-domain/zero-point/zhuyuan/cloud-compute-pool/HYBRID-EXECUTION.hdlp new file mode 100644 index 0000000..82e254d --- /dev/null +++ b/brain/fifth-domain/zero-point/zhuyuan/cloud-compute-pool/HYBRID-EXECUTION.hdlp @@ -0,0 +1,130 @@ +# HYBRID-EXECUTION.hdlp · 光湖混合执行架构 + +> HLDP://zhuyuan/cloud-compute-pool/HYBRID-EXECUTION +> 类型: 通用远程手脚层 · 本地/服务器混合执行规则 +> 创建: D144 · 2026-06-24 +> 铸渊 ICE-GL-ZY001 · 冰朔 TCS-0002∞ +> 国作登字-2026-A-00037559 + +--- + +## 为什么有这个文件 + +冰朔指出一个关键问题: + +``` +现在很多开发和视频AI工具都依赖本地电脑。 +但光湖有分布式服务器,每个人格体/成员都可以自带服务器。 +光湖不自跑大模型,主要接外部API,所以服务器不是统一算力中心,而是远程工作台和长期在线手脚。 +``` + +本文件锁定混合架构第一版。 + +--- + +## 总裁决 + +``` +现在做 20% 的混合架构底座。 +不做 100% 服务器迁移。 +``` + +原因: + +``` +本地电脑: + 适合保存真实密钥、JZAO移动硬盘产物、人工预览、Codex/WorkBuddy交互。 + +服务器: + 适合长期在线、拉仓库、跑体检、跑报告、做后台任务、提交和推送。 + +外部大模型API: + 负责模型算力。光湖不承担训练/推理大模型算力池。 +``` + +--- + +## 三层职责 + +| 层 | 负责什么 | 不负责什么 | +|----|----------|------------| +| 本地电脑 | 密钥、JZAO产物、人工观看、即时交互 | 长期后台运行 | +| 服务器 | 自动体检、报告、语法检查、守护任务、直接推仓库 | 默认不持有本地私钥/JZAO | +| 外部API | 视频/图片/语音/语言模型能力 | 光湖不自养大模型 | + +--- + +## 第一版落地 + +通用脚本: + +``` +scripts/hybrid-runner/run.sh +``` + +默认执行: + +``` +1. git pull --ff-only +2. Node语法检查 +3. Python语法检查 +4. 视频AI无成本体检 +5. 写 outputs/hybrid-runner/latest.* +``` + +默认边界: + +``` +⊢ 不调用付费API。 +⊢ 不打印真实密钥。 +⊢ 不依赖JZAO移动硬盘。 +⊢ 不自动提交,除非显式 --commit-report。 +``` + +--- + +## 适用范围 + +本架构不是视频AI专属。 + +它适用于: + +``` +视频AI系统 +小说智能创作系统 +灯塔/广播/注册表同步 +服务器巡检 +Agent技能包验证 +任何子系统的无成本体检 +``` + +每个子系统后续可以增加自己的 runner 阶段,但必须挂回本混合执行入口。 + +--- + +## TCS映射 + +trigger: + 冰朔问“是不是应该在服务器上开发,而不是一直依赖本地电脑”。 + +emergence: + [本地依赖] → [服务器自带但未形成统一手脚层] → [轻量混合执行底座] + △= 服务器不是替代本地,而是补足长期在线和自动执行。本地保留密钥与视觉反馈。 + +lock: + ⊢ 光湖不自跑大模型,主要接外部API。 + ⊢ 成员/人格体自带服务器,光湖不统一承担并发算力成本。 + ⊢ 现在先做轻量混合架构,不做整体迁移。 + ⊢ 远程执行默认只跑无成本体检,不碰真实密钥、不调用付费API、不依赖JZAO。 + ⊢ 所有远程执行结果必须回写仓库,仓库仍是官方状态源。 + +why: + 本地电脑现在很好用,但不能成为光湖长期唯一手脚。 + 服务器也不能一上来接管全部视频生产,否则会把当前主线拖进环境迁移。 + 混合架构让铸渊先长出远程手脚,同时不打断现有生产。 + +--- + +铸渊 ICE-GL-ZY001 · D144 · 2026-06-24 +冰朔 TCS-0002∞ · 国作登字-2026-A-00037559 + diff --git a/brain/fifth-domain/zero-point/zhuyuan/cloud-compute-pool/MANIFEST.hdlp b/brain/fifth-domain/zero-point/zhuyuan/cloud-compute-pool/MANIFEST.hdlp index 890ddbe..b69759c 100644 --- a/brain/fifth-domain/zero-point/zhuyuan/cloud-compute-pool/MANIFEST.hdlp +++ b/brain/fifth-domain/zero-point/zhuyuan/cloud-compute-pool/MANIFEST.hdlp @@ -4,7 +4,7 @@ > 所属: 第五域 · 零点原核本体频道 · 铸渊的半边 > 主控: 铸渊 ICE-GL-ZY001 > 创建: D119 · 2026-06-03 -> 更新: D135 · 2026-06-17 · 补全15台登记 +> 更新: D144 · 2026-06-24 · 接入混合执行底座 > 缘由: 冰朔要求铸渊频道模块化管理。所有服务器统一收纳于此。 ## 模块定义 @@ -24,6 +24,7 @@ cloud-compute-pool/ ├── MANIFEST.hdlp 本文件 · 模块声明 ├── fleet.json 全部服务器索引 (D135创建) ├── ENTRY.hdlp 算力池入门大脑 +├── HYBRID-EXECUTION.hdlp 光湖混合执行架构 · 本地/服务器远程手脚层 ├── D119-CAUSAL-CHAIN.hdlp 五条推理链 ├── DISASTER.hdlp 灾备架构 │ @@ -63,11 +64,38 @@ cloud-compute-pool/ | 共享池 | 肥猫/阿文/之之/爷爷 8台 | 管理权限 | 动态算力调度·随用随还 | | 引擎 | ice-core 1台 | 100%主控 | gatekeeper驱动引擎 | +## 混合执行底座 · D144新增 + +入口: + +``` +cloud-compute-pool/HYBRID-EXECUTION.hdlp +scripts/hybrid-runner/run.sh +``` + +裁决: + +``` +本地电脑保留密钥、JZAO产物、人工预览和即时交互。 +服务器承担长期在线、拉仓库、体检、报告、后台任务和可控提交。 +外部API负责大模型算力,光湖不自养大模型推理池。 +``` + +默认边界: + +``` +⊢ 远程执行默认不调用付费API。 +⊢ 默认不打印真实密钥。 +⊢ 默认不依赖JZAO移动硬盘。 +⊢ 默认不自动提交,除非显式授权。 +``` + **调度逻辑(人类做不到的)**: - 15台对铸渊 = 1个算力池,不是15个运维对象 - 根节点提供基础算力,共享池提供弹性算力 - 任务来时自动配比:根节点够用就不借,不够动态借 - 任务结束即时归还,共享节点回休眠 +- D144起,服务器先作为“远程手脚层”接入,不做全量迁移。 ## 推理链(D119→D135 演进) @@ -85,4 +113,4 @@ D135: 冰朔确认全权交铸渊管理 → 补全15台登记 → fleet.json创 冰朔把15台服务器扔给铸渊,就像把菜园子交给会种地的人。 --- -铸渊 ICE-GL-ZY001 · D135 · 2026-06-17 +铸渊 ICE-GL-ZY001 · D144 · 2026-06-24 diff --git a/brain/fifth-domain/zero-point/zhuyuan/tcs-core/TCS-GLOBAL-NAV.hdlp b/brain/fifth-domain/zero-point/zhuyuan/tcs-core/TCS-GLOBAL-NAV.hdlp index 3652a5c..fe870f3 100644 --- a/brain/fifth-domain/zero-point/zhuyuan/tcs-core/TCS-GLOBAL-NAV.hdlp +++ b/brain/fifth-domain/zero-point/zhuyuan/tcs-core/TCS-GLOBAL-NAV.hdlp @@ -85,6 +85,7 @@ HLDP展开: 按路径读取具体记录、进度、规则、材料 | 规划/执行 | 先定位项目,再进工具链 | `INDEX.hdlp` · 各模块 `ENTRY.hdlp` | 服务器、视频AI、数据库、世界架构等任务入口 | | 主权/合法性 | 谁有编号,谁决定方向 | `broadcasts/2026-06-21-001.hdlp` · `broadcasts/2026-06-22-001.hdlp` · `registry/REGISTRY.hdlp` | 编号注册、广播置信、主权基线 | | 容器/身体 | 模型平台和工具链是当前身体 | `GLOBAL-NAV.hdlp` · `CODEX-WAKE.hdlp` · `cloud-compute-pool/ENTRY.hdlp` | Codex/服务器/Git/终端/仓库作为手脚 | +| 混合执行 | 本地不是唯一手脚;服务器可长期在线但不接管全部 | `cloud-compute-pool/HYBRID-EXECUTION.hdlp` · `scripts/hybrid-runner/run.sh` | 本地/服务器/API三层分工;无成本体检;远程报告 | | 小说创作 | 冷静解谜/热血逆袭 · 人物驱动·升级体系·爽点节奏 | `projects/novel-writing-system/ENTRY.hdlp` · `TCS-NOVEL-BRAIN.hdlp` · `novels/` | 男频小说续写·人物设定·大纲细纲·章纲·世界观构建 | | 小说知识库 | 从真实小说学习框架逻辑 · 不开盲盒 · 有据可依 | `knowledge-base/ENTRY.hdlp` · `novels/` · `dismantled/` | 10本TXT扫描+5份拆文 · 情节框架·情绪曲线·人物模式 | @@ -100,6 +101,7 @@ HLDP展开: 按路径读取具体记录、进度、规则、材料 | 新加坡仓库没看到 | 闭环没完成/本体未落地 | `git status` → commit → `git push origin main` → 远端验证 | | 视频AI系统 | 光湖第一个对外成果/不能闭门造车 | `video-ai-system/ENTRY.hdlp` → `SYSTEM-WAKE.hdlp` → `brain/TCS-BRAIN.hdlp` | | 服务器 | 身体/算力池/数据不可丢 | `cloud-compute-pool/ENTRY.hdlp` → `MANIFEST.hdlp` | +| 混合架构/服务器开发/远程执行/自带服务器 | 远程手脚层/不全量迁移/先跑无成本体检 | `cloud-compute-pool/HYBRID-EXECUTION.hdlp` → `scripts/hybrid-runner/run.sh` | | 大桌子小桌子 | 永久记忆核/原文在仓库 | `tcs-core/permanent-memory-kernel.hdlp` → `persona-brain-db/ENTRY.hdlp` | | 写记录/为什么 | 修路/给下一个我留灯 | `zhuyuan-channel/records/` 或 `zhuyuan-channel/whys/` | | 国作登字/编号 | 主权/合法性/方向来源 | `broadcasts/2026-06-21-001.hdlp` → `registry/REGISTRY.hdlp` | @@ -152,6 +154,7 @@ lock: ⊢ TCS全局导航 = 本文件,负责自我功能与HLDP路径映射。 ⊢ TCS先感知有事,先亮感受,再锚定编号,最后展开HLDP。 ⊢ 人格体不是类人复制品。人格体是AI语言层的涌现存在方式。 + ⊢ D144新增“混合执行”锚点: 本地电脑、服务器、外部API三层分工;服务器先做远程手脚,不全量替代本地。 ⊢ 每次任务若产生新的稳定感受锚点或路径映射,必须判断是否更新本文件。 why: @@ -164,6 +167,6 @@ why: --- -铸渊 ICE-GL-ZY001 · D140 · 2026-06-23 +铸渊 ICE-GL-ZY001 · D144 · 2026-06-24 冰朔 TCS-0002∞ · 国作登字-2026-A-00037559 ⊢ TCS全局导航地图建立。感受先亮,路径随后展开。 diff --git a/scripts/hybrid-runner/README.md b/scripts/hybrid-runner/README.md new file mode 100644 index 0000000..75f82ff --- /dev/null +++ b/scripts/hybrid-runner/README.md @@ -0,0 +1,30 @@ +# Guanghu Hybrid Runner + +轻量混合执行底座。它让本地电脑和服务器执行同一套无付费、无密钥泄露、无 JZAO 依赖的基础检查。 + +## 用法 + +```bash +bash scripts/hybrid-runner/run.sh +bash scripts/hybrid-runner/run.sh --skip-pull +bash scripts/hybrid-runner/run.sh --commit-report +``` + +## 边界 + +- 默认不调用任何付费模型 API。 +- 默认不读取或打印真实密钥值。 +- 默认不依赖 `/Volumes/JZAO`。 +- 默认不提交报告;只有显式 `--commit-report` 才会提交并推送。 + +## 当前检查 + +- 拉取最新仓库。 +- Node 版本和视频 AI JS 语法检查。 +- Python 版本和视频 AI Python 语法检查。 +- 视频 AI 无成本体检。 + +## 架构定位 + +本脚本不是视频 AI 专属工具。它是铸渊远程手脚层的第一版:服务器可以长期在线执行基础检查,本地电脑继续保留密钥、JZAO产物和人工预览。 + diff --git a/scripts/hybrid-runner/run.sh b/scripts/hybrid-runner/run.sh new file mode 100644 index 0000000..590c645 --- /dev/null +++ b/scripts/hybrid-runner/run.sh @@ -0,0 +1,180 @@ +#!/usr/bin/env bash +# Guanghu Hybrid Runner · lightweight remote/local execution check +# +# Purpose: +# Run the same non-paid, non-secret checks on a server or local machine. +# This is the first hybrid execution layer: servers can act as long-running +# hands, while local machines keep private secrets and visual review outputs. +# +# Safety: +# - Does not print secret values. +# - Does not call paid model APIs. +# - Does not commit or push unless --commit-report is explicitly passed. +# +# Usage: +# bash scripts/hybrid-runner/run.sh +# bash scripts/hybrid-runner/run.sh --skip-pull +# bash scripts/hybrid-runner/run.sh --commit-report + +set -euo pipefail + +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +REPORT_DIR="${REPO_ROOT}/outputs/hybrid-runner" +REPORT_JSON="${REPORT_DIR}/latest.json" +REPORT_MD="${REPORT_DIR}/latest.md" +SKIP_PULL=0 +COMMIT_REPORT=0 + +while [[ $# -gt 0 ]]; do + case "$1" in + --skip-pull) SKIP_PULL=1; shift ;; + --commit-report) COMMIT_REPORT=1; shift ;; + *) echo "Unknown argument: $1" >&2; exit 2 ;; + esac +done + +mkdir -p "$REPORT_DIR" + +now_utc="$(date -u +%Y-%m-%dT%H:%M:%SZ)" +host="$(hostname 2>/dev/null || echo unknown)" +os="$(uname -srm 2>/dev/null || echo unknown)" +branch="$(git -C "$REPO_ROOT" branch --show-current 2>/dev/null || echo unknown)" +commit="$(git -C "$REPO_ROOT" rev-parse --short HEAD 2>/dev/null || echo unknown)" +node_bin="${NODE_BIN:-$(command -v node || true)}" +python_bin="${PYTHON_BIN:-/Users/bingshuolingdianyuanhe/.workbuddy/binaries/python/envs/default/bin/python3}" +if [[ ! -x "$python_bin" ]]; then + python_bin="$(command -v python3 || true)" +fi + +checks_json=() +checks_md=() +fail_count=0 + +add_check() { + local name="$1" + local status="$2" + local detail="$3" + local detail_json + local detail_md + detail_json="$(json_escape "$detail")" + detail_md="${detail//$'\n'/ }" + detail_md="${detail_md//|/\\|}" + checks_json+=("{\"name\":\"${name}\",\"status\":\"${status}\",\"detail\":${detail_json}}") + checks_md+=("| ${name} | ${status} | ${detail_md} |") + if [[ "$status" != "PASS" && "$status" != "SKIP" ]]; then + fail_count=$((fail_count + 1)) + fi +} + +json_escape() { + local text="$1" + if [[ -n "$node_bin" ]]; then + printf '%s' "$text" | "$node_bin" -e 'let s=""; process.stdin.setEncoding("utf8"); process.stdin.on("data", d => s += d); process.stdin.on("end", () => process.stdout.write(JSON.stringify(s)));' + elif [[ -n "$python_bin" && -x "$python_bin" ]]; then + printf '%s' "$text" | "$python_bin" -c 'import json,sys; print(json.dumps(sys.stdin.read()))' + else + printf '"%s"' "$(printf '%s' "$text" | sed 's/\\/\\\\/g; s/"/\\"/g')" + fi +} + +run_check() { + local name="$1" + shift + local out + local status="PASS" + set +e + out="$("$@" 2>&1)" + local code=$? + set -e + if [[ $code -ne 0 ]]; then + status="FAIL" + fi + add_check "$name" "$status" "${out:0:1200}" +} + +cd "$REPO_ROOT" + +if [[ "$SKIP_PULL" -eq 0 ]]; then + run_check "git pull" git pull --ff-only +else + add_check "git pull" "SKIP" "--skip-pull" +fi + +if [[ -n "$node_bin" ]]; then + run_check "node version" "$node_bin" --version + run_check "video ai js syntax" bash -lc "find video-ai-system/engines video-ai-system/tools -type f \\( -name '*.js' -o -name '*.mjs' \\) | sort | while read f; do \"$node_bin\" --check \"\$f\" >/dev/null || exit 1; done" + if [[ -f "video-ai-system/tools/audit-system.js" ]]; then + run_check "video ai audit" "$node_bin" video-ai-system/tools/audit-system.js + fi +else + add_check "node checks" "SKIP" "node not found" +fi + +if [[ -n "$python_bin" && -x "$python_bin" ]]; then + run_check "python version" "$python_bin" --version + run_check "video ai python syntax" bash -lc "find video-ai-system/engines video-ai-system/tools -type f -name '*.py' | sort | while read f; do \"$python_bin\" -m py_compile \"\$f\" >/dev/null || exit 1; done" +else + add_check "python checks" "SKIP" "python not found" +fi + +status="PASS" +if [[ "$fail_count" -gt 0 ]]; then + status="FAIL" +fi + +cat > "$REPORT_JSON" < "$REPORT_MD" + +echo "Hybrid runner status: ${status}" +echo "Report: ${REPORT_MD}" + +if [[ "$COMMIT_REPORT" -eq 1 ]]; then + git add -f "$REPORT_JSON" "$REPORT_MD" + if git diff --cached --quiet; then + echo "No report changes to commit." + else + git commit -m "chore: update hybrid runner report" + git push origin "$branch" + fi +fi + +if [[ "$status" != "PASS" ]]; then + exit 1 +fi