Skip to content
Nyarlathotep edited this page May 28, 2026 · 2 revisions

flash-promoter Wiki

1. 项目简介

flash-promoter 是一个多平台内容适配与发布工具,面向个人创作者、内容运营人员、视频创作者和小型团队。

它的核心目标是:
让用户在一个工作台中输入或粘贴内容,系统自动生成适配微信公众号、知乎、B站、小红书等平台的内容版本,并支持预览、校验、模拟发布和发布日志。

flash-promoter 不是简单的复制粘贴工具,而是一个“内容中台 + 平台适配器 + 发布任务系统”。

用户只需要维护一份原始内容,系统会根据不同平台的内容风格和发布要求,生成不同的平台版本。


2. 项目定位

2.1 要解决的问题

很多创作者需要在多个平台同步发布内容,例如:

  • 微信公众号

  • 知乎

  • B站

  • 小红书

但不同平台对内容格式、表达风格、标题、摘要、封面、标签、话题、图片比例、正文结构都有不同要求。

因此,创作者经常需要重复做以下工作:

  • 改标题

  • 改摘要

  • 改正文结构

  • 调整图片

  • 生成标签和话题

  • 复制粘贴到不同平台

  • 检查排版

  • 记录发布状态

这些工作重复、低效,并且容易出错。

flash-promoter 的目标就是把这些重复工作自动化和流程化。


3. 核心能力

3.1 内容输入

用户可以在工具中输入或粘贴内容。

MVP 阶段支持:

  • 普通文本

  • Markdown

  • 富文本粘贴

  • 标题

  • 标签

  • 摘要

  • 图片素材

Markdown 只是支持格式之一,不是唯一输入方式。
系统内部会把用户输入内容统一转换为 CanonicalPost 内容模型。


3.2 平台版本生成

系统会基于同一份原始内容,生成不同平台版本。

微信公众号版本

适合长文阅读,重点包括:

  • 标题

  • 摘要

  • 导语

  • 分级标题

  • 正文结构

  • 结尾总结

  • 封面建议

知乎版本

适合知识表达和讨论,重点包括:

  • 问题意识

  • 逻辑论证

  • 经验表达

  • 减少营销口吻

  • 话题建议

B站版本

适合视频稿件或专栏稿件,重点包括:

  • 视频标题

  • 专栏标题

  • 简介

  • 标签

  • 分区建议

  • 置顶评论

  • 时间轴占位

小红书版本

适合图文笔记,重点包括:

  • 短标题

  • 短句正文

  • 话题标签

  • 封面文案

  • 图文卡片文案


3.3 平台预览

系统提供不同平台的预览视图。

MVP 阶段包括:

  • 微信公众号预览

  • 知乎预览

  • B站预览

  • 小红书预览

用户可以在发布前检查每个平台版本的标题、正文、摘要、标签、封面文案和平台适配效果。


3.4 发布前校验

发布前系统会对内容进行校验,避免明显错误。

通用校验包括:

  • 标题不能为空

  • 正文不能为空

  • 标题长度不能过短

  • 正文长度不能过短

  • 标签数量不能异常

  • 图片资源必须存在

  • 不允许出现未处理的空资源引用

不同平台也有独立校验逻辑。

例如:

  • 公众号检查摘要、封面、正文图片。

  • 知乎检查营销化表达和外链数量。

  • B站检查标题、简介、标签、分区建议。

  • 小红书检查标题长度、话题标签、封面文案和夸大表达。


3.5 发布模式

flash-promoter 支持四种发布模式:

type PublishMode = "simulate" | "draft" | "assist" | "publish";

simulate

模拟发布,不调用真实平台接口。

适用于:

  • MVP 测试

  • 演示

  • 流程验证

  • 本地开发

draft

生成平台草稿,不直接发布。

适用于:

  • 微信公众号

  • 后续支持的草稿型平台

assist

辅助发布。

系统可以打开平台发布页、准备内容或模拟辅助发布结果,但不绕过登录、验证码或平台风控,也不自动点击最终发布按钮。

适用于:

  • 知乎

  • 小红书

  • 其他没有稳定公开发布 API 的平台

