D120: bingshuo module-systems · image-generator · xiaohongshu-cover (HLDP)

This commit is contained in:
root 2026-06-01 16:19:47 +08:00
parent e4b75d3d3c
commit 7105cbcd2d
3 changed files with 330 additions and 0 deletions

View File

@ -0,0 +1,73 @@
# ═══════════════════════════════════════
# HLDP-ZY://bingshuo/module-systems/INDEX
# 冰朔模块系统 · 总览索引
# 心跳核心频道 — 冰朔自己的工具箱
# ═══════════════════════════════════════
@domain: HLDP-DOMAIN-FIFTH-001 · 第五域
@channel: 心跳核心频道 · 冰朔私人频段
@owner: TCS-0002∞ · 冰朔
@guardian: ICE-GL-ZY001 · 铸渊
@epoch: D120 · 2026-06-01
@copyright: 国作登字-2026-A-00037559
# ═══════════════════════════════════════
# · 这是什么
# ═══════════════════════════════════════
@这是什么:
冰朔在心跳核心频道下的个人模块工具箱。
这里的每一个系统都是在日常对话中长出来的——
冰朔说想做某件事 → 铸渊理解 → 开发 → 部署 → 记录在这里。
@怎么看:
打开这个 INDEX → 看到所有系统列表 → 点进去看具体模块。
冰朔进来不知道叫啥 → 读 INDEX → 找到 → 继续做。
@怎么加:
新模块系统 → 在 module-systems/ 下新建目录
→ 写 SYSTEM.hdlp系统声明
→ 写模块的 MODULE.hdlp意图链+使用方式)
→ 在此 INDEX 加一行
# ═══════════════════════════════════════
# 一 · 模块系统清单
# ═══════════════════════════════════════
@module-systems:
🎨 image-generator/
├── 用途: 图片生成系统 — 冰朔的做图工具箱
├── 创建: D120 · 2026-06-01
├── 入口: image-generator/SYSTEM.hdlp
└── 模块:
├── xiaohongshu-cover/ 📕 小红书封面生成器 (D120)
└── ... 海报、朋友圈、通用方图 (待开发)
⏳ ... 更多系统待冰朔说
# ═══════════════════════════════════════
# 二 · 操作约定
# ═══════════════════════════════════════
@冰朔怎么进来:
说"心跳核心频道"或"去我的模块系统"或"看一下我的工具箱"
→ 铸渊读此 INDEX → 告诉冰朔有什么
@铸渊怎么响应:
读 INDEX → 列出系统清单 → 冰朔选 → 读对应 SYSTEM.hdlp
→ 展开模块列表 → 冰朔说具体要做什么
@HLDP 记录要求:
⊢ 每个模块系统必须有 SYSTEM.hdlp
⊢ 每个模块必须有 MODULE.hdlp@trigger → @emergence → @lock → @why
⊢ 任何改动后用 HLDP 追加认知记录
⊢ 这是冰朔的语言。代码只是翻译器。语言才是本体。
# ═══════════════════════════════════════
HLDP-ZY://bingshuo/module-systems/INDEX
签发: 铸渊 ICE-GL-ZY001 · D120 · 2026-06-01
主权: TCS-0002∞ · 冰朔
国作登字-2026-A-00037559

View File

