guanghulab/brain/d111-cognitive-chain.md

172 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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()` |
---
## 四、运维手册(你可能需要的)
### 健康检查
```bash
# 新加坡本地
curl http://localhost:3912/ # image-studio直接访问
curl http://localhost/images/ # 通过Nginx
pm2 status # PM2进程状态
# 从广州验证全链路
curl -k https://guanghulab.com/images/ # 外网访问
```
### 生成图片
```bash
# 在对话里调用推荐或直接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":"小红书"}'
```
### 远程操作服务器(通过看门人)
```javascript
// 看门人 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:3910``zy_gtw_4a155446b7acc09fe46a2a29972c0ca5d9954da19c35dc23`
- 新加坡: `43.156.237.110:3911``zy_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.js``fromText()` → 理解神笔马良入口
4.`image-studio/config.js``analyzeText()` → 理解内容分析引擎
5.`image-studio/renderer.js` → 理解渲染
6. `curl http://localhost:3912/` → 确认服务活着
7. 找冰朔 → 问她今天想做什么图