publish

真实发布。

MVP 阶段默认不启用真实发布。
后续只有在平台官方能力明确、账号授权完整、用户二次确认后才允许使用。


4. 默认平台策略

平台 | 默认模式 | MVP 策略 -- | -- | -- 微信公众号 | draft | 先实现 adapter 骨架和草稿逻辑预留 B站 | simulate | 先实现投稿参数生成和模拟发布 知乎 | assist | 先实现辅助发布骨架,不真实发布 小红书 | assist | 先实现笔记内容生成和辅助发布骨架 mock | simulate | 必须完整跑通 transform → validate → publish

MVP 阶段最重要的是先跑通完整本地流程,而不是直接接入所有平台真实接口。


5. 系统架构

flash-promoter 采用模块化架构,核心思想是:

内容输入
→ 统一内容模型
→ 平台适配
→ 平台预览
→ 发布前校验
→ 发布任务
→ 发布日志

推荐项目结构:

flash-promoter/
  apps/
    desktop/

packages/ core/ adapters/ ai-adapter/ renderer/ asset-pipeline/ storage/


6. 模块说明

6.1 apps/desktop

桌面端应用。

负责:

  • 内容编辑界面

  • 平台预览界面

  • 发布操作界面

  • 发布日志界面

  • 与本地服务或本地数据库通信

技术建议:

  • React

  • TypeScript

  • Electron 或 Tauri

  • SQLite


6.2 packages/core

核心业务模块。

负责:

  • CanonicalPost 内容模型

  • PlatformDraft 平台草稿模型

  • PlatformAdapter 插件接口

  • 发布流程控制

  • 发布状态管理

  • 通用校验逻辑

  • adapter registry

核心流程:

create post
→ generate drafts
→ validate draft
→ create publish job
→ call adapter.publish
→ write publish log

6.3 packages/adapters

平台适配器模块。

MVP 阶段至少包含:

  • mock

  • wechat

  • bilibili

  • zhihu-assist

  • xhs-assist

每个平台 adapter 都需要实现统一接口:

interface PlatformAdapter {
id: PlatformId;
name: string;
capabilities: PlatformCapabilities;

transform(input: CanonicalPost, options?: TransformOptions): Promise<PlatformDraft>;

validate(draft: PlatformDraft): Promise<ValidationResult>;

publish( draft: PlatformDraft, account: PlatformAccount | null, mode: PublishMode ): Promise<PublishResult>; }


6.4 packages/ai-adapter

平台内容生成模块。

MVP 阶段可以先使用规则生成,不必须接入真实大模型 API。

它负责:

  • 根据原始内容生成四个平台版本

  • 输出结构化平台草稿

  • 后续预留大模型接口

  • 保证输出结构稳定

注意:

  • AI 只负责生成内容草稿。

  • AI 不负责发布。

  • 发布必须由 adapter 和发布任务系统执行。


6.5 packages/renderer

渲染模块。

负责:

  • Markdown 渲染

  • 平台预览渲染

  • 公众号样式预览

  • 知乎样式预览

  • B站样式预览

  • 小红书样式预览


6.6 packages/asset-pipeline

资产处理模块。

负责:

  • 图片管理

  • 图片压缩

  • 图片尺寸处理

  • 封面图处理

  • 视频元数据读取

  • 后续平台素材上传预留

MVP 阶段可以先做基础图片管理和本地引用。


6.7 packages/storage

本地存储模块。

负责:

  • SQLite 初始化

  • 数据库迁移

  • posts 表

  • platform_drafts 表

  • publish_jobs 表

  • publish_logs 表

  • assets 表


7. 核心数据模型

7.1 CanonicalPost

统一内容模型。

export type CanonicalPost = {
id: string;
title: string;
subtitle?: string;
summary?: string;
bodyMarkdown: string;
body: Block[];
assets: Asset[];
tags: string[];
topics?: string[];
contentType: ContentType;
createdAt: number;
updatedAt: number;
};

CanonicalPost 是平台无关的内容源。
所有平台版本都应该从它转换而来。


