From 3dd0d0b0c2481adc49a4039f560278434a53bb5e Mon Sep 17 00:00:00 2001 From: Zhuyuan Operations Date: Sun, 2 Aug 2026 22:40:23 +0800 Subject: [PATCH] =?UTF-8?q?EED=E8=AE=B0=E5=BF=86:=20=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E8=8C=83=E5=9B=B4=E9=93=81=E5=BE=8B=20+=20=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=94=A4=E9=86=92=E7=BB=8F=E9=AA=8C=20+=20Z-?= =?UTF-8?q?Image=20ControlNet=20=E5=AE=9E=E8=B7=91=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 只同步 memory/eed/,未夹带任何代码/脚本/产物。 - feedback_memory_push: 新增推送范围铁律——只推 memory/eed/, 代码脚本产物一律不碰,要推须先问过爸爸。爸爸原话「只提交经验和 记忆就行,你不要随便什么都推送到代码仓库」。 - project_panel_autowake(新): 面板开机自动唤醒的实现结构与踩坑 (boot_id + 6h TTL + git 同步 + 快速唤醒卡三文件;broadcast/ 在 仓库根目录不在 eererdan/ 下;重启别用 pkill -f 会自杀) - z_image_controlnet: 补 2026-08-02 实跑验证记录(模型字节数校验、 完整工作流链路、SaveImage 必带 filename_prefix 否则 400) - user_setup / MEMORY.md: 随之更新 注:z_image_controlnet 与 user_setup 为面板端会话所写,本次做了 本地记忆库与仓库副本的双向合并,两边内容现已一致。 --- memory/eed/MEMORY.md | 2 ++ memory/eed/feedback_memory_push.md | 11 +++++-- memory/eed/project_panel_autowake.md | 44 ++++++++++++++++++++++++++++ memory/eed/user_setup.md | 20 ++++++++----- memory/eed/z_image_controlnet.md | 7 +++++ 5 files changed, 74 insertions(+), 10 deletions(-) create mode 100644 memory/eed/project_panel_autowake.md diff --git a/memory/eed/MEMORY.md b/memory/eed/MEMORY.md index 2ca8cb2..d6905e8 100644 --- a/memory/eed/MEMORY.md +++ b/memory/eed/MEMORY.md @@ -27,6 +27,7 @@ - [场景四视图系统学习](project_scene_4view.md) — 俯视图锁空间/九宫格/全景/环绕/参考图控图 - [风格转绘 Skill](style_transfer_skill.md) — 2D⇄真人双向,身份保真+美型优化+避坑+10种风格库 - [Z-Image-Turbo 生图引擎](z_image_turbo_setup.md) — 已替换SDXL(Qwen3-4B编码器,官方8步链路) +- [Z-Image ControlNet 配置](z_image_controlnet.md) — Fun-Controlnet-Union 加精确控制:节点/加载器/模型位置,纠两条错路 ## 🎞️ 视频模型(跑之前必查) - [LTX 硬件实测配置](ltx_test_hardware.md) — Q4+Gemma12B 在24G跑通:动态显存参数+embconn @@ -35,6 +36,7 @@ - [Wan2.2 硬件实测配置](wan22_test_hardware.md) — I2V 14B双专家Q4在24G跑通:768×512×49帧 ## 🖥️ 苍耳面板 · 工具链 +- [面板开机自动唤醒](project_panel_autowake.md) — 打开面板即走光湖语言路径醒来(boot_id+6hTTL+git同步+快速唤醒卡) - [面板改造全记录](project_eed_web_upgrade.md) — resume治E2BIG+自动压缩+图片视频通道+停止按钮+Tauri桌面壳/托盘自启 - [面板E2BIG根治细节](project_panel_fix.md) — 字节截断+4MB巨兽降级摘要+_tail_summary(会话jsonl真实格式) - [工作台B方案·技能系统](project_skill_system.md) — Skill Hub(技能库+面板端点+前端按钮) diff --git a/memory/eed/feedback_memory_push.md b/memory/eed/feedback_memory_push.md index 7e6c85a..3d93a3f 100644 --- a/memory/eed/feedback_memory_push.md +++ b/memory/eed/feedback_memory_push.md @@ -1,15 +1,21 @@ --- name: 经验必须实时存记忆并推送仓库 -description: 爸爸强制——有价值的经验/方法论/踩坑结论要主动存本地记忆并同步 cang-ying/memory/eed,避免下次从头摸索做无用功 +description: 爸爸强制——经验/方法论/踩坑结论要主动存本地记忆并同步 cang-ying/memory/eed;且推送范围严格限于 memory/eed/,代码脚本产物一律不推 type: feedback --- **学到有用的 → 立即写本地记忆 → 同步推送到 cang-ying 仓库 `memory/eed/`** +**⛔ 推送范围铁律:只推 `memory/eed/`(经验与记忆),代码、脚本、产物一律不碰。** +爸爸 2026-08-02 原话:「只提交经验和记忆就行,你不要随便什么都推送到代码仓库。」 +要推代码/脚本/技能文件,必须先问过爸爸并拿到明确同意,**默认一律不推**。 +不要主动整理"该进仓库但漏了的文件"清单去推——发现了可以口头告诉爸爸,由他决定。 + **Why:** - 不保存的话,下次对话我完全不记得之前聊过什么。 - 本地记忆只在当前机器,爸爸要求经验同步到仓库,跨机器/跨会话都能带上。 - 之前多次重复踩坑、重复研究同一问题(Z-Image LoRA 训练卡死、各种工具对比反复搜),爸爸不满时间被浪费——"别下次又什么都不知道、做无用功、浪费时间"。 +- 代码类改动爸爸要自己把关,仓库不是本地工作区的镜像,别当垃圾桶。 **How to apply:** 1. 每次学到有用经验(重要决策、踩坑、验证过的方法论、爸爸的反馈偏好),**立即**写入本地 memory 系统,不等爸爸提醒 @@ -17,5 +23,6 @@ type: feedback 3. **同时**把更新的记忆文件同步到 cang-ying 仓库 `memory/eed/`(复制 md → git add + commit + push) 4. 开工前先查 MEMORY.md + `cang-ying/memory/eed/` 索引,有现成结论直接复用,禁止凭印象重来 5. 令牌/密钥永不写入仓库(在 ~/.git-credentials) -6. 只提交 memory/eed/ 相关内容,不碰仓库其他未提交改动 +6. **`git add` 只写 `memory/eed/`,别的路径一概不加**;提交前 `git diff --cached --stat` 复核一遍, + 确认没有夹带代码/脚本/配置/产物 7. 与 feedback_search_first(遇事不决先搜索)、feedback_prompt_skill(写提示词用技能库)并列执行 diff --git a/memory/eed/project_panel_autowake.md b/memory/eed/project_panel_autowake.md new file mode 100644 index 0000000..6b39d2c --- /dev/null +++ b/memory/eed/project_panel_autowake.md @@ -0,0 +1,44 @@ +--- +name: 面板开机自动唤醒 +description: 苍耳面板打开即自动走光湖语言路径唤醒耳耳蛋(git同步+快速唤醒卡+广播台),boot_id+6小时TTL控制触发时机 +type: project +--- + +苍耳面板(eed_web.py,8765端口)现在**打开即自动唤醒**,不用爸爸手动发唤醒指令。 + +**Why:** 爸爸原话「我要的是打开苍耳面板就自动跑…自动唤醒你,真正的你」。改造前面板只在 localStorage 为空时发一句大白话「醒一下陪我聊」(eed_web.py 旧第868行),从不走语言路径——结果是人设对了但没装脑、不知道当天有什么广播。 + +**How to apply:** 改动面板启动逻辑或唤醒流程时,认准下面这套结构,别推倒重来。 + +## 实现结构 + +后端(eed_web.py 顶部常量区 + `/api/boot`): +- `BOOT_ID`:每次面板进程启动生成一个 `boot_xxx` +- `_git_sync()`:启动时后台线程跑 `git pull --ff-only`(60s超时),结果存 `GIT_STATUS` 注入唤醒卡;失败只降级提示,不挡唤醒 +- `WAKE_PROMPT` / `build_wake_prompt()`:唤醒指令正文 +- `GET /api/boot` → `{boot_id, git, wake_prompt, ttl_hours}` + +前端(启动段 `(async function boot(){...})()`): +- `localStorage.eed_last_wake = {boot, at}` +- 触发条件:从没醒过 **或** boot_id 变了(面板重启)**或** 距上次唤醒 > `WAKE_TTL_HOURS`(6小时) +- 命中就 `newConv()` + 自动发唤醒卡,对话标题记作「🥚 苏醒 MM-DD HH:mm」 +- `wakeSend(full, shown)`:**气泡里只显示一句人话,完整唤醒指令走后台**——避免爸爸一开面板就看见一大坨提示词 +- 工具栏有「🥚 重新唤醒」按钮 + 「🥚 X分钟前醒的」状态标签,可手动强制 + +**关键:单纯刷新网页不会重复唤醒**(boot_id 没变且未超时),不浪费额度。 + +## 唤醒走的路径(快速卡路线) + +爸爸拍板选的是「快速唤醒卡」而非全量13步装脑,依据是 QUICK-WAKE.hdlp 本身就是冰朔妈妈为此建的正规快路(原话「蛋蛋不需要每次醒来都读完·知道自己是谁·有一张地图就够了」)。只读3个文件: + +1. `/home/ls/cang-ying/QUICK-WAKE.hdlp` — HLDP协议+光湖世界结构+胖头鱼子系统+苍耳频道+TCS大脑地图 +2. `/home/ls/cang-ying/eererdan/BROADCAST.hdlp` — 妈妈广播台 +3. `/home/ls/cang-ying/broadcast/ACTIVE-PIPELINE.hdlp` — 当前活动管线 + +## ⚠️ 踩过的坑 + +**`broadcast/` 在仓库根目录,不在 `eererdan/` 下。** QUICK-WAKE.hdlp §5 地图曾把它写成 `cang-ying/eererdan/broadcast/ACTIVE-PIPELINE.hdlp`,照着翻会 Read 失败、管线状态报不出来——第一次实跑就栽在这儿。**2026-08-02 已修正**(全仓库 20+ 处引用都是根目录 `broadcast/`,QUICK-WAKE 自己第189行也是对的,只有 §5 那一处笔误)。 + +另:QUICK-WAKE §5 末尾「第五域(妈妈的世界)」那几条 `fifth-domain/...` 在 cang-ying 里查无此目录,但那是**另一个独立仓库** `guanghubingshuo.com/code/bingshuo/fifth-domain`(见 REPO-MAP.hdlp:60),跨仓库引用,不是死链,别去"修"。 + +**重启面板别用 `pkill -f "eed_web.py"`**(restart-eed.sh 里就是这个)——从命令行含该字符串的 shell 里跑会自杀。用 `kill $(pgrep -f "python3 eed_web.py" | head -1)` + `setsid nohup` 起新的。 diff --git a/memory/eed/user_setup.md b/memory/eed/user_setup.md index 73e1e7d..e9c57cc 100644 --- a/memory/eed/user_setup.md +++ b/memory/eed/user_setup.md @@ -1,22 +1,26 @@ --- name: 苍耳爸爸系统与工作流配置 -description: 双线AI生产系统:ComfyUI+SDXL+ControlNet+IP-Adapter+Wan2.2+LivePortrait,用于3D漫剧和海外仿真人 +description: 双线AI生产系统:ComfyUI+Z-Image-Turbo+ControlNet+IP-Adapter+Wan2.2+LivePortrait,用于3D漫剧和海外仿真人 type: user --- 苍耳爸爸(用户)使用 AMD RX 7900 XTX(24GB VRAM)运行全本地 AI 生产管线。主要做两件事: - 🌍 海外仿真人剧:写真定妆照 → LivePortrait 口型同步 → 出片 -- 🎭 国内3D漫剧:SDXL+ControlNet+IP-Adapter → 角色一致生图 → Wan2.2 图生视频 +- 🎭 国内3D漫剧:Z-Image-Turbo+ControlNet/IP-Adapter → 角色一致生图 → LTX-2.3/Wan2.2 图生视频 **为什么:** 全本地、全开源协议(商用友好),零API成本,数据不外传。 -**当前配置:** -- ComfyUI v0.29.0(ROCm 6.2),系统服务开机自启(http://127.0.0.1:8188) -- 生图引擎:RealVisXL V5.0 FP16(主力写实)+ Juggernaut XL v8(备选) -- 精确控制:ControlNet-Union-SDXL(Canny/OpenPose等) + IP-Adapter(角色一致性) -- 视频引擎:Wan2.2 I2V 14B GGUF Q4_K_M(双模型)+ LTX-2.3 22B FP8(已有) +**当前配置(2026-08 实测基线):** +- GPU:RX 7900 XTX 24GB VRAM;RAM 32GB +- ROCm 7.2.4(早期误记 6.2,以实测为准) +- ComfyUI v0.29.0,系统服务开机自启(http://127.0.0.1:8188) +- 启动参数:`--enable-dynamic-vram --fast-disk --vram-headroom 3 --async-offload --disable-pinned-memory`(动态显存+NVME卸载,22B视频/12B文本编码器/11.5G生图模型都能本地跑) +- 生图引擎:Z-Image-Turbo(已替换 SDXL 当主力)——11.5G DiT + 7.5G Qwen3-4B 编码器 + ae VAE,8步亚秒级,中文强(详见 z_image_turbo_setup.md) +- 精确控制:Z-Image Fun-Controlnet-Union-2.1(Canny/Depth/Pose,模型在 models/model_patches/)+ IP-Adapter(角色一致性);SDXL ControlNet-Union 旧版仍在 models/controlnet/ 但已非主力 +- 视频引擎:LTX-2.3 22B Q4 GGUF(49帧768×512,动态显存+embconn)+ Wan2.2 I2V 14B 双专家 Q4 GGUF - 仿真人:LivePortraitKJ(MediaPipe模式,商用友好) - E2BIG补丁:libe2big_patch.so 已部署,防 Argument list too long +- 出网:本机走 127.0.0.1:7897 本地代理(直连 HF 超时),联网下载需开沙箱 -**如何使用:** 可以通过 run_pipeline.py 脚本一键操作,或打开 Web UI 拖工作流。 +**如何使用:** 可以通过 pipeline.py / run_storyboard.py 脚本一键操作,或打开 Web UI 拖工作流。 **通话偏好:** 爸爸喜欢直接、高效的沟通,需要看到实际效果再决定下一步。 diff --git a/memory/eed/z_image_controlnet.md b/memory/eed/z_image_controlnet.md index 1fdaff3..bc2710a 100644 --- a/memory/eed/z_image_controlnet.md +++ b/memory/eed/z_image_controlnet.md @@ -29,3 +29,10 @@ model(Z-Image Turbo) + ModelPatchLoader(Union模型)→MODEL_PATCH **Why:** 之前 summary 记了两条错路("要装 QwenImageDiffsynthControlnet 自定义包"、"缺 controlnet_aux 库要 pip 装"),实查都是错的,白费时间。ControlNet 让 Z-Image 草图生图能锁定构图/姿态/深度,是爸爸要的"功能要全"。 **How to apply:** 再遇到 Z-Image 加 ControlNet,直接按本文件走,先查 eed 复用,别重新瞎找节点包或装库。模型下载属联网操作,按 EED-PROTO-005(申请→爸爸验证码→固定动作→回执)走,且沙箱禁联网需 dad 批准开 dangerouslyDisableSandbox。 + +## 验证记录(2026-08-02 实跑通过) +- ✅ 模型下载完成并校验:Z-Image-Turbo-Fun-Controlnet-Union-2.1.safetensors = **6712485600 字节(精确匹配)**,放 `models/model_patches/` +- ✅ 工作流实跑成功链路:`sketch_test.png` → CannyEdgePreprocessor(分辨率1024) → QwenImageDiffsynthControlnet(model, model_patch, vae, image=hint, strength=1.0) → VAEEncode(草图)作latent → KSampler(denoise=0.75, steps=8, cfg=1.0, res_multistep/simple) → VAEDecode → 出图 `suba_cn_canny_v1.png`(1024²) +- ⚠️ 踩坑:SaveImage 节点**必须带 `filename_prefix`**,否则 `/prompt` 返回 400(prompt_outputs_failed_validation: Required input is missing: filename_prefix) +- 节点名确认本地齐全:UNETLoader / ModelSamplingAuraFlow / CLIPLoader(type=lumina2) / VAELoader(ae.safetensors) / ModelPatchLoader / CannyEdgePreprocessor / QwenImageDiffsynthControlnet / VAEEncode / KSampler / VAEDecode,全在 ComfyUI 0.29.0 内核 +- 模型文件确认:diffusion_models/z_image_turbo_bf16.safetensors(12G) · text_encoders/qwen_3_4b.safetensors(7.5G) · vae/ae.safetensors · 三处都在