feat: add hybrid execution foundation
Some checks failed
自动更新代码和重启 / update-and-restart (push) Has been cancelled
CI检查 + 自动部署 / check (push) Has been cancelled
CI检查 + 自动部署 / deploy (push) Has been cancelled

This commit is contained in:
冰朔 2026-06-24 23:37:14 +08:00
parent 1f98f3de13
commit 09e0251741
7 changed files with 386 additions and 4 deletions

3
.gitignore vendored
View File

@ -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/

View File

@ -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 路径
---

View File

@ -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

View File

@ -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

View File

@ -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全局导航地图建立。感受先亮路径随后展开。

View File

@ -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产物和人工预览。

View File

@ -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" <<EOF
{
"generatedAt": "${now_utc}",
"runner": "guanghu-hybrid-runner-v1",
"host": "${host}",
"os": "${os}",
"repo": {
"branch": "${branch}",
"commit": "${commit}"
},
"policy": {
"paidApiCalls": false,
"secretValuesPrinted": false,
"localJzaoRequired": false,
"commitReport": ${COMMIT_REPORT}
},
"status": "${status}",
"failCount": ${fail_count},
"checks": [
$(IFS=,; echo "${checks_json[*]}")
]
}
EOF
{
echo "# Guanghu Hybrid Runner Report"
echo ""
echo "- generatedAt: ${now_utc}"
echo "- host: ${host}"
echo "- os: ${os}"
echo "- branch: ${branch}"
echo "- commit: ${commit}"
echo "- status: ${status}"
echo "- policy: no paid API calls, no secret values, no JZAO dependency"
echo ""
echo "| Check | Status | Detail |"
echo "|---|---|---|"
printf '%s\n' "${checks_md[@]}"
} > "$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