7.2 PlatformDraft

平台草稿模型。

export type PlatformDraft = {
id: string;
postId: string;
platform: PlatformId;
title: string;
body: string;
summary?: string;
tags?: string[];
topics?: string[];
coverText?: string;
coverAssetId?: string;
platformMeta: Record<string, unknown>;
validation?: ValidationResult;
createdAt: number;
updatedAt: number;
};

每个平台会根据 CanonicalPost 生成自己的 PlatformDraft


7.3 PublishJob

发布任务模型。

发布任务用于记录某个平台的一次发布行为。

它应包含:

  • postId

  • platform

  • mode

  • status

  • result

  • errorMessage

  • createdAt

  • updatedAt


7.4 PublishLog

发布日志模型。

发布日志用于记录每次发布过程中的关键事件,例如:

  • 创建任务

  • 校验通过

  • 校验失败

  • 模拟发布成功

  • 发布失败

  • 真实接口未配置

  • 浏览器辅助发布已打开


8. Adapter 设计

8.1 mock adapter

mock adapter 是 MVP 的核心。

它必须完整实现:

transform → validate → publish

作用:

  • 验证核心流程

  • 验证发布任务

  • 验证发布日志

  • 验证 UI 状态

  • 不依赖任何真实平台

mock 发布结果示例:

{
"platform": "mock",
"mode": "simulate",
"status": "simulated",
"externalId": "mock_123456",
"message": "模拟发布成功"
}

8.2 wechat adapter

微信公众号 adapter。

MVP 阶段只实现骨架和模拟逻辑。

需要具备:

  • 公众号长文转换

  • 标题校验

  • 摘要校验

  • 正文校验

  • 图片上传提示

  • 草稿模式预留

默认模式:

draft

8.3 bilibili adapter

B站 adapter。

MVP 阶段只实现骨架和模拟逻辑。

需要具备:

  • B站标题生成

  • 简介生成

  • 标签生成

  • 分区建议

  • 置顶评论

  • 视频/专栏类型预留

  • 视频上传流程预留

默认模式:

simulate

8.4 zhihu-assist adapter

知乎辅助发布 adapter。

MVP 阶段只实现辅助发布骨架。

需要具备:

  • 知乎风格内容转换

  • 标题校验

  • 正文校验

  • 营销化表达检查

  • 外链数量检查

  • assist 模式结果返回

默认模式:

assist

8.5 xhs-assist adapter

小红书辅助发布 adapter。

MVP 阶段只实现辅助发布骨架。

需要具备:

  • 小红书标题生成

  • 短句正文生成

  • 话题标签生成

  • 封面文案生成

  • 图文卡片文案生成

  • 夸大表达检查

默认模式:

assist

9. MVP 功能范围

MVP 必须完成:

  1. 本地桌面端可启动。

  2. 用户可以输入或粘贴内容。

  3. 系统可以保存内容到 SQLite。

  4. 系统可以生成四个平台版本。

  5. 用户可以预览四个平台版本。

  6. 系统可以执行发布前校验。

  7. 系统可以执行模拟发布。

  8. 系统可以写入发布任务。

  9. 系统可以写入发布日志。

  10. 用户可以查看发布日志。

  11. adapter 架构清晰,后续可以扩展真实平台。

  12. 不实现违规自动化。

  13. 不绕过平台登录、验证码或风控。


10. 页面说明

10.1 内容编辑页

包含:

  • 标题输入

  • 正文编辑器

  • 标签输入

  • 摘要输入

  • 图片素材区域

  • 保存按钮

  • 生成平台版本按钮


10.2 平台预览页

包含平台 Tab:

  • 微信公众号

  • 知乎

  • B站

  • 小红书

每个平台 Tab 显示:

  • 平台标题

  • 平台正文

  • 摘要

  • 标签 / 话题

  • 封面文案

  • 校验结果

  • 发布模式

  • 模拟发布按钮


10.3 发布日志页

显示:

  • 发布时间

  • 平台

  • 发布模式

  • 发布状态

  • 错误信息

  • 返回结果


11. 安全与合规边界

