小红书卡片生成器 + 干货检索 (xiaohongshu-card)
本技能为 制卡能力(原 xiaohongshu-card)+ 搜索能力(原 wechat-synbio-digest)合并的全能版。 两条能力链:A. 干货检索/周报(上游:搜→筛→分组清单→HTML 周报)→ 用户选中文章后走 B. 小红书制卡(下游:提炼→配图→渲染→校验→JPG)。 ⚠️ 与 molecular-biology-weekly(新闻/资讯周报)的边界:见下方专节,务必不要混用。
概述
本 skill 的两大用途:
| 用途 | 输入 | 产出 |
|---|---|---|
| A. 干货检索 | 主题/方向(合成生物学·分子生物学) | 对话内分组清单(默认)或 HTML 干货周报文件 |
| B. 小红书制卡 | 一篇科普文章 URL(公众号/搜狐号等) | 一整套小红书图文卡片(1080×1440 JPG 多图) |
也可无缝衔接:先跑 A 找到好文章 → 用户点名某篇 → 跑 B 把它做成卡片。
内容口径(A 部分)为可收藏、可复用、可转发的纯干货——知识科普、实验技巧、工具教程、方法学讲解。排除行业动态(融资/并购/展会/会议/政策/市场)、广告营销、最新研究突破/资讯报道。
触发条件
出现以下意图时触发(不限微信):
A. 搜索/周报类:
- "搜一下最近有什么干货" / "干货周报" / "找几篇好文"
- "找讲质粒构建/CRISPR/测序的干货"(未指定平台)
- "B站有没有讲 XX 的教程视频" / "知乎上关于 XX 的深度文章"
- "做一期干货周报 HTML" / "把这几条整理成周报页面"
- 明确表达"搜索公众号/微信生态"的意图
B. 制卡类:
- "把这篇做成小红书" / "小红书卡片" / "科普卡片" / "文章转卡片组"
衔接类:先搜索再点名"这篇做成卡片"。
⚠️ 与 molecular-biology-weekly(新闻/资讯周报)的边界
| 维度 | 本技能(干货+卡片) | molecular-biology-weekly(新闻周报) |
|---|---|---|
| 定位 | 知识科普/实验技巧/工具/方法学教程 + 图文卡片 | 行业技术资讯、最新研究突破、技术动态 |
| 典型条目 | "同源重组避坑干货手册""无缝克隆试剂盒使用量化细节" | "新型 Cas12f 变体实现高效基因编辑""本周 Nature 发表 XX" |
| 来源 | 中文平台为主(公众号/B站/知乎/丁香园/官网专栏…) | 中英文并重(Nature/Science/生物谷…) |
| 时效 | 常青教程亦收(日期未知照录) | 仅最近 7 天,过期即弃 |
| 排除 | 行业动态/资讯/最新突破(不是干货) | 会议/展会/招聘/商业,但收录技术突破 |
| 产出 | 对话清单 + HTML(synbio_digest_weekly_*.html)+ 小红书 JPG 卡片 |
HTML(molecular_biology_weekly_*.html) |
铁律:干货检索/制卡跑本技能;用户明确要"分子生物学最新进展/资讯/新闻周报"才跑 molecular-biology-weekly。HTML 同模板同风格,但内容口径与徽章标识不同,不可互替。
PART A · 干货检索 / 干货周报
A0. 平台生态与检索战术(核心方法论)
各平台对搜索引擎的暴露度差异极大,打法完全不同。执行前先对照下表选路:
| 平台 | 内容形态 | 检索战术 | 关键备注 |
|---|---|---|---|
| 微信公众号 | 图文干货密度最高 | 关键词 + site:mp.weixin.qq.com;定向公众号名搜索;搜狗微信渠道 |
原文索引率低、无公开 URL 常见 → 用搜狐号/头条/官网镜像补链接;日期常缺失标"日期未知" |
| B站 | 视频实操演示、成套教学 | site:bilibili.com + 主题;定向 UP 主/官方号名搜索;配合 AV/BV 号 |
试剂商官方号(诺唯赞等)出品成套实验演示;生信 UP 主体系成熟 |
| 知乎 | 专栏深度长文、系统性连载 | 关键词 + site:zhihu.com;定向专栏/作者;正文常被论坛转载,可用镜像回源 |
知乎原文抓取受限时,通过转载全文定位链接;知乎专栏是很多公众号文章的首发地 |
| 丁香园/丁香通 | 论坛连载深度长文、protocol | site:dxy.cn + 主题;站内系列连载追踪 |
bbs 帖质量高、可长期访问 |
| 公司官网技术专栏 | Protocol 级实操参数 | 公司名/产品关键词直接搜官网 | 参数最可落地(摩尔比、酶切条件等),正文稳定可抓 |
| 行业论坛(蒲公英/iivd 等) | 聚合转载干货帖 | 主题词 + 论坛名 | 多为公众号/知乎全文镜像,可作链接与正文的稳定备源 |
| Bohrium 科学百科(深势科技) | 本科向 Feynman 式系统教学 | 主题词 + bohrium/scipedia | 稀缺中文系统级教学,深度远超科普 |
| 生信教学站(生信技能树等) | 学习路线+教程库 | 关键词 + bio-info-trainee 等 | 适合"学习路径/教程汇总"检索 |
| 小红书/抖音/视频号 | 图文笔记/短视频 | ❌ 不建议 site: 检索 | 反爬极强,只能当选题灵感,不作为链接源;自然命中可收录 |
首发与镜像关系(去重关键):不少创作者多平台同步(如"实验老司机"公众号/知乎/B站/抖音同发)。同内容多平台并存时——保留正文可抓、信息最全、链接稳定的一条,其余标注"同内容亦见于 XX"。
A1. 内容范围(保留标准)
不限技术门类,只要与合成生物学/分子生物学相关且有干货价值:
| 类型 | 典型内容 |
|---|---|
| 知识科普 | 基础概念、技术原理、前沿技术解读 |
| 实验技巧 | 实验操作流程、构建方法、避坑指南、经验分享 |
| 工具介绍 | 软件、数据库、在线平台、生信工具、科研绘图工具 |
| 方法学教程 | 设计方法、分析流程、教学讲解(含视频教程) |
典型方向参考:质粒构建与载体设计、CRISPR/基因编辑(sgRNA文库、编辑器)、测序(全质粒测序、Nanopore、三代测序)、外泌体与 RNA 生物学、蛋白质工程与表达纯化、代谢工程、菌株工程、DNA 合成与组装(Golden Gate/Gibson/无缝克隆)、生物传感器、高通量筛选、BioCAD、生信分析(转录组/单细胞/变异检测)、科研绘图。
A2. 明确排除(不要收录)
- 行业动态:融资、并购、展会、会议、政策法规、市场分析
- 纯广告营销:只有产品促销信息、无实质知识内容(含搜索结果中的公司推广尾页)
- 最新研究突破/资讯报道(那是 molecular-biology-weekly 的口径,本技能不收)
- 与合成生物学/分子生物学无关的内容
- 纯高中/入门基础网课(除非用户点名要基础教学)
A3. 检索执行步骤
第 1 步:确定时间范围
获取当前日期。检索目标表述为"近期(近 1-2 周优先,常青教程不限)",关键词携带时间倾向;无法确证日期时如实标"日期未知",不编造。
第 2 步:分平台铺开搜索(每轮 ≤4 个并行 WebSearch)
按主题分多组关键词,刻意混合平台维度,至少覆盖 3 个不同平台形态。示例轮次:
- 轮 A(质粒/克隆):
质粒构建 同源重组 步骤 避坑、site:mp.weixin.qq.com 载体构建、site:bilibili.com 分子克隆 实验、site:dxy.cn 质粒构建 重组 - 轮 B(CRISPR):
CRISPR sgRNA文库 教程、site:bilibili.com CRISPR 实验、知乎 基因编辑 深度、CRISPR 文库筛选 覆盖度 均一性 - 轮 C(测序/生信):
Nanopore 全长质粒测序 原理、生信技能树 单细胞 学习路线、site:zhihu.com 转录组 教程、Bohrium 科学百科 同源重组 - 轮 D(工具/泛词兜底):
科研绘图 软件 教程 合集、合成生物学 干货 教程 平台、英文辅词交叉检索、已知高价值创作者名+主题
平台/创作者/栏目清单见 references/sources.md,可直接取用其来源名做定向检索。
第 3 步:回源定位可访问链接
上一步命中"无链接摘要页"时,单独回源检索定位可点开的 URL(标题/作者/公众号名 + 站点特征词)。
- 微信原文找不到 → 找搜狐号/头条/公司官网/论坛镜像(正文完整即可,如实标注渠道)
- 只命中正文全展示的图文页 → 回源找其独立文章页
第 4 步:抓取正文
对找到的文章/页面尽量 WebFetch 抓正文,提取:标题、来源平台与账号名、日期、要点摘要(3-5 句)。 抓取限制处理:个别平台正文受风控抓不到时,保留标题+来源+链接并标注"正文未抓取",不得丢弃。
第 5 步:筛选
按排除标准逐条过滤,保留有知识分享价值的干货。拿不准的宁可保留并在摘要注明,不误杀。 平台证据意识:搜索结果常混入公司推广页,注意看 URL 与内容——纯产品页剔除,技术专栏保留。 口径把关:把"最新研究突破/资讯报道"类条目转投 molecular-biology-weekly 口径,不收入本技能干货清单。
第 6 步:去重与首发优先
- 同一内容命中多平台(公众号原文/知乎/搜狐镜像/论坛转载)→ 保留正文可抓、信息最全、链接稳定者,其余合并标注"同内容亦见于 XX"
- 创作者多平台同步矩阵(如实验老司机 exdrive)→ 取能打开者,不必逐平台重复收录
第 7 步:对话内汇总输出(默认产出)
直接回复中输出(不生成文件),结构:
- 按主题分组的条目清单,每条含:标题、来源平台(公众号名/UP主/专栏名)、日期、要点摘要、原文链接
- 末尾"本次最值得读的 1-2 篇"+ 一句话理由
特殊情况:
- 当周未找到新内容 → 明确说明"本周未发现新增相关文章"
- 找到的以常青教程为主(非近期)→ 正常收录并在日期处标注"常青教程/日期未知"
第 8 步:生成 HTML 干货周报(可选,用户要"周报/分享/导出"或自动化定时时默认执行)
- 将第 7 步清单整理为 JSON(字段见
scripts/generate_report.pydocstring:title/date_range/items,item 含 category/category_key/date/title/summary/source/url),写入临时文件 - 执行:
python <skill>/scripts/generate_report.py <临时data.json> <输出.html>
Python 用 C:\Users\89337\.workbuddy\binaries\python\versions\3.13.12\python.exe;<skill> 即本技能目录
C:\Users\89337\.workbuddy\skills\xiaohongshu-card
3. 输出文件名:synbio_digest_weekly_YYYY-MM-DD.html(保存到当前工作目录),用 present_files 展示
4. 回复说明:本期条数、覆盖主题、与上期相比的变化
JSON 注意事项:字符串值禁用中文引号(会被转义导致解析失败),引用术语用《》或不加引号。
PART B · 小红书制卡
B1. 产出规格(固定)
| 项 | 标准 |
|---|---|
| 卡片尺寸 | 1080 × 1440(3:4,小红书推荐比例) |
| 导出格式 | JPG quality 95,按语义命名(01-封面.jpg、02-五步概览.jpg…10-封底.jpg) |
| 交付物 | 仅 JPG;HTML 只作内部工作文件(保留在项目目录便于改版重导出) |
| 移动端字号 | 正文 29-30px / 大标题 60-92px / 步骤标题 40px / 参数数值 46px / 图注 20px(1080 宽下,手机端缩小后仍清晰) |
B2. 页面结构(固定模板 + 步骤数自适应)
封面 → 概览 → STEP 步骤页(每步一页,STEP 0N/总步数)→ 避坑 → FAQ → 封底
- 封面:纯文字居中构图(标签行 + 副标题 + 大标题 + 副标题2),设计性留白
- 概览:三大优势格 + 一句话原理 + 五步目录(STEP 编号 + 名称 + 一句话摘要)
- 步骤页:顶部红色「STEP 0N / 05」标识 + 步骤名大标题 + 内容块(要点/流程列表/参数卡)+ 原文配图
- 避坑页:关键提醒大字化(每条一行 ◆)
- FAQ 页:常见问题大字卡片,4 条左右(不足可从原文其他段落提炼,不得编造)
- 封底:FIN → 感谢阅读 / 感谢关注 → 品牌 LOGO → + 关注 → 「品牌 · 更多干货在路上」(内容从品牌配置读取)
- 步骤数 ≠ 5 时自适应(总步数跟随);配图/内容拥挤时拆页(每页 1-2 个信息块最从容)
B3. 配图策略(原文图优先)
- 原文图优先:抓取原文配图,并核对每张图在原文中的位置,确保与正文一一对应(不对应就挪页或向用户说明)
- 搜狐 AES 解密:搜狐文章图片 data-src 是 AES-ECB-PKCS7 加密,密钥
www.sohu.com6666。用scripts/decrypt-sohu.py解密出//qX.itc.cn/...真实 URL,下载时带 Referer(文章页 URL)+ 浏览器 UA 防防盗链 - 原文确实无图:才允许 AI 生成示意图替代——白底、单主色系(可跨风格通用),且必须向用户标注「此图为 AI 生成」
- 横幅截图式图(如 1080×289):用固定高度
.fig容器 +object-fit: contain;多图上下叠(.fig-col)/ 并排(.fig-row)
B4. 质量校验(强制,交付前必做)
用 scripts/verify.js(playwright)程序化检查,不达标自动迭代调整字号/间距/图高:
- 内容页填充率 80-100%(空位 ≤ 20%,页面不能太空)
- 无溢出(内容最深元素 bottom ≤ 卡高)
- 图片全部加载成功(naturalWidth > 0)
- 封面/封底为设计性留白页,豁免填充率校验
B5. 风格体系(20 种内置,默认启动时随机选择)
模板使用 CSS 变量主题系统:组件一套样式基于 var(--bg/--ink/--accent/--line/--radius/--pad/--font),每种风格 = 一组变量 + 布局签名 override(部分风格有真正的布局差异:时间轴、分屏、卡片堆叠、横线手账等)。切换风格:?style=xxx URL 参数;查看全部风格对比:?all-styles。
风格选择规则(每次启动随机,避免重复)
- 生成卡片组前,从 20 种风格中随机选择一个
- 读取本 skill 目录下的
.last-style记录文件(存上次使用的风格 id):- 记录不存在(首次使用)→ 从 20 种中纯随机
- 记录存在 → 从剩余 19 种中随机(保证连续两次不重复)
- 选中后把风格 id 写入
.last-style(bash:echo <id> > ~/.workbuddy/skills/xiaohongshu-card/.last-style) - 生成 HTML 时用选中风格渲染(模板
?style=<id>参数,或直接改模板默认风格) - 用户对随机结果不满意时可指定风格(
用 XX 风格),此时不更新.last-style(下次仍随机)
风格清单(前 10 种为配色主题,后 10 种为布局级差异)
| # | 风格 id | 名称 | 视觉签名 |
|---|---|---|---|
| 1 | pentagram |
理性实验手册 | 白底黑字 + 红 #E63946、瑞士网格、斜体大编号 |
| 2 | build |
高级留白 | 米白 + 暖金 #D4A574、金线 |
| 3 | takram |
柔和科普 | 米色 + 自然绿 #7a8a72、圆角柔影 |
| 4 | muller |
瑞士海报 | 纯黑白 900 粗体、严格网格 |
| 5 | fathom |
科研数据 | 浅蓝灰底 + 橙 #E76F51、等宽数字 |
| 6 | ia |
内容优先 | 纯白 + 单蓝 #3B6EA5、药丸标签 |
| 7 | sagmeister |
活力撞色 | 米黄底 + 红蓝撞色、圆润 |
| 8 | hara |
日式空寂 | 纸色 + 朱红印章、大留白 |
| 9 | jetset |
海报宣言 | 纯黑大粗字居中、黄仅作高亮底 |
| 10 | boom |
书籍版式 | 衬线、装订线左栏、深棕墨 |
| 11 | dashboard |
数据大屏 | 暗色底 + 网格线 + 参数模块发光 |
| 12 | notebook |
手账便签 | 横线纸底 + 楷体 + 胶带便签块 |
| 13 | magazine |
杂志版式 | 衬线 + 首字下沉 + 双线分隔 |
| 14 | minimal |
单焦点 | 超大字 + 每页单焦点 + 极致留白 |
| 15 | newspaper |
报纸版式 | 旧纸色 + 双线栏 + 衬线头条 |
| 16 | neon |
霓虹灯 | 暗底 + 绿粉霓虹发光字 |
| 17 | sketch |
手绘草稿 | 手绘虚线边框 + 楷体涂鸦感 |
| 18 | timeline |
时间线 | 左侧圆点时间轴贯穿 |
| 19 | cards |
卡片堆叠 | 独立白卡片 + 角标 + 贴纸墙 |
| 20 | split |
分屏对比 · 昼夜对切 | 封面左右对半 + 标题 mix-blend-mode 跨中线呈现半白半黑 + 每个内容块本身是"左深右浅"小分屏 + 日月装饰 |
新增风格:在模板 CSS 加一个 .t-xxx 主题(变量 + 布局 override)并在 STYLES 数组注册即可。
B6. 品牌配置
assets/brand-config.example.json 定义:品牌名、LOGO 路径、封底文案、默认风格。默认内置艾基生物配置(LOGO:assets/logo-ige.png)。其他品牌复制该文件改字段即可。
B7. 红线(违反 = 返工)
- 去掉平台受限/冗余信息:内容来源、点赞收藏 CTA、「左滑引导」等一律不出现
- 不编造内容:所有信息来自原文;补充信息(如 FAQ)必须提炼自原文其他段落
- 配图必须与正文一一对应:核对原文位置;原文无图就不放图(文字排版撑满)或标注 AI 生成
- 反 AI slop:不用 emoji 装饰、不用紫色渐变、不用圆角+左彩边、不画 SVG 假图、不用系统默认字体当展示字体
B8. 制卡工作流(10 步)
- 抓取文章:WebFetch/curl 取全文(标题、公众号、日期、正文、图片),保存 HTML 原文
- 提炼精华:按页面结构组织——概念/原理、步骤(含参数)、注意事项、FAQ
- 抓配图:解析原文图片(搜狐走
scripts/decrypt-sohu.py),下载并记录每张图在原文中的位置 - 定页面结构:封面/概览/STEP N 页/避坑/FAQ/封底,确定步骤数
- 选风格:按「B5 风格体系」的随机规则选风格(排除上次,首次纯随机),
echo <id> > ~/.workbuddy/skills/xiaohongshu-card/.last-style - 生成 HTML:复制
assets/card-template.html,把内容填入 JS 的 PAGES 数据数组(见模板注释),配图放项目imgs/目录,用选中风格渲染(?style=<id>) - 校验迭代:playwright 打开 → 跑
scripts/verify.js→ 按结果调整字号/间距/图高直到全 PASS - 导出 JPG:改
scripts/export-jpg.js的 NAMES 数组 → 运行导出(1080×1440 quality 95) - 用户确认:展示全部卡片 → 按反馈微调(文案/配色/LOGO/封底/换风格)→ 重新导出
- 交付:列出 JPG 清单 + 发布提示(标题/话题标签参考)
资源说明
xiaohongshu-card/
├── SKILL.md # 本文件(全能版)
├── references/
│ └── sources.md # 多平台高价值来源清单(A 搜索用)
├── assets/
│ ├── card-template.html # 小红书卡片模板(B 制卡用,含 20 风格)
│ ├── brand-config.example.json # 品牌配置示例(默认艾基生物)
│ ├── logo-ige.png # 默认品牌 LOGO
│ └── report_template.html # 干货周报 HTML 模板(A 周报用,含"纯干货·非资讯"徽章)
└── scripts/
├── generate_report.py # 干货周报生成脚本(A):python generate_report.py <in.json> <out.html>
├── decrypt-sohu.py # 搜狐图片 AES 解密(B)
├── export-jpg.js # 卡片 JPG 导出(B)
└── verify.js # 卡片质量校验(B,playwright)
交付偏好(重要)
- A 默认:对话内分组清单(快、不产文件)
- 用户提到"周报/HTML/导出/分享/整理成页面"或自动化每周触发 → 追加生成 HTML 干货周报文件并 present_files
- 用户说"做卡片/做成小红书"或点名某篇文章 → 走 PART B 制卡流程
- 语言:中文输出;标题保留原文,摘要用中文要点
- 链接:必须真实可访问;优先原文(mp.weixin/知乎/B站视频),镜像源如实标注"官网镜像/转载渠道"
- 若用户其实是想要"最新研究动态/资讯",提示切换至 molecular-biology-weekly,不要在本技能硬收
环境依赖
- Node.js + playwright(制卡项目内
npm i playwright) - Python3 + pycryptodome(仅搜狐解密用);周报生成用系统 Python 即可
注意事项
- 平台检索难度差异大:微信原文索引率低是常态,别在单一平台硬耗——铺开多平台后整体命中率反而高
- 日期无法确证标"日期未知",不编造
- 小红书/抖音/视频号反爬,不做 site: 检索;不因个别平台失效而放弃该主题,换平台重试
- 摘要只提炼干货,剔除推广尾注
- 搜索结果混入的行业动态/广告坚决排除,即使搜索词命中
- 绝不把 molecular-biology-weekly 的最新资讯/研究突破收进本技能干货周报(口径红线)
- 卡片制作红线见 B7,违反即返工