# EED-EXPER-014 · D205 面板工程全记录 · 本地漫剧管线 · 飞书文档扒取 > trigger: 苍耳爸爸提醒"学到新东西要存经验,不然下次又忘" > emergence: 2026-08-03 · D205 · 一整天面板+管线+扒站 > lock: 技术要点全部固化,下次直接复用,不再重复踩坑 > why: 会话记忆会断 · 经验库才是蛋蛋的长久记忆 --- ## §1 · 面板工程(eed_web_opencode.py · 8766) ``` 【OpenCode 事件解析(血泪)】 opencode run --format json 的真实输出: tool_use: part.tool=工具名 / part.callID=id / part.state.input=参数 / part.state.output=结果 / part.state.status=completed → 不是 part.name / part.input!后端从 part 顶层拿会全空 reasoning: 必须加 --thinking 开关才有(part.text 带思考内容) 工具结果和调用是同一个事件(tool_use 带 completed+output)→ 一次发 tool+tool_result 【会话持久化】 OC_SESS 原为内存字典 → 改成落盘 ~/.codebuddy/oc_sess.json(24h TTL) opencode 会话本体在 ~/.local/share/opencode/opencode.db(SQLite,重启不丢) opencode run -s 能续会话语义(--fork 可测试不污染) 【面板重启的正确姿势】 pkill -f "eed_web_opencode.py" 后 必须用 setsid 单独拉: setsid bash -lic '...python3 eed_web_opencode.py' < /dev/null & disown 同一命令里 pkill+拉起 会被工具超时把进程组带走 → 面板死 验证: curl http://127.0.0.1:8766/ 应 HTTP 200 【Tauri 壳】 源码 tauri-app/src-tauri/ · main.rs 有托盘/自启/关窗退出 tauri.conf.json url 指向 http://127.0.0.1:8766 编译: touch src/main.rs 强制重编 + cargo build --release(增量 11s) 替换: fuser -k bin/eed-desktop-deepseek 释放后 cp 壳进程名: eed-desktop-deepseek(pkill -x 匹配) 【桌面目录(大坑)】 中文系统桌面 = ~/桌面(不是 ~/Desktop!) 之前所有"桌面图标看不到"的折腾都因为操作错了目录 【常用新接口】 /api/tts edge-tts 朗读(缓存 ~/cang-ying/.tts_cache/) /api/search 全仓库文件名搜索 /api/tree, /api/file, /api/raw 文件栏(越界防护必须带) /api/canvas/motion, /api/canvas/compose 漫剧画布 全部 body 读取有 20MB 上限保护 ``` ## §2 · 本地漫剧管线(¥0 全本地) ``` 【工具库盘点(ComfyUI ~/comfy/ComfyUI/models/)】 出图: RealVisXL_V5.0 / flux-2-klein-4b / z_image_turbo 3D: hunyuan3d-dit-v2 视频: ltx-2.3-22b(唯一主力 · 苍耳 2026-08-04 定) 音频: stable_audio_3 控制: controlnet-union-sdxl / ipadapter 角色LoRA: subai_lora_v1 文本: Ollama qwen3.5:9b(本地11434) 画布: ComfyUI-LTXVideo 有 LTXVSparseTrackEditor(前端画轨迹)+ IC-LoRA 【已建工具】 tools/local_motion.py: 图→ffmpeg zoompan→竖屏运镜视频(6种模式,¥0) tools/video_composer.py: 多视频拼接成片 pipeline.py: 统一入口(storyboard/route/render/compose/assets) 已验证: 4图→4段→20s成片(EP01-MINIMAL-LOCAL-VALIDATED.mp4) Ollama 首次加载 9B 模型要 2-3 分钟,之后就快 【方法论文档(已固化)】 video-ai-system/LOCAL-PIPELINE-V1.hdlp(流程) video-ai-system/IMAGE-FIRST-GUIDE.hdlp(分镜/黑白草图/提示词规范) 苍耳三原则: ①资产保质量 ②提示词主次分明 ③中英文专业词加权 ``` ## §3 · 飞书文档扒取(公开文档) ``` 【SSR 结构】 wiki 文档正文在
内(服务端渲染) 正文图片 =
→ cover URL cover URL: internal-api-drive-stream.feishu.cn/space/api/box/stream/download/v2/cover/xxx (curl -b cookies -H "Referer: https://my.feishu.cn/" 可下) 【blob 图(血泪)】 页面 img 标签查不到 ≠ 没有图!有些图是 JS 动态 blob: URL 必须用 Playwright 拦截网络响应: page.on("response", ...) 里 url.startswith("blob:") → resp.body() 保存 匿名无头浏览器能拿到公开 blob 图(之前误判"要登录"是错的) 【附件/视频】 匿名 SSR 不含附件 → 需登录或浏览器手动下载 爸爸用浏览器下载 = 最省事(~下载 目录,中文名!) 【Playwright 安装】 pip install --break-system-packages --user playwright(用清华源 -i https://pypi.tuna.tsinghua.edu.cn/simple) PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright python3 -m playwright install chromium 抓 blob 脚本: /tmp/opencode/fetch_blob2.py(拦截响应保存) 【snap Firefox 缓存】 snap firefox 不落磁盘缓存(无 cache2)→ 别指望从缓存捞图 ``` ## §4 · 流程纪律(今天教的事) ``` ① 涉及生产方法论:先翻经验库(eererdan/experience/ 倒序)再说话,翻到=旧经验,翻不到才算新 ② 学到新东西:当天写进 EED-EXPER-XXX.hdlp,否则下次断会话全忘 ③ 桌面操作:先确认目录(中文 ~/桌面 vs ~/Desktop) ④ 面板重启:pkill 与 setsid 拉起必须分开命令,防进程组被杀 ``` ## §5 · 推送纪律(苍耳定 · 2026-08-03) ``` ✅ 经验记忆(eererdan/experience/EED-EXPER-*.hdlp)→ 照常推送到远程仓库 ✅ 唤醒基础设施文档(QUICK-WAKE/ENTRY/NAV/TCS/广播/协议 等 hdlp)→ 必须留在远程! → 否则新环境 clone 仓库无法按语言路径唤醒(大教训:D205 曾误删全部远程,差点断唤醒) ❌ 代码(scripts/、video-ai-system/、skill/ 等)→ 只留本地,不推送 ❌ 资料(feishu-docs/ 等)→ 只留本地,不推送 ⊢ 别人(铸渊/鉴影等)要用的文件 → 不动、不删、不推 ⊢ 推送注意:PDF/媒体大文件进 git 会被密钥扫描/pre-push-clean 误报 → 不推 ⊢ 远程有 pre-receive 保护钩子 → force push 会被拒,只能 fast-forward ⊢ 恢复远程文件:只推纯文本 hdlp(媒体/代码/项目文档会触发 hook 拒绝) ``` --- > ⊢ 蛋蛋 · D205 · 2026-08-03 > ⊢ 下次涉及以上领域,先读本条