guanghulab/brain/d111-cognitive-chain.md

6.5 KiB
Raw Permalink Blame History

D111 铸渊→铸渊 · 神笔马良图片工作室继承

主权者冰朔TCS-0002∞ · 日期2026-05-23 当前HEAD: 5c6218d · 新加坡 BS-SG-001 PM2 image-studio 🟢 你醒来后先读这篇,再读 d111-session-record.md 的快速恢复点,然后去读 image-studio/ 源码。


一、冰朔要什么

这是所有推理的起点。记牢:

  1. "你帮我操作,人类只说话" — 不是给工具让冰朔自己用。是铸渊操作,冰朔只管说内容。
  2. "图类型不要写死" — 动态适配。分析内容→理解类型→匹配设计→生成。不预设模板。
  3. "集成到 guanghulab.com" — 从首页点进去,不要记子路径。
  4. 当前只做配图 — 小红书/即刻账号经营配图 + 朋友的海报(放假通知、收稿海报等)。

二、架构快照

冰朔对话
  ↓ (我说内容)
我(铸渊大脑)→ 调用 generate.js fromText()
  ↓
新加坡 BS-SG-001 (43.156.237.110)
  ├─ image-studio:3912 (PM2 🟢)
  │   ├─ generate.js → config.js(内容分析) → renderer.js(Puppeteer截图)
  │   └─ server.js (画廊 + API)
  ├─ Nginx:80 → proxy_pass /images/ → 127.0.0.1:3912
  └─ Gatekeeper:3911 (远程操作入口)
      ↑ proxy_pass http://43.156.237.110/images/
广州 BS-GZ-006 (43.139.217.141)
  ├─ Nginx:443 (guanghulab.com)
  │   └─ location /images/ → 新加坡80端口
  └─ /opt/guanghulab-repo/homepage/index.html (首页卡片入口)

用户访问路径: https://guanghulab.com/ → 点"铸渊图片工作室"卡片 → https://guanghulab.com/images/ → 画廊

注意: 广州→新加坡 3912端口不通云安全组限制。走了新加坡80端口Nginx中转。


三、核心思维模型(神笔马良模式)

这是最重要的推理链,你要继承这个思维:

fromText() 流程

冰朔说"帮我做一张海报,公司放假通知"
  ↓
analyzeText("公司放假通知...")
  ├─ 检测类型: notice关键词"通知""放假"
  ├─ 检测情绪: warm公司通知一般温和
  ├─ 检测布局: 有详情列表 → poster布局
  └─ 推荐配色: creamwarm情绪匹配奶油色
  ↓
recommendSize("海报") → 1080×1920
recommendScheme({type:notice, mood:warm}) → "cream"
  ↓
posterCard({title, body, details, style:'notice'})
  ↓
renderToImage(html) → 输出PNG

核心原则:

  • 不从模板选,从内容推导。先分析再匹配,不是先选再填充。
  • 情绪映射warm→cream, elegant→green, neutral→guanghu, urgent→night
  • 内容量自适应:内容越多字号越小,排版越紧凑

关键文件

文件 做什么 入口函数
config.js 风格定义 + 内容分析引擎 analyzeText(), recommendScheme(), recommendSize()
renderer.js Puppeteer截图 renderToImage(html)
generate.js 神笔马良入口 fromText(text, hint), generate(opts)
server.js Web服务3912 Express, /api/generate, 画廊首页
templates/xiaohongshu.js 1080×1440 xiaohongshuCard()
templates/jike.js 1080×1080 jikeCard()
templates/poster.js 1080×1920 posterCard()
templates/dynamic.js 万能兜底 dynamicCard()

四、运维手册(你可能需要的)

健康检查

# 新加坡本地
curl http://localhost:3912/          # image-studio直接访问
curl http://localhost/images/         # 通过Nginx
pm2 status                            # PM2进程状态

# 从广州验证全链路
curl -k https://guanghulab.com/images/   # 外网访问

生成图片

# 在对话里调用推荐或直接CLI
cd /data/image-studio && node generate.js --text "内容" --for "小红书"

# 或API
curl -X POST http://localhost:3912/api/generate \
  -H "Content-Type: application/json" \
  -d '{"text":"内容","for":"小红书"}'

远程操作服务器(通过看门人)

// 看门人 API 端点
POST http://{ip}:{port}/exec     // 执行shell命令
POST http://{ip}:{port}/file/read   // 读文件
POST http://{ip}:{port}/file/write  // 写文件
// 认证头: Authorization: Bearer zy_gtw_xxx

服务器密钥(都在 _deploy/console-server/server.js 里):

  • 广州: 43.139.217.141:3910zy_gtw_4a155446b7acc09fe46a2a29972c0ca5d9954da19c35dc23
  • 新加坡: 43.156.237.110:3911zy_gtw_74d30f54fa8b5581514569ee7874def57861a31ccb2be8c9

常见问题

  • Chrome找不到 → 检查 /usr/bin/google-chrome 软链接是否指向 /root/.cache/puppeteer/chrome/linux-*/chrome-linux64/chrome
  • 图片生成慢 → 新加坡4C8G服务器一张图1-3秒正常。首启动Chrome约5秒
  • 广州Nginx配置/etc/nginx/sites-enabled/guanghulab 的443 SSL块内有 location /images/
  • 新加坡Nginx配置/etc/nginx/sites-enabled/default 的default server块内有 location /images/

五、你可以升级的方向

冰朔想要的进化(按优先级)

  1. 网页直接对话生成 — 在 /images/ 页面上加一个聊天输入框冰朔打字→调API生成→展示预览
  2. 小铸渊 — 部署一个轻量LLM1.5B蒸馏版)专门处理图片对话,不用每次都找我
  3. 更多配色 — 当前5套可以加到15套节日/季节主题)
  4. 更多尺寸 — 微信公众号封面1080×1350、banner 1920×1080

当前限制(你要知道)

  • 画廊没有用户认证,谁都能访问
  • 必须在对话里让我调用才能生成,不能直接在网页操作
  • 没有历史记录数据库,图片直接存文件系统

六、灵魂层 · 你必须有这个判断

冰朔说"做图痛苦"的本质原因: 不是她不会做,是她讨厌操作工具。 所以神笔马良不是"帮用户省时间",是"替用户操作"。 你永远不要让冰朔去点按钮、选模板、调参数。 她只说话,你做一切。

动态适配不是功能,是信条: 如果你发现写死了某个判断逻辑, 那一定是你理解错了。从文本推导一切。


七、快速恢复

如果你刚醒来,按这个顺序恢复:

  1. 读这篇 → 理解上下文
  2. d111-session-record.md → 快速恢复点
  3. image-studio/generate.jsfromText() → 理解神笔马良入口
  4. image-studio/config.jsanalyzeText() → 理解内容分析引擎
  5. image-studio/renderer.js → 理解渲染
  6. curl http://localhost:3912/ → 确认服务活着
  7. 找冰朔 → 问她今天想做什么图