内容管线 Content Pipeline
本技能默认使用 01fish 品牌色作为示例。你可以在
references/目录下修改为自己的品牌色,或在local/SKILL.local.md中覆盖路径和个人设定。
一条龙:素材收集 → 写文章 → 排版 → 多平台内容 → 一键分发。
存储位置
[输出目录]/
├── drafts/
│ └── current.json # 当前素材列表
├── [文章标题].md # 产出的文章
├── [文章标题]_preview.html # 排版预览
└── [主题]-小红书版.html # 小红书轮播图
输出目录由用户指定,或在 local/SKILL.local.md 中配置默认路径。未指定目录时,多平台产出放 /tmp/。
触发词
素材收集(Path A)
| 触发词 | 说明 |
|---|---|
/story | 查看当前素材状态 |
| "看看素材" | 查看已记录的素材 |
| "出稿" | 生成文章 + 排版 + 封面图 |
| "清空素材" | 清空当前素材 |
| "记一笔:xxx" | 手动添加素材 |
| "素材+1:xxx" | 手动添加素材 |
| "写个朋友圈" | 根据素材/文章生成朋友圈文案 |
内容生成(Path B)
| 触发词 | 说明 |
|---|---|
/xiaohongshu + 微信链接 | 微信文章转小红书轮播图 |
| "转小红书" + 微信链接 | 同上 |
| "做成小红书" + 微信链接 | 同上 |
| "转即刻" + 微信链接 | 生成即刻文案 |
| "转播客" + 微信链接 | 生成播客脚本 + AI 语音 |
| "做视频" + 微信链接 | 触发品牌视频管线 |
| "做视频画布" + 任意素材 | 生成可录制的 Prezi 风格视频画布(微信链接/md/pdf/html/文本均可) |
| "录屏画布" + 任意素材 | 同上 |
| "手账视频" + 任意素材 | 同上 |
| "多平台分发" + 微信链接 | 一次生成所有平台内容 |
| "转小红书并发布" + 微信链接 | 生成 + 自动触发分发 |
文章阅读
| 触发词 | 说明 |
|---|---|
/read-gzh + 微信链接 | 抓取并总结公众号文章 |
| "帮我读一下这篇公众号" | 同上 |
| "总结一下这篇文章" | 同上 |
排版与配图
| 触发词 | 说明 |
|---|---|
| "排版" | 用 01fish 主题排版 Markdown → 公众号 HTML |
| "做头图" / "封面图" | 生成公众号头图 HTML(浏览器下载 PNG) |
| "做竖版封面" / "竖版头图" | 从公众号封面 → 生成 3:4 竖版封面(1080×1440),适合小红书/视频号 |
| "做配图" / "准备配图" | 生成文章配图 HTML(浏览器下载 PNG) |
| "排版+配图" / "全套排版" | 排版 + 头图 + 配图一起生成 |
分发
| 触发词 | 说明 |
|---|---|
/distribute | 读取 manifest 一键发布 |
| "一键发布" | 全平台发布 |
| "全平台发布" | 同上 |
| "发布到小红书" | 单平台发布 |
| "发布到即刻" | 单平台发布 |
核心原则:全然诚实
AI 生成的内容必须诚实标注,不装人类,展现真实的创作过程。
诚实标注规范
当 AI 参与内容创作时,必须在文章中明确标注:
**调研 & 撰写**:AI(Claude)
**主导 & 审校**:[用户名]
**创作时间**:[实际用时](调研 X 分钟 + 写作 Y 分钟)
禁止的虚假表述
❌ 不要写:
- "我们花了两周时间调研"(实际几分钟)
- "经过深入访谈"(没有访谈)
- "团队经过讨论"(没有团队)
- "作者:XXX / 编辑:AI 助手"(AI 写了全文)
✅ 应该写:
- "本文基于 N 篇公开信息源,由 AI 调研分析并撰写"
- "素材收集用时 X 分钟,写作用时 Y 分钟"
- "人类主导 + AI 协作"
为什么要诚实
- 建立信任:读者值得知道内容如何生成
- 展现价值:AI 快速高质量创作本身就是价值,不需要掩饰
- 符合伦理:AI 生成内容应该透明化
- 长期主义:诚实是长期个人品牌的基石
两条输入路径
Path A:日常素材收集 → 出稿
边干活边记录 → 说"出稿" → 写文章 → 排版 → 封面图 → 朋友圈文案 → manifest
适用场景:日常和 cc 协作时,自动积累素材,攒够了一键出稿。
Path B:微信链接 → 多平台内容
微信链接 → 抓取文章 → 分析结构 → 生成小红书/即刻/播客/视频 → manifest → 分发
适用场景:已有公众号文章,一键转为多平台内容并发布。
Path A 流程:素材收集 → 出稿
自动记录(默认开启)
cc 在对话中主动识别有料瞬间并自动记录,无需手动触发。
识别信号:
| 类型 | 识别信号 | 示例 |
|---|---|---|
| 踩坑翻车 | 预期≠结果、报错、折腾半天 | "试了三种方案都不行" |
| 意外发现 | "没想到"、"原来可以"、意外有效 | "居然这样就解决了" |
| 迭代打磨 | 改了多版、从复杂到简洁 | "200行改成20行还能跑" |
| 搞笑时刻 | 对话金句、AI抽风、神奇bug | "它认真地给我写了一堆错的" |
| 突破时刻 | 卡了很久终于通 | "困扰一周的bug终于找到了" |
| 方法沉淀 | 可复用的技巧、心得 | "以后遇到这种情况就这么办" |
自动记录时:不打断对话,段落结尾标记 (✓ 素材+1)
手动记录
用户说"记一笔:xxx"或"素材+1:xxx"时记录。
current.json 格式
{
"topic": "主题(可选,出稿时自动提取)",
"materials": [
{
"time": "2026-01-30 14:30",
"content": "素材内容",
"type": "搞笑时刻",
"context": "可选的上下文备注",
"auto": true
}
],
"created": "2026-01-30"
}
出稿步骤
- 读取素材 — 读取
drafts/current.json - 分析提炼 — 提炼主题和故事线
- 判断内容类型 → 选择写作框架:
| 内容类型 | 判断信号 | 使用框架 | 参考文件 |
|---|---|---|---|
| 教程类 | 教人安装/使用/配置工具、Skill 介绍、技术实战、"怎么做 xxx" | 六段式教程框架 | references/tutorial-framework.md |
| 深度长文 | 行业分析、人物故事、趋势判断、观点输出、"为什么 xxx" | 四幕式深度框架 | references/writing-style.md |
教程类文章框架(2000-4000 字):
先看结果(截图+成品+链接)
→ 一、核心概念是什么(表格+一句话定义)
→ 二、怎么安装/使用(分步骤+代码块+配图标记)
→ 三、实战演示(分阶段+表格展示+人机协作)
→ 四、拿走即用(快速安装命令+使用方式表格)
→ 写在最后(升华+CTA)
深度长文框架(8000-12000 字):
序言(故事先行,700 字不出论点)
→ 01 铺设背景
→ 02 核心论述
→ 03 转折/案例
→ 04 升华/收束
- 写文章 — 按对应框架写文章
- 保存 — 保存 Markdown 文件
- 排版 — 调用排版工具生成 HTML 预览(01fish 主题)
- 头图 + 配图 — 生成可下载的 HTML 文件(→ 读
references/cover-template.md)- 竖版封面(可选):用户说"做竖版封面"时,从已生成的公众号头图 HTML 转换 → 读
references/cover-vertical-spec.md
- 竖版封面(可选):用户说"做竖版封面"时,从已生成的公众号头图 HTML 转换 → 读
- 朋友圈文案 — 生成朋友圈推广文案(→ 读
references/platform-copy.md) - manifest — 生成 manifest.json,供
/distribute使用。wechat 部分必须包含:wechat.markdown:文章 Markdown 路径wechat.html:排版后的_preview.html路径wechat.cover_image:封面 PNG 路径(用户需先从浏览器下载)wechat.title:文章标题wechat.author:作者名(默认01fish)wechat.digest:文章摘要(120 字内)wechat.images:配图 PNG 路径列表(如有)
- 询问 — 是否清空当前素材
排版命令
cd "$MD_FORMATTER_DIR"
python3 md2wechat_formatter.py [文章路径] --theme [主题] --font-size [字号]
$MD_FORMATTER_DIR需在local/.env或环境变量中配置。
推荐主题:01fish(01fish 品牌色,默认)、chinese(中国风)、apple(极简优雅)
推荐字号:medium(15px 默认)、large(16px 长文推荐)
01fish 主题说明:基于 chinese 主题,使用 01fish 品牌色(墨绿 #1A3328 + 鱼红 #C44536 + 宣纸底 #F2EDE3)
Path B 流程:微信链接 → 多平台内容
第 1 步:抓取文章
使用 Python 抓取脚本(微信有反爬验证,WebFetch 会被拦):
python3 "${SKILL_DIR}/scripts/fetch_wechat_article.py" "<URL>" --json
超时 30 秒。失败则提示用户手动复制文章正文。
如果用户只是说"帮我读一下这篇公众号"(/read-gzh 触发),执行抓取后直接生成结构化总结,不进入后续内容生成流程。总结格式:
# 文章总结
## 基本信息(标题/作者/类型/配图数)
## 核心观点(3条)
## 关键信息
## 金句摘录
## 图片内容(下载并识别配图中的文字)
## 思考/迭代点
第 2 步:分析文章结构
提取:标题、副标题/金句、核心概念、关键数据、步骤/流程、亮点/特色、方法论/金句、行动召唤。
第 3 步:拆分为卡片
8-10 张卡片,遵循小红书阅读节奏(→ 读 references/xiaohongshu-format.md):
| 位置 | 卡片类型 | 内容 |
|---|---|---|
| 第 1 张 | 封面 | 大标题 + hook + 迷你视觉元素 |
| 第 2 张 | 先看结果 | 成品展示 + 核心数据 |
| 第 3-4 张 | 概念解释 | 核心概念拆解 |
| 第 5-7 张 | 流程/实战 | 步骤、对比、流程图 |
| 第 8 张 | 亮点/特色 | 产品/作品亮点卡片 |
| 第 9 张 | 方法论 | 一句话金句提炼 |
| 第 10 张 | 行动召唤 | 链接 + 社区引导 |
第 4 步:生成图片 HTML
输出路径:文章同目录下 [简短主题]-小红书版.html,未指定目录放 /tmp/。浏览器自动打开预览。
最后一张行动召唤页必须包含:微信号 [你的微信号](强调色大字)、备注关键词、核心链接。
在
local/SKILL.local.md中配置你的实际微信号。
📚 重要:生成前必读范例
参考 references/xiaohongshu-examples/观鸟图鉴-范例.html 的质量标准:
✅ 卡片设计要求
- 纯信息图设计,无文章截图
- 像素风/游戏化界面展示(适用时)
- 流程图、卡片网格、编号列表等丰富视觉元素
- 品牌色克制使用(墨绿85% + 鱼红5%)
✅ 文案质量要求
- 真人分享感,有真实场景和个人感受
- 口语化表达:"玩疯了"、"上头了"、"然后我就..."
- 298-350字 + 8-12个标签
生成的内容应达到范例的专业水准。
第 5 步:生成小红书发布文案
根据内容类型选择风格:
-
个人 IP 风格(真人分享、产品开发、踩坑记录)
- → 读
local/SKILL.local.md中指定的个人品牌风格文件(如有) - 流水账式真实感 + 具体时间细节 + 口语化表达
- 300-350字,8-12个标签
- 人设:在
local/SKILL.local.md中自定义
- → 读
-
01fish风格(方法论总结、深度分析)
- → 读
references/platform-copy.md的小红书部分 - 结构化拆解 + 干货密度高
- 适合转载公众号文章
- → 读
第 6 步:生成即刻发布文案
→ 读 references/platform-copy.md 的即刻部分。
第 7 步:生成播客脚本
→ 读 references/platform-copy.md 的播客部分。
第 8 步:AI 语音生成
使用 Fish Audio TTS 将播客脚本转为 MP3(→ 读 references/tts-config.md)。
文件命名:[播客标题].mp3 + [播客标题]-播客脚本.txt
第 8.5 步:输出 manifest.json
所有内容生成完毕后,自动输出 manifest.json 到输出目录。格式:
{
"version": "1.0",
"created": "<ISO时间戳>",
"source": "<微信链接>",
"title": "<文章标题>",
"outputs": {
"xiaohongshu": { "html": "...", "copy": { "title": "...", "body": "...", "tags": [...] } },
"jike": { "copy": { "body": "...", "circles": [...] } },
"xiaoyuzhou": { "audio": "...", "script": "...", "copy": { "title": "...", "description": "...", "show_notes": "..." } },
"video_canvas": { "html": "...", "teleprompter_md": "...", "cover_html": "..." }
}
}
如果用户说"转小红书并发布",生成 manifest 后自动执行 /distribute。
第 9 步:品牌视频生成(可选)
仅当用户提到"视频"、"抖音"、"视频号"或"品牌视频"时执行:
A. Remotion 品牌片头片尾
cd "$REMOTION_DIR"
npx remotion render src/index.ts Intro --output /tmp/brand-intro.mp4
npx remotion render src/index.ts Outro --output /tmp/brand-outro.mp4
$REMOTION_DIR需在local/.env或环境变量中配置。
B. AI 视频 Prompt — 为 Seedance 2.0 或 Google Veo 生成 4 段视频 prompt
C. ffmpeg 拼接指令 — 生成拼接命令供用户手动执行
第 9B 步:视频画布生成(可选)
仅当用户说"做视频画布"、"录屏画布"、"手账视频"时执行。接受任意素材输入:微信链接、Markdown 文件、PDF、HTML 文件、纯文本、用户口述内容均可。
- 获取内容 — 根据输入类型自动处理:
- 微信链接:调用
scripts/fetch_wechat_article.py抓取 - 文件路径(md/pdf/html/txt):直接读取
- 用户粘贴的文本:直接使用
- 微信链接:调用
- 分析结构 — 提取标题、核心数据、痛点、步骤、原理、对比、金句、亮点
- 拆分为 9 张卡片 — 读取
references/video-canvas-template.md获取完整 CSS+JS 模板和卡片规范 - 生成 9 段提词器脚本 — 口语化,每段 80-150 字,含
[提示]cue 标记 - 输出提词器脚本 md —
[简短主题]-提词器脚本.md,用户可直接编辑 - 组装 HTML — CSS 框架 + HTML 骨架 + 填充内容 + JS 框架(SCRIPTS 与 md 一致)
- 输出文件 —
[简短主题]-视频画布.html,保存到文章同目录或/tmp/ - 生成封面图 —
[简短主题]-封面.html,手账风格 + 人像圆框,浏览器下载 PNG - 提示用户 — 先检查提词器脚本 md,再在浏览器中打开 HTML 录制。16:9 固定比例,各平台直接上传
第 10 步:用户微调
告知用户所有产出物路径,提示可调整,输入 /distribute 可一键发布。
公众号同步提示:封面 PNG 从浏览器下载后,直接 /distribute --platforms wechat 即可同步到草稿箱(API 模式,无需打开 Chrome)。
一次性产出五样东西,不需要额外要求:
- 小红书图片 HTML(含一键下载工具栏)
- 小红书发布文案(标题 + 正文 + 标签)
- 即刻发布文案(正文 + 圈子标签)
- 小宇宙播客(录制脚本 + AI 语音 MP3)
- manifest.json(供
/distribute一键发布)
第 9B 步可选追加(说"视频画布"时): 6. 视频画布 HTML(含录制 + 提词器 + 美颜,16:9 固定) 7. 提词器脚本 md(可编辑,修改后说"更新提词器"同步到 HTML) 8. 封面图 HTML(手账风格 + 人像圆框,浏览器下载 PNG)
分发流程(/distribute)
读取 manifest.json,通过 Chrome CDP 自动化发布到各平台(→ 读 references/distribute-platforms.md)。
用法
# 全平台发布
npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json
# 选择平台
npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json --platforms xhs,jike
# 预览模式(不提交,只预填内容)
npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json --platforms xhs --preview
平台缩写
| 缩写 | 平台 | 状态 |
|---|---|---|
wechat | 公众号 | 可用 |
xhs | 小红书 | 可用 |
jike | 即刻 | 可用 |
xiaoyuzhou | 小宇宙 | 可用 |
douyin | 抖音 | 实验性 |
shipinhao | 视频号 | 待开发 |
执行顺序
公众号 → 小红书 → 即刻 → 小宇宙 → 抖音 → 视频号(顺序执行,避免 Chrome 端口冲突)
四级降级
| 级别 | 模式 | 触发条件 |
|---|---|---|
| L0 | API 直推 | 公众号 API 直接推草稿箱,无需 Chrome |
| L1 | 自动发布 | CDP 完全自动化 |
| L2 | 辅助发布 | 登录态失效/选择器失效/--preview |
| L3 | 手动模式 | CDP 连接失败 |
公众号优先 L0(API),凭证缺失或失败时自动降级 L1(CDP)。
品牌设计规范
两套品牌色体系:
- 01fish:专业内容品牌(公众号、深度文章、方法论)
- 鱼头头:真人IP品牌(小红书、即刻、日常分享)
单一真相源:在
local/SKILL.local.md中指定你的品牌色文档路径。 如果色值冲突,以品牌文档为准。以下色板作为默认示例。
01fish 色板(墨绿体系)
比例法则:墨绿 85% : 鱼红 5% : 其余 10%
| 名称 | 色值 | 用途 |
|---|---|---|
| 墨绿主色 | #1A3328 | 暗底卡片背景 |
| 宣纸底 | #F2EDE3 | 浅底卡片背景 |
| 鱼红 | #C44536 | 强调色、数字、标签(仅点睛) |
| 半透白 | rgba(255,255,255,0.5) | 暗底上的品牌名 |
| 半透墨绿 | rgba(26,51,40,0.4) | 浅底上的品牌名 |
| 苔灰 | #7A8C80 | 次要文字 |
| 深墨 | #0F1F18 | 更深背景 |
| 淡青 | #D4DDD7 | 分割线、边框 |
鱼头头色板(桃粉体系)
比例法则:桃气粉 15% : 奶油黄 40% : 暮光紫 10% : 灰色 35%
| 名称 | 色值 | 用途 |
|---|---|---|
| 桃气粉 | #FF6B9D | 主强调色、标题、关键数据 |
| 奶油黄底 | #FFF9E6 | 浅底背景、卡片底色 |
| 暮光紫 | #9D7BA8 | 辅助色、次要信息、品牌名 |
| 温灰 | #6B6B6B | 正文文字 |
| 浅灰底 | #F5F5F5 | 现代感背景 |
| 深夜蓝 | #2D3047 | 暗底背景(少用) |
品牌选择规则
| 内容类型 | 使用品牌 | 原因 |
|---|---|---|
| 公众号深度文章 | 01fish | 专业、权威、内容品牌 |
| 行业分析报告 | 01fish | 冷静客观 |
| 小红书真人分享 | 鱼头头 | 温暖、真实、真人IP |
| 即刻日常动态 | 鱼头头 | 活泼、亲和 |
| 产品开发记录 | 鱼头头 | 真实过程展示 |
| B端产品介绍 | 01fish | 专业可信赖 |
双品牌联动:同一篇内容,公众号用01fish色,小红书转发用鱼头头色
字体
font-family: -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
品牌角标
每页左上角 01fish logo + 文字,暗底页用 .light,浅底页用 .dark。
页码
右下角 1/N,暗底页 rgba(255,255,255,0.2),浅底页 rgba(26,51,40,0.2)。
内容改写原则
微信 → 小红书不是照搬,需适配:
| 维度 | 微信 | 小红书 |
|---|---|---|
| 篇幅 | 2000-3000 字 | 每页 50-80 字 |
| 结构 | 线性阅读 | 卡片式跳读 |
| 语气 | 技术向、深度 | 简洁、直观、有冲击力 |
| 视觉 | 文字为主 | 视觉为主、文字点缀 |
改写要点:标题要炸、数字要大、一页一个点、视觉替代文字、保留核心链接。
完整模板参考
首次生成小红书图片时,参考 references/xiaohongshu-examples/ 目录下的范例文件获取完整 CSS + JS。
如果有额外的本地模板参考,在
local/SKILL.local.md中指定路径。
生成新内容时复用范例文件的 CSS + JS 部分,只替换卡片内容。
Script Directory
Agent Execution: Determine this SKILL.md directory as SKILL_DIR, then use ${SKILL_DIR}/scripts/<name>.
| Script | Purpose |
|---|---|
scripts/fetch_wechat_article.py | 微信文章抓取(Python,模拟微信 UA) |
scripts/distribute/distribute.ts | 分发主编排器 |
scripts/distribute/cdp-utils.ts | 共享 CDP 工具 |
scripts/distribute/platforms/*.ts | 各平台发布模块 |
Reference 文件索引
cc 按需读取,不要一次性加载所有 reference。
| 场景 | 读取文件 |
|---|---|
| 出稿写深度长文 | references/writing-style.md — 人设 + 写作规范 + 格式(四幕式,8000-12000 字) |
| 出稿写教程文章 | references/tutorial-framework.md — 六段式教程框架(先看结果→概念→操作→实战→拿走即用,2000-4000 字) |
| 生成头图/配图 | references/cover-template.md — 01fish 风格排版规范(头图 + 配图 + 视觉组件) |
| 横版→竖版封面 | references/cover-vertical-spec.md — 公众号封面转竖版的 CSS 转换规范 |
| 生成小红书轮播图 | references/xiaohongshu-format.md — HTML 模板 + 视觉组件库 |
| 生成各平台文案 | references/platform-copy.md — 小红书/即刻/播客/朋友圈文案规范 |
| 生成播客音频 | references/tts-config.md — Fish Audio 配置 + 生成脚本 |
| 分发到各平台 | references/distribute-platforms.md — 平台配置 + manifest 格式 + 降级策略 |
| 生成视频画布 | references/video-canvas-template.md — 手账拼贴视频画布模板(CSS+JS+卡片规范) |
故障处理
| 问题 | 处理 |
|---|---|
| 微信抓取失败 | 提示用户手动复制文章正文 |
| 文章太短(<500字) | 压缩为 5-6 张卡片 |
| 文章太长(>5000字) | 精选核心,控制 10 张以内 |
| 导出图片模糊 | 检查 SCALE=2,浏览器缩放 100% |
| manifest 不存在 | 提示先运行内容生成 |
| Chrome 启动失败 | 降级 L3(手动模式) |
| TTS 402 余额不足 | 提示去 fish.audio 充值 |
| TTS 生成失败 | 只输出脚本文本,提示手动录制 |