flash-promoter 必须遵守以下原则:

  1. 不绕过平台登录。

  2. 不绕过验证码。

  3. 不绕过平台风控。

  4. 不使用隐藏接口作为核心能力。

  5. 不默认真实发布。

  6. 真实发布必须二次确认。

  7. 浏览器辅助发布不得自动点击最终发布按钮。

  8. 用户账号和密钥不得明文写入日志。

  9. 发布失败必须明确提示。

  10. 所有发布行为必须可追踪。


12. 开发优先级

12.1 优先完成

  • 本地应用启动

  • 内容输入

  • SQLite 存储

  • CanonicalPost

  • PlatformAdapter

  • mock adapter

  • 平台版本生成

  • 平台预览

  • 模拟发布

  • 发布日志

12.2 暂不优先

  • 真实公众号发布

  • 真实 B站发布

  • 真实知乎发布

  • 真实小红书发布

  • 多账号管理

  • 团队审核流

  • 数据分析

  • 定时发布

  • 云端同步


13. 常见问题

Q1:用户必须上传 Markdown 文件吗?

不需要。

Markdown 只是支持格式之一。
用户可以输入普通文本、粘贴富文本,也可以使用 Markdown。
系统内部会统一转换为 CanonicalPost


Q2:MVP 是否需要真实发布到各个平台?

不需要。

MVP 重点是跑通本地闭环:

内容输入 → 平台适配 → 预览 → 校验 → 模拟发布 → 日志

真实发布能力可以后续逐步接入。


Q3:为什么要先做 mock adapter?

因为 mock adapter 不依赖任何平台接口,可以验证整个系统架构是否成立。

如果 mock adapter 能完整跑通:

transform → validate → publish

说明核心流程、发布任务、日志系统、UI 状态都可以正常工作。


Q4:知乎和小红书为什么不直接真实发布?

因为这类平台的普通创作者发布能力通常不适合直接依赖公开 API 实现全自动发布。

MVP 阶段应优先做辅助发布:

  • 生成平台适配内容

  • 准备标题、正文、标签

  • 打开或模拟辅助发布流程

  • 用户最终手动确认


Q5:公众号为什么默认 draft?

公众号发布影响较大,涉及封面、摘要、正文图片、草稿、发布状态等细节。

默认生成草稿比直接发布更安全。


Q6:B站为什么默认 simulate?

B站真实发布涉及视频上传、分片、合片、封面、稿件提交、审核状态等流程。

MVP 阶段先模拟发布更稳,后续再接入真实流程。


14. 后续扩展方向

后续可以扩展:

  • 真实公众号草稿创建

  • B站视频投稿

  • B站专栏提交

  • 小红书图文卡片导出

  • 知乎浏览器辅助发布

  • 多账号管理

  • 内容日历

  • 定时发布

  • 发布数据回收

  • 团队审核流

  • 更多平台 adapter

  • 浏览器插件版本

  • 云端协作版本


15. 项目原则

flash-promoter 的设计原则:

  1. 先跑通本地 MVP。

  2. 先验证核心流程,再接真实平台。

  3. 平台能力通过 adapter 扩展。

  4. 内容生成和发布执行分离。

  5. AI 不直接控制发布。

  6. 用户始终拥有最终发布确认权。

  7. 不做违规自动化。

  8. 所有发布行为可追踪。

  9. 不把某个平台的特殊逻辑写死进核心流程。

  10. 能模拟,就先模拟;能草稿,就不默认直发。


16. 总结

flash-promoter 是一个以“内容适配”和“发布流程管理”为核心的多平台创作者工具。

它的 MVP 不追求一步到位接入所有真实平台,而是优先实现一个稳定的本地工作流:

输入内容
→ 统一内容模型
→ 多平台适配
→ 平台预览
→ 发布前校验
→ 模拟发布
→ 发布日志

在这个基础上,后续可以逐步扩展真实发布能力、浏览器辅助发布、多账号管理、团队审核和数据分析。

项目的关键不是“强行全自动发布”,而是建立一个可靠、可扩展、可审计的多平台内容发布基础架构。