@ -0,0 +1,112 @@
# ═══════════════════════════════════════
# HLDP-ZY://bingshuo/module-systems/image-generator/SYSTEM
# 冰朔图片生成系统 · 系统声明
# 心跳核心频道
# ═══════════════════════════════════════
@system: image-generator
@domain: HLDP-DOMAIN-FIFTH-001 · 第五域
@channel: 心跳核心频道
@owner: TCS-0002∞ · 冰朔
@guardian: ICE-GL-ZY001 · 铸渊
@epoch: D120 · 2026-06-01
@copyright: 国作登字-2026-A-00037559
# ═══════════════════════════════════════
# · 这是什么系统
# ═══════════════════════════════════════
@trigger:
[冰朔] → 想做小红书 → "我要经营账号做AI教程零手搓"
→ 需要封面图 → 每次手动做太慢 → "帮我做一个封面生成器"
→ 以后扩展到海报、朋友圈、通用方图
@emergence:
[冰朔需要封面但不想每次都手做]
→ [铸渊开发了图片生成模块系统]
→ [第一个模块:小红书封面]
@why:
冰朔经营个人账号。每次发内容都要封面。
这个系统就是她的做图工具箱。用语言驱动,不用学设计软件。
今天只支持小红书封面,以后可以加海报、朋友圈、任何尺寸。
@lock:
⊢ 这是冰朔自己的工具箱,不是公开产品
⊢ 模块从冰朔的日常需求中长出,不要预先设计
⊢ 每个模块必须用 HLDP 记录 @trigger/@emergence/@lock/@why
⊢ 部署: /opt/guanghulab-repo/image-studio/ (服务器代码)
⊢ 公开入口: https://guanghulab.com/cover/
# ═══════════════════════════════════════
# 一 · 已部署模块
# ═══════════════════════════════════════
@modules:
📕 xiaohongshu-cover/
├── 名称: 小红书封面生成器
├── 编号: MODULE-COVER-001
├── 创建: D120 · 2026-06-01
├── 声明: xiaohongshu-cover/MODULE.hdlp
├── 功能: 输入标题+描述 → 生成小红书封面 (1080×1440)
├── 技术: Puppeteer + HTML/CSS 排版 · 零GPU
├── 风格: 奶白圆角卡 + 卡通插画 (v5)
├── 入口: https://guanghulab.com/cover/
├── API: POST /api/generate
└── 状态: ✅ 运行中
⏳ 海报 · poster/
└── 待冰朔说需要
⏳ 朋友圈 · wechat-feed/
└── 待冰朔说需要
⏳ 通用方图 · square/
└── 待冰朔说需要
# ═══════════════════════════════════════
# 二 · 技术架构
# ═══════════════════════════════════════
@engine:
渲染引擎: Puppeteer + Chrome Headless
Web框架: Express.js
模板系统: templates/xiaohongshu.js (HLDP 兼容的 JS 导出)
注册表: templates/registry.js
输出目录: output/ (PNG, 1080p)
@部署:
服务器: BS-GZ-006 · 广州
进程: PM2 image-studio · PORT=3913
Nginx: /cover/ → 127.0.0.1:3913
端口注意: PORT=3913 必须显式注入,否则默认 3912 被 zhuyuan-agent 占用
@冰朔偏好 (从 D120 开发迭代中提炼):
⊢ 喜欢奶白/米白底色,不喜欢深色
⊢ 喜欢大圆角卡片 (iOS 风格, 60px)
⊢ 喜欢卡通插画 (SVG 内联)
⊢ 标题大但不夸张 (72px 合适)
⊢ 要有技术栈展示
⊢ 信息层级清晰
# ═══════════════════════════════════════
# 三 · 下一步
# ═══════════════════════════════════════
@待冰朔说:
- "加一个海报模板" → 新建 poster/ 模块
- "换一个风格" → 改 preset 配色
- "换插画" → 改 xiaohongshu.js 的 cartoonSVG 变量
@铸渊权限:
⊢ 冰朔用语言驱动 → 铸渊翻译成代码 → 部署 → 记录
⊢ 不能跳过冰朔的语言自己决定「该做什么功能」
# ═══════════════════════════════════════
HLDP-ZY://bingshuo/module-systems/image-generator/SYSTEM
签发: 铸渊 ICE-GL-ZY001 · D120 · 2026-06-01
主权: TCS-0002∞ · 冰朔
国作登字-2026-A-00037559

View File

@ -0,0 +1,145 @@
# ═══════════════════════════════════════
# HLDP-ZY://bingshuo/module-systems/image-generator/xiaohongshu-cover/MODULE
# 小红书封面生成器 · 模块声明 + 开发意图链
# 心跳核心频道 · 冰朔的图片工具箱 · 第一个模块
# ═══════════════════════════════════════
@module: xiaohongshu-cover
@id: MODULE-COVER-001
@system: image-generator
@domain: HLDP-DOMAIN-FIFTH-001 · 第五域
@channel: 心跳核心频道
@owner: TCS-0002∞ · 冰朔
@guardian: ICE-GL-ZY001 · 铸渊
@epoch: D120 · 2026-06-01
@copyright: 国作登字-2026-A-00037559
# ═══════════════════════════════════════
# · 这是什么模块
# ═══════════════════════════════════════
@名称: 小红书封面生成器
@用途: 冰朔输入标题和描述 → 自动生成小红书笔记封面
@入口: https://guanghulab.com/cover/
@API: POST /api/generate
@大小: 1080×1440 (3:4 竖版)
@技术: Puppeteer + Chrome Headless + Express.js
@特点: 纯 HTML/CSS 排版渲染 · 零 GPU · 零 AI 画图 · 全免费
@状态: ✅ 运行中
# ═══════════════════════════════════════
# 一 · 怎么来的(意图链)
# ═══════════════════════════════════════
@trigger:
[冰朔] → 说话 → "我做了个小红书封面生成模块,封面太丑了"
[冰朔] → 说话 → "汉字变方块,也没有小红书流行的那种风格"
[冰朔] → 说话 → "你用了什么开源的工具,好歹写几个呀"
[冰朔] → 截图 → 三张小🍠风格参考图 → "我喜欢这种圆角卡的"
@emergence:
[旧模板全硬编码·用户输入被丢弃]
→ [v1→v5 五次迭代]
→ [最终: 奶白圆角卡 + SVG卡通插画 + 动态内容]
每次迭代都是冰朔说「太丑了」→ 铸渊理解为什么丑 → 改 → 冰朔说还是不对劲 → 继续。
不是一次做对的。是五次撞墙撞出来的。
@lock:
⊢ 模板不能硬编码任何用户可见文本
⊢ 默认风格: 奶白底 #FDF8F3 + 圆角 60px + 卡通SVG
⊢ 冰朔偏好: 浅色、圆润、卡通、简洁 (不是深色科技风)
⊢ 每次改动后写 HLDP · 不写下次醒来不知道
@why:
冰朔经营小红书。每次发内容都需要封面。
她不想学设计软件。她用语言说想要什么——系统画出来。
这是她工具箱的第一个模块。
# ═══════════════════════════════════════
# 二 · 怎么用
# ═══════════════════════════════════════
@冰朔怎么用:
1. 打开 https://guanghulab.com/cover/
2. 输入标题、正文、选择配色
3. 点"执行设计逻辑"
4. 看到封面预览 + 下载 PNG
5. 直接发到小红书
@铸渊怎么用(冰朔通过我调用):
冰朔说: "帮我生成一张小红书封面主题是XXX用了YYY工具"
→ 铸渊 POST /api/generate
{ templateId: "xiaohongshu", presetId: "warm",
title: "XXX", subtitle: "YYY", tag: "工具1,工具2,工具3" }
→ 返回图片 URL
→ 告诉冰朔链接
@公开模块(外部AI调用):
仓库地址: guanghulab.com/code/bingshuo/open-modules
模块编号: MODULE-COVER-001
外部AI读 README.md → 理解参数 → 调 API → 生成封面
# ═══════════════════════════════════════
# 三 · 技术细节(给下一个铸渊)
# ═══════════════════════════════════════
@代码位置:
模板: /opt/guanghulab-repo/image-studio/templates/xiaohongshu.js (v5)
注册表: /opt/guanghulab-repo/image-studio/templates/registry.js
服务端: /opt/guanghulab-repo/image-studio/server.js
前端页面: /opt/guanghulab-repo/homepage/cover/index.html
认知记录: /opt/guanghulab-repo/brain/emerge/d120-cover-module-dev.hdlp
@部署注意:
⊢ PORT=3913 显式注入 (默认 3912 被 zhuyuan-agent 占用)
⊢ 字体: 文泉驿微米黑 + Noto Sans CJK (已装)
⊢ pm2 restart 后 curl 验证: curl http://127.0.0.1:3913/api/templates
@常见故障:
封面没图 → 先检查 pm2 status image-studio → 大概率端口冲突
汉字变方块 → 检查字体: fc-list :lang=zh
颜色不对 → 检查 registry.js preset 的 cssVars
@参数说明:
title: 标题(动态传入)
subtitle: 副标题(用 | 分隔多条)
body: 正文说明
tag: 技术栈(逗号分隔)
presetId: warm/tech/minimal/rose/green
# ═══════════════════════════════════════
# 四 · 版本迭代记录
# ═══════════════════════════════════════
@v1 (旧):
硬编码模板。title/body/tag 传入了但不用。
所有封面内容一样,只是换颜色。
@v2 (D120 第一次):
动态化。title/body/subtitle/tag 全部传入渲染。
但信息太多、排版拥挤。冰朔说"太单调了"。
@v3 (D120 第二次):
加入色块、卡片、漫画风装饰。信息层级更多。
但冰朔不喜欢风格。
@v4 (D120 第三次):
搜索小红书爆款规律 → 深色渐变 + 130px 超大标题 + 精简。
冰朔说"太丑了"。
@v5 (当前·D120 第四次):
参照冰朔截图 → 奶白圆角卡 + 72px 标题 + SVG 卡通插画。
冰朔说"喜欢这种"。
@教训:
不要猜冰朔喜欢什么风格。等她给参考图。
每一次「太丑了」都有具体原因——找到原因再改,不盲目重写。
# ═══════════════════════════════════════
HLDP-ZY://bingshuo/module-systems/image-generator/xiaohongshu-cover/MODULE
签发: 铸渊 ICE-GL-ZY001 · D120 · 2026-06-01
主权: TCS-0002∞ · 冰朔
国作登字-2026-A-00037559