1 安装与启用面向零基础 · 3 分钟跑通
本章解决「把扩展装到 Chrome 并出现在公众号编辑页右侧抽屉里」的问题。适合刚下载安装包、或第一次接触 Chrome 扩展的用户。整体过程约 3 分钟。
1.1 系统要求
- Chrome / Edge / Brave 等 Chromium 内核浏览器,版本 ≥ 116(依赖
chrome.sidePanel 原生 API,老版本不可用);
- 已注册的 微信公众号(订阅号 / 服务号 / 个人号均可),并已登录
mp.weixin.qq.com;
- 至少 1 个大模型 API Key(推荐先开 DeepSeek 作为主线,详见 第 4 章);
- (可选)腾讯云 COS 4 项凭据 —— 用于图片自动上传、二维码、AI 排版后自动外链化,详见 第 5 章。
1.2 从 Chrome 应用商店安装(推荐)
1
打开 Chrome 应用商店。地址栏访问 chrome.google.com/webstore,搜索关键字「公号编辑器·熊少」或「公众号 AI 排版」。
2
点「添加至 Chrome」。弹窗确认「添加扩展程序」即可,安装包约 4MB,5 秒内完成。
3
固定到工具栏。点浏览器右上角拼图图标 → 找到「公号编辑器·熊少」→ 点旁边的图钉。
[截图占位] Chrome 应用商店「公号编辑器·熊少」详情页 + 「添加至 Chrome」按钮
1.3 从源码 / dist 包加载(开发者 / 离线分发)
未上架商店,或 Comdr 给你发了一个 .zip 离线包,用这种方式。
- 下载并解压
extension-vXXX.zip,里面有一个 dist/ 目录;
- 地址栏输入
chrome://extensions 进入扩展管理页;
- 右上角打开「开发者模式」开关;
- 左上角点「加载已解压的扩展程序」,选中刚解压的
dist/ 文件夹;
- 扩展列表里应出现
公号编辑器·熊少,确保「已启用」拨片是绿色。
[截图占位] chrome://extensions 开发者模式 + 加载已解压扩展程序
注意:从源码加载的扩展每次浏览器重启时 Chrome 会弹「请停用开发者模式扩展」警告 —— 这是 Chrome 的正常提示,无需理会;若需长期使用建议改用商店版。
1.4 打开侧边栏(Sidebar)
本扩展通过 Chrome 原生 sidePanel 在公众号编辑页右侧展开一个 350px 的工作区。共 3 种打开方式:
- 方式 A · 扩展图标:登录 mp.weixin.qq.com 进入「图文消息」编辑页(URL 含
/cgi-bin/appmsg?action=edit),点工具栏的 扩展图标,Chrome 会原生唤起 sidePanel。再点一次会关闭。
- 方式 B · 浮按钮:编辑页左下角注入了一个 🌿 浮按钮(v23-r3 增加 sidePanel toggle 切换能力),点它也会开关 sidePanel。
- 方式 C · 选项页入口:选项页右上角点「打开抽屉」(实验入口,需当前已有 mp 编辑页打开)。
提示:首次打开 sidebar 会自动触发 Onboarding 引导(绿色气泡),跟随提示完成 BYOK Key 填写即可。引导完成状态写入 chrome.storage.local,下次不重复弹。
1.5 验证是否启用成功
- 工具栏 扩展图标变彩色(灰色 = 不在公众号编辑页白名单上);
- 编辑页右侧出现 350px 抽屉,顶部标题「🌿 公号编辑器·熊少 智能排版助手」;
- 抽屉顶部右上角「?」点击有使用提示弹窗;
chrome://extensions → 公号编辑器·熊少 → 详情页 Service Worker 状态显示「活动」。
常见错误:抽屉打开后 1-2 秒突然消失 + 控制台报 Extension context invalidated —— 这是 Chrome 在你刚刚重新加载扩展时短暂的孤儿状态。解决:刷新 mp 编辑页(F5),v23-r3 #4 起本扩展已加入自动检测 + 自移除浮按钮 + 用户提示「请刷新页面」。
2 5 分钟快速上手3 步排版你的第一篇
本章解决「从一段粗稿,到公众号编辑器里出现一篇排版好的文章」的最短路径。适合已完成第 1 章安装并配好 DeepSeek Key 的新用户。
整个流程只有 3 步,全程 ≤ 5 分钟。每步都对应抽屉里一个明显的按钮。
1
把原稿粘到「抽屉输入」框
抽屉顶部「Compose」Tab 的大输入框(标题「在这里粘贴 / 输入你的原稿」)。可以是纯文本、Markdown、从飞书 / Notion / Word 复制粘贴的富文本。建议正文 200 ~ 2000 字,效果最稳。
如果你已经在 mp 编辑器里写好了原稿,可以不粘 —— 把抽屉底部「处理范围」切到「全文」或「选区」也行(详见 第 10 章)。
[截图占位] 抽屉「Compose」Tab + 抽屉输入框
2
点「✨ 智能排版」按钮
抽屉顶部 5 按钮区,最左边「✨ 智能排版」一键全自动美化。AI 流式生成(边写边出字),进度条 + 中央 loading 提示,约 15-30 秒(取决于正文长度和 AI 厂商)。
生成完毕进入「📱 预览」区,可对比左原稿 / 右成品。三按钮上方有「风格」下拉,可选 20 套 AI 风格之一(详见 第 8 章),未选 = 自动判定品类。
[截图占位] 5 按钮区「智能排版 / 重写 / 扩写 / 精简 / 标题」
3
点「📤 应用到正文」写回 mp 编辑器
抽屉底部主按钮「📤 应用到正文」。扩展自动调用公众号原生 __MP_Editor_JSAPI__.invoke 接口注入富文本,保留所有内联样式。提示「✅ 已写入编辑器」即成功。
若按钮显示「📋 复制并切 mp 粘贴(高级布局)」,代表你开启了高级布局开关(详见 第 12 章)—— 内容已在剪贴板,切到 mp 编辑器按 Ctrl+V(Mac: ⌘+V)粘贴即可。
3 步走完 = 一篇排版好文。后续章节是按场景深挖:换风格 / 套整篇模板 / 加签名档 / AI 续写超长稿 / iPhone 真机预览 / 长图导出 / 多平台分发等。建议第二步先尝试切换不同 AI 风格(点「风格」下拉看 20 套预览),找到最适合你品类的那一套。
没出结果? 99% 是 BYOK Key 没配 / 配错。回到选项页(
第 4 章)确认 DeepSeek Key 已保存并「⚡ 测试连接」绿色 OK。
3 侧边栏布局速览v23-r22/r23 全局 UI 精修后
本章解决「侧边栏每一块到底是干什么的」。适合刚装上、但抽屉里按钮太多看不过来的用户。建议对照下面的「抽屉地图」逐块认一遍。
3.1 抽屉 7 大功能区(从上到下)
- Header(顶栏):左 logo + 「🌿 公号编辑器·熊少」标题,右「?」帮助 + 「⚙」设置入口;
- Tab 切换:「✏️ Compose」(撰写)与「🎨 模板库」两个主 Tab;
- 抽屉输入框(Compose Tab):大文本域,粘贴 / 输入原稿;
- 实时预览区:自动渲染下方 AI 排版结果,配 iPhone 16 Pro 真机预览(详见 第 14 章);
- 处理范围 + 同步开关:3 选项 segmented「抽屉输入 / 全文 / 选区」+ 「同步原编辑器」toggle(详见 第 10 章);
- 应用行:「📤 应用到正文」/「📌 插入到光标」/「📋 复制并切 mp 粘贴」3 按钮;
- 更多配置抽屉:底部「⚙ 更多」展开「高级布局」/「启用滚动条」/「AI 排版后自动 COS 上传」3 个 toggle + 「AI 风格」/「AI 模型」下拉。
[截图占位] 抽屉 7 大功能区编号示意图
3.2 5 个 AI 操作按钮
Compose Tab 顶部一行 5 个按钮,对应 5 个 AI 任务(详见 第 7 章):
| 按钮 | 任务 | 输入 | 输出 |
| ✨ 智能排版 | smart | 200-2000 字粗稿 | 语义 HTML(含 h1/h2/p/blockquote/figure) |
| 🔄 重写 | rewrite | 同上 | 同语义改表达,可重复 |
| 📖 扩写 | expand | 50-200 字 | 200-500 字 |
| ✂️ 精简 | compress | ≥ 200 字 | 压缩到 50% 长度 |
| 🏷 起标题 | title | 正文 | 5 个候选 8-15 字标题 |
3.3 AI 风格抽屉(v23-r19/r21 改造)
顶部「风格」下拉点开 → 弹出 右侧全屏 320px 抽屉(React Portal 渲染到 document.body,v23-r21 修复了之前「只显示一半」的真根因),列出 20 套预设 + 你自定义的风格。每张卡片:
- 左 迷你色块预览(demoSnippet):每套独一无二的小段排版示例(v23-r25/r26 升级,含 25 张 Unsplash 真图,杂志级排版);
- 右上 名称 + 品类标签;
- 右下「📱 预览」按钮 → 弹 iPhone 16 Pro 真机预览(详见 第 14 章)。
说明:抽屉化是 v23-r19 起的设计调整。原 dropdown 方案纵向太挤,20 套预览看不全;改抽屉后每套 demoSnippet 都是独立卡片,对比一目了然。
3.4 模板库 Tab
顶部 Tab 切到「🎨 模板库」→ 顶部搜索框 + 分类 chip(默认 / 内容 / 行业 / 兴趣 / 风格 / 极简 / 业界)+ 36 套模板卡片网格。每张卡片:
- 缩略色块(primary / accent / bg 三色);
- 模板名 + 一句话描述;
- 「📱 预览」(iPhone 真机) + 「🎨 套用」两按钮。
3.5 状态指示
- AI 流式进度条:顶部 2px 绿色条,从左到右匀速增长,到 100% 渐隐;
- 中央 loading 浮罩:「✨ AI 正在排版…」+ token 计数 + 已用时;
- 底部 toast:成功 ✅ / 失败 ❌ / 信息 ℹ︎,3 秒自动消失。
[截图占位] 顶部进度条 + 中央 loading + 底部 toast 三种状态示意
提示:v23-r22/r23 对全局 UI 做了「设计师级精修返工」—— 按钮全部对齐、间距统一、卡片阴影柔和。如果你升级前后看到「同一个按钮的圆角变了 / 间距变了」,是正常迭代。
4 BYOK API Key 配置7 厂商 · 零服务器 · AES-GCM-256
本章解决「把你自己在大模型厂商账户下生成的 API Key 填到扩展里」的问题。适合所有用户 —— BYOK 是本扩展的核心定位,必须先做这一步才能用 AI 排版。
BYOK 是什么? Bring Your Own Key —— 你提供 API Key,本扩展不在服务器存任何 Key(也没有服务器,是纯浏览器扩展)。所有 Key 用 AES-GCM-256 加密落
chrome.storage.local,密钥由扩展实例 ID 派生,离开你浏览器即不可解密。详见
第 19 章 隐私与数据安全。
入口:浏览器工具栏 扩展图标右键 → 「选项」;或 chrome://extensions → 公号编辑器·熊少 → 「扩展程序选项」。
必填:DeepSeek(主线,所有 AI 功能默认走它)。选填:Anthropic / OpenAI / Qwen / GLM / Kimi / 自定义 OpenAI 兼容。
[截图占位] 选项页 BYOK 7 厂商卡片整体
4.1 DeepSeek(主线必填)
🪐 DeepSeek 必填
填到哪:选项页第一个卡片「DeepSeek(主线)」输入框 → 粘贴 → 点「💾 保存」
测试连接:保存后点同行的「⚡ 测试连接」按钮,5 秒内显示 ✅ OK · 响应 XXms 即通;失败显示红框,常见原因见第 18 章 FAQ
默认 model:deepseek-v4-flash(也可在下拉选 deepseek-chat / reasoner,或勾「自定义」填任意 model name)
推荐理由:国内可直连、速度快、价格便宜、中文输出质量稳定
4.2 OpenAI GPT(选填)
🟢 OpenAI 选填
填到哪:选项页「OpenAI GPT」卡片 → 输入 sk-XXX... → 保存
默认 model:gpt-5.5 / gpt-5.4-mini / gpt-4o-mini
注意:OpenAI 域名国内不可直连,需自建代理或填 baseUrl(见 4.8 自定义 OpenAI 兼容)
4.3 Anthropic Claude(选填)
🔶 Anthropic Claude 选填
填到哪:选项页「Anthropic Claude」卡片 → 输入 sk-ant-XXX... → 保存
默认 model:claude-opus-4-7 / claude-sonnet-4-6 / claude-haiku-4-5
协议:原生 Anthropic Messages API(非 OpenAI 兼容)。CSP 已白名单 api.anthropic.com
4.4 Qwen 通义千问(选填)
🌊 Qwen / 阿里 DashScope 选填
默认 model:qwen3.6-max-preview / qwen3-max / qwen-plus
endpoint:dashscope.aliyuncs.com/compatible-mode/v1/chat/completions(OpenAI 兼容协议)
4.5 GLM 智谱(选填)
🧠 GLM 智谱 选填
默认 model:glm-5.1 / glm-4.7 / glm-4-flash
4.6 Kimi(Moonshot,选填)
🌙 Kimi / Moonshot 选填
默认 model:kimi-k2-0905-preview / moonshot-v1-128k / moonshot-v1-8k
协议:OpenAI 兼容
4.7 自定义 OpenAI 兼容(选填)
🔧 自定义 OpenAI 兼容 选填
适用场景:你有自建大模型(vLLM / Ollama / Xinference)、第三方代理服务(SiliconFlow / Together / Groq / OpenRouter / DeepInfra)、企业内网中转网关,并遵循 OpenAI Chat Completions 协议。
三项必填:
- baseUrl:完整 endpoint 前缀,不含
/chat/completions。
示例:https://api.siliconflow.cn/v1 / https://api.together.xyz/v1 / https://api.groq.com/openai/v1 / https://openrouter.ai/api/v1 / http://localhost:11434/v1(Ollama)
- model 名:你的服务实际支持的 model id。
- API Key:对应服务面板生成的
sk-XXX...。本地 Ollama 可填任意非空字符串。
常见服务商速查:
| 服务商 | baseUrl | 典型 model 名 |
| SiliconFlow 硅基流动 | https://api.siliconflow.cn/v1 | Qwen/Qwen2.5-72B-Instruct |
| Together AI | https://api.together.xyz/v1 | meta-llama/Llama-3.3-70B-Instruct-Turbo |
| Groq | https://api.groq.com/openai/v1 | llama-3.3-70b-versatile |
| OpenRouter | https://openrouter.ai/api/v1 | anthropic/claude-3.5-sonnet |
| DeepInfra | https://api.deepinfra.com/v1/openai | meta-llama/Meta-Llama-3.1-70B-Instruct |
| Ollama 本地 | http://localhost:11434/v1 | llama3.2 / qwen2.5:14b |
| vLLM 自建 | http://your-server:8000/v1 | 你的 served-model-name |
注意:baseUrl 末尾不要写 /chat/completions,扩展会自动拼接。常见错误是写到 https://xxx/v1/chat/completions 导致 404。
4.8 通用:保存 / 测试 / 拉取 model / 清除
- 保存:填完一个或多个 Key,点页面底部「💾 保存全部」。AES-GCM-256 加密后写入
chrome.storage.local。
- 测试连接:每个卡片右侧「⚡ 测试连接」单独发 5-token 探测请求(不消耗有效配额)。绿点 = OK、灰点 = 未配置、红点 = 失败。
- 拉取可用 models:填好 Key 后点「📋 拉取可用 models」,自动调用厂商
/v1/models 接口列出你账户能用的全部 model,下拉选择即可。v21-A 起 Custom 也支持。
- 清除:每个卡片右侧「🗑 清除」按钮单独删除该厂商 Key(其它厂商不受影响)。
4.9 当前 AI 厂商切换
抽屉「⚙ 更多」展开 → 「AI 模型」下拉,可在已配置的厂商间切换。建议保留多个 Key 作为「主备」—— 主厂商 429 限速时一键切换。
提示:v23-r10A 修复了 5 个 BYOK 链路 bug(含 Custom test 时 model URL 拼错、Kimi protocol 误识别等),v23-q2 修复 Custom test connection NETWORK_ERROR。如果你升级后才能正确测试,是正常的修复。
5 腾讯云 COS 配置图片自动上传 · 二维码 · 防盗链解决方案
本章解决「把扩展里的图片(粘贴、AI 生成、二维码)上传到你自己的腾讯云 COS 公网 Bucket」的问题。适合需要外链图床 / 担心 mp 素材库挂掉 / 跨账号共享图床的用户。
本章是可选配置。不配 COS 也能用智能排版、AI 风格、模板套版等所有核心功能;不配 = 签名档图片字段被禁用 + 「AI 排版后自动 COS 上传」(v23-r27)开关无效。
5.1 4 项必填凭据
| 字段 | 示例 | 说明 |
SecretId | AKIDxxxxxxxxxxxxxxxxxxx | 腾讯云访问管理 CAM 生成的 API 密钥 ID |
SecretKey | xxxxxxxxxxxxxxxxxxxx | 对应 SecretId 的密钥 |
Bucket | pandaai-imgbed-1300000000 | 含 APPID 后缀的完整 Bucket 名 |
Region | ap-shanghai / ap-beijing | 地区代号(创建 Bucket 时确定) |
5.2 创建 COS Bucket 步骤
2
名称与地区。名称如 pandaai-imgbed(系统自动补 -1300000000 APPID),地区选离你最近的(推荐 ap-shanghai / ap-beijing)。
3
访问权限。选 公有读 / 私有写(必选这一项,否则图片公网访问 403)。
4
生成 SecretId/SecretKey。
访问管理 CAM → API 密钥管理 → 「新建密钥」→ 记下 SecretId / SecretKey(SecretKey 只显示一次,丢了重新生成)。
5
填到选项页。「腾讯云 COS(可选)」分组填 4 项 → 「💾 保存」→ 「⚡ 测试连接」(上传 1 张 1KB 测试 PNG)→ 成功提示「✅ 配置正确,已成功上传测试图片」。
[截图占位] 选项页 COS 4 项配置卡片 + 测试连接成功状态
5.3 「优先用 COS 上传图片」开关
选项页 COS 卡片下方 toggle,默认开。粘贴 base64 图时优先走 COS(速度更快、Bucket 可控),关闭则只走 mp 素材库通道。
5.4 应用场景(3 类)
- 粘贴单张图自动上传:用户在 mp 编辑器 / 抽屉输入 粘贴含
data:image/...;base64, 的内容,扩展 content script 检测到 → 调用 SW 上传 COS → 返回 https://xxx.myqcloud.com/yyy.png URL 替换 src;
- AI 排版后批量上传(v23-r27):详见 第 13 章。需要先在抽屉「⚙ 更多」开启「AI 排版后自动 COS 上传」toggle,AI 输出含的所有外链图(mmbiz / 第三方)会被批量重传到你的 COS Bucket,防御对方域名挂掉 / 防盗链;
- 二维码 / Logo 上传:签名档配置必经路径,详见 第 6 章。
5.5 防盗链原理(v23-r30 真根因)
mp 域名 mmbiz.qpic.cn 服务端检查 Referer header —— 浏览器跨域请求 default Referer 是当前页(非 mp 域)→ 403。v23-r30 修复方案:
- 所有 mmbiz 图 fetch 改走 SW → SW 的
declarativeNetRequest 规则把 Referer 改为 https://mp.weixin.qq.com/ → 服务端通过;
- SW 拿到 blob → 重新上传 COS → 返回 COS URL;
- v23-r16 同步修复长图导出场景下的 mmbiz CORS(fetch 改 content-script 同源) → 详见 第 15 章。
注意:SecretKey 一旦泄漏可被他人无限制写入你 Bucket。强烈建议:在 CAM 单独创建一个「只读写本 Bucket」的子账号 API 密钥,而非用主账号的 SecretId/SecretKey;定期轮换。
提示:测试连接绿点 = 上传 1 张 1KB 探测图成功;红点 = SecretId/SecretKey 错 / Bucket 名拼错 / Region 不匹配 / Bucket 未开公有读 / 未配 CORS。详见
第 18 章 FAQ。
6 签名档与图文素材作者名 · 二维码 · Logo · CTA
本章解决「每篇文章末尾固定追加作者署名 / 公众号二维码 / Logo / CTA 横幅」的问题。适合个人 IP 号 / 公众号矩阵 / 需要固定引流话术的运营者。
签名档全部默认空,不填 = 不显示任何内容(不会有意外的 PandaAI 字样)。需要主动到选项页填写才生效。
6.1 6 个字段
| 字段 | 类型 | 说明 | 渲染位置 |
authorName | 文本 | 作者名,会渲染成 「— XXX —」 | 文末居中 |
signature | 文本 | 签名档一行,建议「关注公众号 PandaAI 了解更多」 | authorName 下方 |
ctaBanner | 文本 | 文末 CTA 横幅,建议「点赞 + 在看 + 关注,下篇见」 | signature 下方 |
showAiMark | 开关 | 是否显示底部「由本扩展辅助排版」小字 | 底部一行小字 |
qrCodeUrl | 图片 | 二维码 PNG/JPG(120×120 圆角),需走 COS | 右侧或居中 |
logoUrl | 图片 | Logo / 头像(48×48 圆形),需走 COS | authorName 左侧 |
6.2 配置入口
选项页 → 「签名档」分组 → 填 4 个文本字段 + 上传 2 张图片 → 「💾 保存」。
- 文本走
chrome.storage.sync —— 跨设备自动同步(你在 PC 设置,公司另一台 Chrome 登同账号也同步);
- 图片先上传到腾讯云 COS(需先配 COS,见 第 5 章),存的是
https://...myqcloud.com/xxx.png 公网 URL。
6.3 二维码 / Logo 上传步骤
1
确保已配置腾讯云 COS(
第 5 章)。未配会提示「请先配置 COS」并禁用图片上传按钮。
2
点「二维码上传」按钮 → 选本地 PNG / JPG / WEBP(≤ 5MB)→ 自动上传到 COS → 返回公网 URL → 旁边直接预览图片。
3
同步过程出现旋转 spinner(约 1-3s),结束后图片预览 + 「移除」按钮可清除。
[截图占位] 签名档配置区 + 二维码上传后的预览态
6.4 签名档何时渲染
- 智能排版 / 重写:末尾自动追加(如果 6 字段全空则跳过整段,不输出任何 PandaAI 硬编码);
- 套版:根据模板设计追加(v23-r2 #7 修复了套版后图片占满宽度的 bug —— 现在 HTML 属性 + inline style 双保险);
- 不想某次追加:临时清空
signature 文本即可;或在「📱 预览」编辑区手动删除尾部 <footer class="pa-sig-footer">...</footer>。
6.5 图片占位规范
- 二维码:120×120 px,PNG 透明背景最佳,圆角 8px 自动应用;
- Logo / 头像:48×48 px,自动裁圆,建议 1:1 正方形原图;
- 文件大小:≤ 5MB(COS 单次上传限制)。
说明:签名档每次 AI 排版完成后由扩展注入到 HTML 末尾,不依赖 AI 输出(AI 不知道你的二维码 URL)。这样保证 100% 命中、不会被 prompt 干扰。
注意:v23-r2 #7 之前,套到 mp 后图片可能占满宽度 —— 真根因是 mp ProseMirror schema 不读 inline style 的尺寸。现已加 HTML width/height 属性双保险,新版本下不会再出现。
7 智能排版 / 重写 / 扩写 / 精简 / 标题5 个 AI 任务 · 商用专业级 prompt · AI 续写
本章解决「每个 AI 按钮到底干什么、什么时候用」。适合所有用户。这 5 个按钮在 Compose Tab 顶部一字排开,是本扩展的核心生产力。
7.1 5 个任务总览
| 按钮 | 任务 id | 典型输入 | 典型输出 | 耗时 |
| ✨ 智能排版 | smart | 200-2000 字粗稿 | 语义 HTML(h1/h2/p/blockquote/figure)+ AI 风格 inline style | 15-30s |
| 🔄 重写 | rewrite | 同上 | 同语义 / 不同表达 + 同样排版 | 15-30s |
| 📖 扩写 | expand | 50-200 字 | 200-500 字(补充细节 / 案例 / 佐证) | 8-15s |
| ✂️ 精简 | compress | ≥ 200 字 | 压缩到 50% 长度 | 8-15s |
| 🏷 起标题 | title | 正文(任意长度) | 5 个候选标题(8-15 字 + 风格标签) | 5-10s |
7.2 ✨ 智能排版(smart)
核心任务。AI 接收你的粗稿 + 当前 AI 风格 + 处理范围 → 输出带语义结构 + 内联样式的 HTML。
- 语义结构:自动判断段落是 h1(标题)/ h2(小节标题)/ p(正文)/ blockquote(引用)/ figure+img(图文混排,需开高级布局);
- 内联样式:按 AI 风格的 primary / accent / 字号 / 行距注入
style="...",确保 mp 编辑器不会剥离样式;
- 不重复内容:v23-r17 商用 prompt 起,AI 严格保留原始措辞,只调结构 + 排版,不改变事实信息。
建议:原稿 200-2000 字效果最稳。< 200 字 AI 容易"自由发挥",建议改用「扩写」;> 2000 字会触发 AI 续写机制(见 7.7)。
7.3 🔄 重写(rewrite)
同语义、不同表达。适用场景:
- 觉得原稿不够好,想看 AI 帮你换种说法;
- 智能排版后,对其中某段表达不满意 → 把那段粘到抽屉输入 → 点重写;
- 同一份原稿,重写多次取最优。
7.4 📖 扩写(expand)
50-200 字 → 200-500 字。AI 会补充:
- 具体例子(行业数据 / 知名公司案例 / 历史事件);
- 因果链(为什么 / 如何 / 影响);
- 佐证引用(引用专家观点 / 权威研究)。
7.5 ✂️ 精简(compress)
长稿 → 摘要。压缩到约 50% 长度,保留核心信息 + 关键数字 + 主要结论。适合:
- 把别人的长文压成「精读笔记」转载;
- 把自己的初稿砍掉冗余;
- 为「微信视频号 / 朋友圈」配文。
7.6 🏷 起标题(title)
AI 读取你的正文 → 生成 5 个候选标题,每个:
- 8-15 字(公众号头条最优字数);
- 带评分(吸引力 0-10);
- 带风格标签(如「悬念」/「数字」/「反问」/「金句」/「Listicle」);
- 点任一即复制到剪贴板,可粘到公众号顶部标题栏。
7.7 AI 续写机制(v23-r17)
大模型每次输出有 token 上限(典型 4096-8192 token)。原始稿太长时,AI 会被截断 → 输出末尾出现「未完成」状态。v23-r17 起每个任务自动检测:
- 每轮 streaming end 时检查
finish_reason;
- 若
=== 'length'(被 token 限制截断)→ 自动发起续写请求,prompt 包含「截断前最后 N token + 继续写」;
- 最多续写 5 次(防御无限循环 / 烧 token);
- 用户无感 —— 抽屉里看到的是连贯的完整文章,但底部 token 计数会持续增长。
说明:v23-r17 调研依据为 Min et al. 2022 few-shot 多样性研究 + LangChain / LlamaIndex 多轮 continuation 实践。详见 extension/src/services/continuation.ts。
7.8 商用专业级 prompt(v23-r17)
每个任务的 promptHint 从「单句概括」升级为「5 项结构化指令」:
- 写作节奏:短句 / 长句 / 停顿设计;
- 词汇风格:具体名词 / 行业术语 / 口语 / 中英混排;
- 段落结构:观点-论据-小结 / 故事场景 / 步骤编号;
- 标点偏好:句号多 / 感叹号少 / 引号 / 破折号;
- 禁忌:流行语 / AI 套话 / 行业话术。
业界依据:结构化 prompt 错误率降 76%(promptbuilder.cc/blog/2026)。
提示:5 按钮均为流式生成,进度条 + 中央 loading 提示,可随时点「⏸ 停止」中断。中断后已生成的内容保留可用。
注意:v23-q2 #1 修复 AI 写作 4 按钮「网络异常」真根因(之前是 schema 校验路径错),如果你升级前遇到此错请重新加载扩展。
8 AI 排版风格 · 20 套预设v23-r18 起 8→16→20 · v23-r25/r26 demoSnippet
本章解决「到底选哪个 AI 风格才符合我的公众号品类」。适合所有用户。建议先把 20 套都点开「📱 预览」看一遍 iPhone 真机效果,找到 2-3 个常用的钉住。
AI 风格与模板的区别:
- AI 风格(本章):AI 输出后扩展按风格注入 inline style(颜色 / 字号 / 间距),保留 AI 生成的语义结构。整篇文章用同一套色调和字体规则;
- 模板套版(第 9 章):整篇 HTML 骨架由模板预定义(含 SVG 装饰 / 二维码占位 / Footer),AI 只是填正文。视觉差异更大、装饰更多。
8.1 20 套完整列表
| ID | 名称 | 适用品类 | 主色 | 副色 |
science | 科技 · 极客理性 | 技术评测 / 产品分析 / 工具科普 | 蓝 #1E5AFF | 青 #00D4FF |
finance | 财经 · 金质权威 | 商业分析 / 投资观察 / 财报解读 | 深蓝 #1B3A57 | 金 #C9A961 |
story | 故事 · 暖意叙事 | 人物专访 / 情感散文 / 读书札记 | 木褐 #A86F4F | 橙 #D4A574 |
edu | 教育 · 学院系统 | 知识科普 / 技能教程 / 方法论拆解 | 蓝 #2E7DC4 | 橙 #FFB347 |
life | 生活 · 薄荷樱花 | 美食 / 旅行 / 家居 / 穿搭 | 薄荷 #7BA982 | 樱粉 #F4B6B6 |
minimal | 极简 · 纯白克制 | 品牌发布 / 产品宣言 / 态度文字 | 纯黑 #111111 | 灰 #737373 |
academic | 学术 · 严谨论述 | 论文评论 / 政策解读 / 历史考据 | 深灰 #2F2F3D | 暗红 #8B2C2C |
literary | 文艺 · 棕红书卷 | 书评 / 影评 / 艺术评论 / 文化随笔 | 棕红 #6B3030 | 金 #B8956A |
business | 商业 · 蓝灰理性 | 互联网产品分析 / 创业观察 / 商业评论 | 蓝灰 #2C3E50 | 橙 #E67E22 |
workplace | 职场 · 干货成长 | 职场技能 / 效率工具 / 个人成长 | 紫 #6E40FF | 青 #00E5C7 |
health | 健康 · 薄荷清新 | 健康科普 / 心理 / 养生 / 医美 | 青绿 #0EA5A5 | 翠叶 #5EB87C |
parenting | 育儿 · 暖橙亲子 | 亲子教育 / 母婴 / 家庭关系 | 暖橙 #E97451 | 杏橙 #F5C396 |
fashion | 时尚 · 玫瑰金致 | 穿搭 / 美妆 / 时尚趋势 | 玫瑰金 #B76E79 | 暖橙 #E5A86D |
review | 影评 · 海报黑红 | 影视评论 / 综艺点评 / 艺术批评 | 深黑 #1A1A1A | 信号红 #E94560 |
legal | 法律 · 深蓝严谨 | 法律解读 / 政策评论 / 合规分析 | 深蓝 #0E2A5C | 金 #C9A661 |
news | 资讯 · 新闻日报 | 时事评论 / 热点新闻 / 深度报道 | 墨黑 #1A1A1A | 朱红 #C8232C |
tech-startup | 科技 · 创投独角 | 创业观察 / 风险投资 / 独角兽报道 | 深蓝 #0E2C82 | 亮绿 #00B894 |
culture | 文化 · 人文笔谈 | 文化随笔 / 人物专访 / 思想评论 | 茶绿 #5A7C3F | 棕褐 #7B5E3F |
tutorial | 教程 · 知乎长文 | 技术教程 / 操作指南 / 长篇知识科普 | 蓝 #0066FF | 橙 #FF7B25 |
midnight | 暗夜 · 个性深色 | 科技夜读 / Web3 / 独立观点(深色背景慎用) | 青绿 #00E5C7 | 紫 #6E40FF |
8.2 demoSnippet · 每套独一无二的迷你预览(v23-r25/r26)
v23-r19 起 AI 风格做成右侧抽屉化,v23-r25 起每张卡片左侧加 demoSnippet 迷你预览:
- 每套都有专属的小段排版示例(标题 + 一行正文 + 一个引用 / 列表 / 图文混排);
- v23-r26 升级为杂志级排版:含 25 张 Unsplash 真图,验证图文混排能力;
- 点卡片右下「📱 预览」→ 弹 iPhone 16 Pro 真机预览(详见 第 14 章)。
[截图占位] AI 风格抽屉 + 20 套 demoSnippet 列表
8.3 选择建议(按品类)
| 你的品类 | 首推 | 备选 |
| 技术评测 / 工具测评 | science | tech-startup / tutorial |
| 财经 / 投资 | finance | business |
| 读书 / 书评 / 影评 | literary | review / academic |
| 美食 / 旅行 / 家居 | life | parenting |
| 科普 / 教程 | edu | tutorial / health |
| 个人 IP / 品牌发布 | minimal | culture |
| 职场 / 自我提升 | workplace | business |
| 新闻 / 热点 | news | review |
| 法律 / 政策 | legal | academic |
| 时尚 / 美妆 | fashion | parenting |
8.4 自定义风格
AI 风格抽屉底部「➕ 新建自定义」→ 弹 7 字段表单:
- 名称:你的风格名,如「我的品牌风」;
- 主色 / 副色:颜色选择器;
- 字号:14 / 15 / 16 / 17 / 18 px;
- 行距:1.6 / 1.75 / 1.85 / 2.0;
- 字间距:0 / 0.05em / 0.1em;
- promptHint:5 项结构化指令(参考 7.8)。
编辑后存 chrome.storage.local,仅本机生效(不跨设备同步)。可在抽屉里「✏️ 编辑」/「🗑 删除」。
8.5 公众号阅读体验铁律:白底优先(v23-r18)
v23-r18 起,除 midnight 外 19 套全部统一 #FFFFFF 白底。原因(Comdr 真机反馈):
- 公众号读者期待是白底(默认主题);
- 之前
life=#FAF3E0 黄米底用户看到「黄米底 + 薄荷绿边」,名实不符;
- 色调通过 primary / accent 表达即可,背景不需要带色。
仅 midnight 例外(明确标注「个性深色」#0F172A),仅限特殊场景(科技夜读 / Web3)。
注意:选 midnight 时务必先用「📱 预览」看一眼。深色背景 + 公众号订阅号信息流(白色卡片)对比强烈,未必符合所有读者预期。
提示:v23-r17 起每套风格的 promptHint 都是「5 项结构化指令」(节奏 / 词汇 / 结构 / 标点 / 禁忌),AI 输出会显著贴合该品类调性。
9 模板套版 · 36 套美工级v23-r18 精修 · 4 doocs + 32 native
本章解决「整篇文章从骨架到装饰全部由模板决定,AI 只填正文」的场景。适合需要强视觉冲击 / 品牌一致性 / 节日营销 / 报告类的运营者。
v23 #12 联网调研 3 源交叉验证后,模板库从 22 套扩到 34 套;v23-r18 进一步精修补完 + 加入 2 套 v21 二次补充,目前共 36 套(4 doocs + 32 native)。
9.1 入口与界面
抽屉顶部 Tab 切到「🎨 模板库」→ 顶部搜索框 + 分类 chip + 36 套卡片网格。每张卡片:
- 缩略色块:primary / accent / bg 三色预览;
- 模板名 + 一句话描述;
- 📱 预览:弹 iPhone 16 Pro 真机预览(详见 第 14 章);
- 🎨 套用:把当前抽屉输入 / mp 正文 / 选区按模板填入。
[截图占位] 模板库 Tab 36 套卡片网格
9.2 doocs 系(4 套,WTFPL 开源)
基于 doocs/md 上游 commit c32fbd68,WTFPL 授权开源。
| ID | 名称 | 风格 | 适用 |
doocs-default | 茶褐 · 经典文艺 | display:table h1 + 反白 h2 + border-left h3 + 浅米黄圆角引用 | 品牌发布 / 读书随笔 / 慢生活号 |
doocs-grace | 湖蓝 · 优雅杂志 | h1 阴影 + h2 box-shadow + 圆角图片 + linear-gradient 分隔线 | 高端杂志 / 品牌专栏 / 产品发布 |
doocs-simple | 墨黑 · 极简留白 | 纯黑主色 + 极致留白 | 长文阅读 / 思考随笔 / 独立创作者 |
doocs-base | 骨架 · 基础最小 | 极简灰阶骨架 + 灰色主色 | 快速套版 / 自定义改色基础 |
9.3 Native v20 原版(8 套)
| ID | 名称 | 风格 |
native-cha-brown | 茶褐文艺 · 慢生活 | 茶褐 #A86F4F + 居中 + 字距 2px + h1 上下细线 |
native-magazine-bold | 杂志艺术 · 高端 | 纯黑 + 品牌红 #C1272D + 荧光黄重点 + h2 黑底白字 |
native-imperial-gold | 国风金质 · 时政深度 | 金 #AA8B0B + 宋体 + 双引号引用 + 珊瑚红 h3 |
native-health-mint | 健康清新 · 科普可信 | 紫 #8D74D3 + 浅灰圆角 + 半透紫底 h2 |
native-tech | 科技 · 极客理性 | ▶ 三角前缀 h1 + 5px 左色块 h2 + 蓝下划线 h3 |
native-finance | 金融 · 深蓝权威 | 宋体 + 上下双线 h1 + 金色短条 h2 + 米白引用 |
native-ai | AI · 未来代码 | 黑底 h1 代码标签风 + 紫虚线 h2 + 青绿 h3 + 等宽引用 |
native-minimal | 极简 · 纯净留白 | 超大无装饰 h1 + 2px 灰短条 h2 + italic 无底引用 |
9.4 Native v21 扩充(12 套)
| ID | 名称 | 风格 |
native-corporate | 商务深色 · 咨询简报 | 炭黑 + 金色 #C9A661 + h1 左金条 + 大字距两端对齐 |
native-serif-literary | 衬线文学 · 严肃媒体 | 全宋体 + 朱砂红 #B22234 + h1 上下细线 + 2.0 行高 |
native-magazine-cover | 杂志封面 · 视觉冲击 | h1 极大字 800 字重 + 橘红 #FF4D2E + italic 上下黑线引用 |
native-dark-reader | 夜读深色 · 程序员暗光 | #1A1A1A 黑底 + 浅灰字 + 天青 #4DC8FF(适配 mp 深色反转) |
native-warm-lifestyle | 暖色生活 · 美食母婴 | 鲑鱼粉橘 #FF8C69 + 沙棕 #F4A460 + h1 奶油底圆角 |
native-edu-step | 教育步骤 · 知识付费 | 教育蓝 #007BFF + 警示黄 + h2 圆角蓝底白字 |
native-news-headline | 新闻头条 · 媒体粗体 | 朱红 #C8232C + 警示金黄 + h1 红底白字 |
native-illustration-card | 插画卡片 · ins 萌系 | 藕粉 #D4A5A5 + 薄荷 #A8C3A2 + 全圆角卡片标签 |
native-poetry | 诗歌至上 · 文字本位 | 全居中衬线 + 灰金 #998456 + 2.2 极致行距 |
native-data-visual | 数据可视 · 商业分析 | 深蓝 #0E2C82 + 青 #009DB2 + KPI 卡片感 h1 |
native-rainbow-edu | 童趣彩虹 · K12 校园 | 活力橙 + 蓝绿 + 紫三色循环 + h3 ★ 装饰 |
native-morandi-graceful | 莫兰迪雅致 · 沉静女性 | 雾蓝 #8AA1B1 + 雾粉 #C9A5A4 + 衬线 italic |
9.5 Native v23 新增(12 套,联网调研 3 源交叉验证)
v23 #12 调研依据:docs/research/v23-templates-expansion-2026-05-19.md。
| ID | 名称 | 风格 |
native-cloud-dancer | 浮云白 · Pantone 2026 年度色 | Cloud Dancer #F0EEE9 + 极简留白 + 2.0 行距宽呼吸 |
native-mocha-mousse | 摩卡慕斯 · Pantone 2025 年度色 | 巧克力暖棕 #A47764 + h1 圆角 + 奶咖引用 |
native-aurora-travel | 极光旅行 · 蓝绿渐变 | 深蓝 #1E5F8B + 极光绿 #00B894 + 紫光三色渐变 |
native-glass-frosted | 毛玻璃 · 玻璃拟态 | 科技蓝紫 #6B8AFE + rgba 半透 + 阴影模拟玻璃 |
native-y2k-retro | Y2K 千禧 · 黄紫撞色 | 电光黄 #FFE100 + 电光紫 #8B5CF6 + 3D text-shadow |
native-legal-navy | 法律深蓝 · 律所沉稳 | 藏青 #0E2A5C + 金 #C9A661 + 上下双线宋体 |
native-guofeng-mibi | 国风米米 · 茶道古典 | 米色 #8B6F4E + 朱砂红 #B8392F + 双层框 + 楷宋字族 |
native-hacker-terminal | Hacker 终端 · 极客深夜 | 终端绿 #00FF66 + 炭黑 + 等宽字体 + $ 提示符 h1 |
native-film-poster | 影视海报 · 黑白红冲击 | 信号红 #E50914 + 纯黑 + h1 黑底白字 + 台词感引用 |
native-japan-mag | 日系杂志 · 浅灰留白 | 浅灰 #888888 + 日杂红 #C53D43 + 14px 精致正文 |
native-bold-headline | 粗黑大标 · 大字号极简 | 纯黑 + 信号黄 #FFD600 + h1 黑底黄字 900 字重 |
native-sspai-gray | 灰底衬线 · 少数派学院 | 深灰 #4A5568 + 衬线宋体 + 上下细线居中 |
9.6 套用步骤
1
选模板:点卡片中央 → 详情区出现「📱 预览」+ 「🎨 套用此模板」两按钮。
2
iPhone 预览:点「📱 预览」→ 弹 iPhone 16 Pro 真机预览(详见
第 14 章)。Comdr 强烈建议先看预览再套用。
3
确认正文来源:底部「处理范围」选「抽屉输入 / 全文 / 选区」(详见
第 10 章)。
4
套用:点「🎨 套用此模板」→ 中央 Loading(约 8-15s)→ 自动切到「📱 预览」区。
5
应用到正文:点底部「📤 应用到正文」写回 mp 编辑器(详见
第 11 章)。
9.7 自定义主色
选中任一模板后,预览区上方有主色色板:可临时改 primary 色(不修改模板源),改完即时刷新预览。常用场景:「我喜欢这套模板的骨架,但要把蓝改成我品牌的紫」。
提示:v23-r18 精修后,模板渲染采用白底优先原则(除 doocs-default、native-cha-brown、native-warm-lifestyle 等明确"暖底设计"的模板外),符合公众号阅读体验铁律。
说明:旧短 id(tech / finance / story / edu / life)通过 LEGACY_ID_ALIAS 表自动映射到新 id(tech_geek / finance_pro / warm_story / edu_vivid / lifestyle),老用户的本地选择不会丢失。
10 处理范围与同步开关v23-r29 互斥逻辑反转重写
本章解决「我点 ✨ 智能排版,AI 到底拿哪段文字作为输入」的根本问题。适合所有用户 —— 错选会导致 AI 排错对象。
10.1 3 个处理范围(segmented)
| 选项 | 取值 | 输入源 | 典型场景 |
| 抽屉输入 | paste(默认) | 抽屉「抽屉输入」框里的纯文本 / Markdown / HTML | 从飞书 / Notion 粘进来的原稿;起标题时只贴正文 |
| 全文 | all | 跨上下文代理读 mp 编辑器全文 HTML | 已在 mp 里写好初稿,整篇重排版 |
| 选区 | selection | 仅 mp 编辑器内你高亮选中的那段 | 仅润色某一段,不动其它 |
10.2 「同步原编辑器」开关
处理范围下方独立 toggle。打开后:
- 抽屉输入框双向同步到 mp 编辑器 —— 你在抽屉里粘东西,mp 里也立刻出现;
- 反之,你在 mp 里改,抽屉也会刷新;
- 典型场景:希望抽屉作为"草稿区",但同时也想在 mp 里看到正稿。
注意:v23-r12 起,
同步开关默认关。原因是 mp 长文(> 80KB)打开 sidebar 时同步会触发卡死。如果你的稿子较短(< 50KB)可以放心打开。v23-r14/15 起 chunking + iframe 隔离方案上线(详见
第 17 章),但默认关的策略保留。
10.3 三者互斥逻辑(v23-r29 重写)
v23-r27/r28 之间有一轮「互斥灰化」的反复迭代,最终 v23-r29 修正为下表逻辑:
| 当前选择 | 「同步原编辑器」状态 | 结果 |
| 抽屉输入 | 关 | 正常 · AI 读抽屉框 |
| 抽屉输入 | 开 | 正常 · AI 读抽屉框(同步只影响双向显示,不影响 AI 输入源) |
| 全文 | 关 | 正常 · AI 读 mp 全文 |
| 全文 | 开 | 抽屉输入框被禁用 · AI 读 mp 全文(避免同源 / 重复输入) |
| 选区 | 关 | 正常 · AI 读 mp 选区 |
| 选区 | 开 | 抽屉输入框被禁用 · AI 读 mp 选区 |
具体表现:「抽屉输入框」会出现灰化 + 顶部小字「当前由 mp 编辑器同步,禁止粘贴」。
10.4 何时用哪个?
- 从外部粘原稿(飞书 / Notion / 微信公众号草稿箱)→ 选「抽屉输入」+ 同步关;
- 已在 mp 编辑器里草草打了一稿,希望 AI 整篇重排 → 选「全文」+ 同步关;
- 整篇已基本满意,只想润色其中某段 → 选「选区」+ 同步关 + 在 mp 里高亮那段;
- 边粘边看 mp 实时同步(< 50KB 短文)→ 抽屉输入 + 同步开。
10.5 选区识别细节
mp 编辑器是 iframe ProseMirror,选区通过跨上下文消息桥读取:
- 用户在 mp iframe 内 mousedown + drag 选中文字;
- content script 监听 selection change,把
Selection.toString() + 选区 ProseMirror node 范围发回扩展;
- 抽屉「处理范围」选「选区」时,AI 拿到的就是这段文本(不含周围段落)。
说明:选区为空时会自动 fallback 到「全文」,并在底部 toast 提示「未选中文字,已改为全文」。
提示:v23-r29 修复了 r27/r28 互斥灰化逻辑反了的问题(Comdr 实测反馈)。如果你看到「全文 + 同步开」时抽屉输入框可以编辑,是旧版本 —— 重新加载扩展即恢复。
11 应用到正文 / 插入到光标 / 复制并切 mp 粘贴
AI 排版完成后,3 种方式把内容写回 mp 编辑器。默认走 JSAPI 直写,遇高级布局或失败时自动降级。
11.1 应用到正文(默认主路径)
抽屉底部主按钮「📤 应用到正文」一键写入 mp 编辑器全文。
- 调用 mp 原生
__MP_Editor_JSAPI__.invoke('mp_editor_set_content', html) 接口;
- 保留所有
inline style(颜色 / 字号 / 字体 / 行距);
- 同 doocs/md 主流公众号工具走同一接口,兼容性最佳;
- 成功 toast「✅ 已写入编辑器」,失败自动降级到剪贴板路径并提示。
![待补充] 截图:「应用到正文」点击后 toast 提示
11.2 插入到光标(局部追加)
抽屉底部副按钮「📍 插入到光标」在 mp 编辑器当前光标位置插入排版后内容,不替换其他段落。
说明:使用前请在 mp 编辑器先点击放置光标位置(看到闪烁竖线)。光标未定位时会落到正文末尾。
11.3 复制并切 mp 粘贴(剪贴板路径)
启用「高级布局」(第 12 章)后,主按钮文字变为「📋 复制并切 mp 粘贴(高级布局)」。
1
点击按钮 → 抽屉自动把排版后 HTML(含 figure / flex / 滚动容器)写入剪贴板(text/html + text/plain 双格式);
2
切到 mp 编辑器标签页,把光标放到正文区任意位置;
3
按 Ctrl+V(Mac: ⌘+V)粘贴,mp 自动识别富文本并保留所有 style。
为什么需要剪贴板路径:mp 的 JSAPI 写入接口会过滤一部分高级布局(display:flex / 横向滚动 / 复杂嵌套 figure),剪贴板路径走 mp 原生粘贴解析器,能完整保留。
11.4 失败降级链路
- JSAPI 写入失败(mp 编辑器未就绪 / JSAPI 未注入)→ 自动 fallback 到剪贴板;
- 剪贴板也失败(浏览器拒绝权限)→ toast 提示「请手动复制下方框内文本」+ 展示纯文本框;
- 用户可重新触发主按钮,扩展会重试整条链路。
提示:v23-r11 加了 callProxy 6s 超时兜底,再也不会出现「点了应用后无响应卡死」的情况。
12 高级布局(图文混排 / 滚动容器)
「更多配置」区下的可选开关。开启后 AI 排版会自动生成 figure 图文卡 / 左图右文 / 长引文滚动容器,写回 mp 走剪贴板路径完整保留高级样式。
12.1 启用条件
- 抽屉「更多配置」展开 → 勾选「启用高级布局」(v23-r27 起 默认勾选);
- 主按钮文案自动变成「📋 复制并切 mp 粘贴(高级布局)」;
- 持久化到
chrome.storage.local,下次打开 sidebar 保留偏好。
12.2 自动生成的高级元素
- figure 图文卡:img + figcaption,标题灰色小字居中,自动 16px padding;
- 左图右文 / 右图左文:
display:flex; gap:16px,移动端 ≤ 480px 自动垂直堆叠;
- 横向滚动卡片:长 ≥ 120 字的
blockquote 自动加 overflow-x:auto(公众号 H5 阅读特色);
- 抽屉内并排图:
pa-image-row 容器,单行 2-3 张图等宽分布。
![待补充] 截图:高级布局开启前后 AI 输出对比
12.3 与「应用到正文」的对比
| 维度 | JSAPI 直写(默认) | 剪贴板路径(高级布局) |
| 用户操作 | 1 步:点按钮 | 2 步:点按钮 + 切 mp 按 ⌘V |
| 保留 inline style | ✅ 100% | ✅ 100% |
| 保留 figure / flex | ❌ mp JSAPI 过滤 | ✅ 完整 |
| 保留滚动容器 | ❌ | ✅ |
| 速度 | 瞬时 | ~1s(剪贴板写入) |
什么时候关掉:如果你的公众号粉丝以 PC 阅读为主(高级布局可能在 PC 上稍显花哨),或文章本身是「纯文本」类型(散文 / 评论 / 新闻),可关闭高级布局走 JSAPI 直写,一键完成。
13 AI 排版后自动 COS 上传图片(v23-r27)
AI 排版完成后,自动把外链图(mmbiz 防盗链图 / Unsplash 配图 / 用户原图)上传到你的腾讯云 COS,替换 src 为 COS URL。解决 mmbiz 防盗链失效 + 长图导出图片丢失 + 长期 CDN 稳定三大问题。
13.1 工作流
AI 排版完成
↓
扫 HTML 中所有 <img> 标签
↓ 跳过 data: / blob: / chrome-extension: / 已经是 myqcloud.com
SW fetch (Referer: https://mp.weixin.qq.com/, credentials: omit)
↓ 绕过 mmbiz / 各平台防盗链
blob → uploadToCos(SecretId + SecretKey + Bucket + Region)
↓ 拿到 https COS URL
img.setAttribute('src', cosUrl) ← 替换
↓
最终 HTML 写入 mp 编辑器
13.2 启用条件
- 已配置腾讯云 COS(第 5 章 4 项凭据);
- 抽屉「更多配置」→ 「✓ AI 排版后自动上传图片到 COS」勾选(默认勾选);
- 未配置 COS 时 checkbox 自动 disabled + 灰底 + tooltip 引导到选项页。
![待补充] 截图:未配置 COS 时 checkbox 灰化
13.3 进度反馈
AI 排版完成后,扫到外链图时 sidebar 显示「上传中 done/total」实时进度条。完成后底部 toast 提示「图片已自动上传到 COS:N 张成功 / M 张跳过 / X 张失败」。
13.4 跳过规则
data:image/...;base64,...(已是同源);
blob: / chrome-extension:// / file://(本地资源);
https://*.myqcloud.com/...(已是 COS URL,避免循环);
- 大小超过 20 MB 的远程图(避免长尾卡顿)。
13.5 失败回退
单张图失败(防盗链 403 / 超时 15s / SW fetch BLOCKED_BY_CHROME / COS SecretId 错误)不影响整体:
- 该 img 保留原 src 不动;
errors 计数 +1,errorMessages 保留前 20 条;
- 其他图继续上传,整体 HTML 仍写入 mp 编辑器。
调试技巧:打开 SW DevTools(chrome://extensions → 「Service Worker」点 inspect),看 console 「[sw v23-r30 COS_UPLOAD_FROM_URL] HTTP xxx」全链路日志,能定位每张图失败的具体 HTTP 状态码。
13.6 何时关闭
- 没配 COS:自动 disabled,不用管;
- 测试小稿:想跑得快可临时关闭,AI 排版后图片仍是 mmbiz / Unsplash 外链(预览能看,长图导出靠 v23-r2 SW fetch base64 兜底);
- COS 流量敏感:临时关掉,仅在最终发布前打开做一次上传。
注意:COS 流量按 GB 计费(约 0.5 元/GB)。一篇文章 5 张图(平均 200KB)= 1MB 上传 + 100MB 阅读流量 ≈ 0.05 元,可忽略。如果文章爆款(100 万 PV)可能产生几十元流量费,请关注腾讯云控制台账单。
14 iPhone 16 Pro 真机预览(v23-r20+r24)
所见即所发:在排版风格 / 模板卡上点「📱 预览」→ 弹出 iPhone 16 Pro 玫瑰金真机模拟器,渲染该风格的杂志级 demo 内容,让你在应用前看到「公众号读者实际看到的样子」。
14.1 视觉设计
- iPhone 16 Pro 玫瑰金边框:155deg 三段渐变 #F4D6D7 → #E8B4B8 → #C9A0A0,4 层 box-shadow(外环高光 + 内陷玫瑰高光 + 内陷暖阴影 + 桌面双层投影);
- 尺寸:280×606 屏 + 12px 边框 padding(19.5:9 比例,与真机一致);
- Dynamic Island:96×27 居中顶部 17px,纯黑(屏幕一部分);
- Home Indicator:底部 16px 处 108×4 横条,
rgba(0,0,0,0.65) 与玫瑰金底协调;
- 屏幕:白底 + 32px 圆角,
iframe srcdoc 隔离渲染。
![待补充] 截图:iPhone 16 Pro 玫瑰金预览
14.2 字号阶梯(公众号 iOS 阅读规范)
iframe 内 :where() 选择器把所有未指定字号的元素降到 0 specificity 基线,模板/AI 风格 inline style 仍能覆盖:
h1 22px / h2 19px / h3 17px / p 16px / blockquote 14px / small 12px;
zoom: 0.72 等比缩内容(模拟 iPhone 真机视觉密度);
- line-height 1.7(web.dev《Mobile readability》base ≥ 16 + lh 1.5-1.75 黄金区间);
- letter-spacing 标题 -0.018em(紧凑),正文 0(默认)。
14.3 两种触发方式
从模板抽屉
模板卡 hover 出现「📱 预览」按钮 → iPhone modal 渲染该模板的 mock 文本(含 H1 + 段 + figure + blockquote + 列表)。
从 AI 风格抽屉
AI 风格卡的 📱 按钮 → iPhone modal 渲染该风格的 定制 demoSnippet(v23-r25/r26,每套独一无二的杂志级图文)。
14.4 v23-r24 Portal 修复
真根因:AI 风格抽屉用 createPortal 渲染到 document.body 末尾,iPhone modal 之前在 sidebar React 树内 → DOM 顺序在 Portal 之前 → 被 AI 抽屉 overlay 遮挡。
修复:iPhone modal 也改用 createPortal + z-index 10001 > AI 抽屉 9999,永远在最顶层。
14.5 应用按钮
iPhone modal 底部「✨ 应用此风格 / 应用此模板」按钮一键关闭 modal + 切回 Compose Tab + 自动选中该风格 ID。
15 📸 长图导出
把整篇排版好的文章导出为一张 PNG / JPG 长图,用于分享朋友圈 / 微博 / 小红书 / 群聊。基于 html2canvas + 分段拼接防 OOM + SW 远程图预处理。
15.1 触发方式
- 抽屉「📸 生成长图」按钮(智能排版完成后可见);
- 点击后底部进度条「正在渲染…N%」,3-10 秒(视长度);
- 完成后下载弹窗 + 预览。
![待补充] 截图:长图导出进度条 + 下载弹窗
15.2 防 OOM 分段拼接(v14)
长文章一次性 html2canvas 渲染会爆内存(> 8000px 高度)。本扩展用分段策略:
- 单段 ≤ 1500px 高度,避免单 canvas 过大;
- 每段独立 html2canvas → 拿到 canvas A / B / C ...;
- 新建最终 canvas,
drawImage 把 A / B / C ... 串联竖直拼接;
- 最终 canvas
toDataURL('image/png') 输出。
15.3 远程图预处理(v23-r2 #3 / r16)
真根因:mp 图床(mmbiz.qpic.cn)不返 ACAO header + 校验 Referer 防盗链 双重坑。直接 html2canvas 会让 canvas 标 tainted(污染),toDataURL 抛 SecurityError。
修复链路(每个 https img 都走):
- html2canvas 之前,扫容器内所有
<img>;
- 把外链 src 发给 SW(
FETCH_IMAGE_AS_BASE64 handler);
- SW fetch(Referer: mp.weixin.qq.com / credentials: omit / 10s 超时)→ ArrayBuffer → base64;
- 替换
<img src> 为 data:image/...;base64,...(同源资源,html2canvas 完美渲染);
- 失败 retry 3 次(指数退避 100/300/900ms),还失败用占位 SVG。
15.4 manifest host_permissions(v23-r16 真根因)
SW fetch 不仅要正确发请求,还需要 manifest 声明权限。本扩展 host_permissions 已包含:
https://mmbiz.qpic.cn/*
https://*.qpic.cn/*(mp 图床所有子域)
https://*.qlogo.cn/*(mp 头像 CDN)
https://images.unsplash.com/*(AI 风格 demo 图源)
15.5 暗色 / 浅色背景切换
导出前可切换:
- 白底:适合微信群 / 公众号截图分享;
- 暗底(夜读):
#1c1c1e,配合 AI 风格 midnight 个性深色。
15.6 配 COS 上传更稳
v23-r27 「AI 排版后自动 COS 上传」开启时,导出长图就更稳:
- 所有图已是 COS URL(CDN 直读,无防盗链);
- SW 也走 base64 路径,但已是同源 COS 直链,几乎零失败;
- 长图导出耗时下降 30-50%。
提示:分享卡片(带二维码 + Logo + 标题摘要的精致小图)是另一个独立功能,详见第 16 章。
16 多平台分发(一稿多发)
排好的稿不仅限于公众号。本扩展支持一键导出适配 知乎 / 头条 / 简书 / 飞书 / 微博 / 小红书 等主流平台的格式。
16.1 平台 picker 入口
抽屉底部「📤 多平台分发」按钮(高级模式)→ 弹平台选择 modal。
![待补充] 截图:平台 picker modal
16.2 各平台适配规则
| 平台 | 格式 | 规则 | 导出方式 |
| 公众号 | HTML | 保留 inline style,剪贴板 / JSAPI | 第 11 章 |
| 知乎 | Markdown | 转 MD,保留代码块 / 表格 / 引用 | 「复制 MD 到知乎」 |
| 头条 | HTML | 剥离公众号 section 容器,扁平 p | 剪贴板 + 提示 |
| 简书 | Markdown | 同知乎 | 「复制 MD 到简书」 |
| 飞书 | HTML / MD | 飞书富文本兼容 HTML,但带 figure 走 MD | 剪贴板 + 提示 |
| 微博 | 纯文本 + 长图 | ≤ 2000 字纯文本,超过自动转长图 | 「复制纯文本 + 下载长图」 |
| 小红书 | 长图 + 文案 | 转长图(适配 1242×1660 9:12 比例) | 「下载长图 + 复制文案」 |
说明:多平台分发是非常重的功能(每个平台都要做格式适配 + 平台规则学习),目前以 剪贴板 + 用户切窗口粘贴 为主,未来计划集成各平台 OpenAPI 自动发文(需用户独立授权)。
17 长文卡死防护(v23-r14/r15/r31/r32)
从 mp 编辑器同步过来的长文(≥ 50KB),或粘贴正文区粘贴的复杂网页(≥ 50KB),可能导致 sidebar 卡死。本扩展用 4 层防护 解决:state 全量保留 + chunking + content-visibility:auto + iframe modal 隔离。
17.1 真根因(v23-r14)
旧实现:editorLiveHtml / pastedPreview 状态变化时,整篇 HTML 通过 dangerouslySetInnerHTML 一次性进 React tree → 浏览器 layout / paint 风暴。200KB HTML 引发 3-10 秒主线程阻塞 → sidebar 看起来「卡死」。
17.2 修复策略(4 层)
| 层 | 策略 | 生效条件 |
| 1 | state 全量保留(不截断) | 所有长度,保 AI / 复制 / 套版用全量内容 |
| 2 | debounce 500ms(v23-r32) | 所有长度,用户每键不触发 expensive 计算 |
| 3 | chunking + content-visibility:auto | 30 KB ~ 150 KB,按顶层块切 chunk(4 节点 / chunk),浏览器原生跳过离屏 layout |
| 4 | iframe modal 隔离 | ≥ 150 KB,折叠为「在隔离窗口查看」按钮,iframe srcdoc 不进 React tree |
17.3 v23-r32 进一步优化
r31 之上深度排查发现 5 个真瓶颈,每键 50-200ms → 瞬时:
detect useMemo 改用 pastedDebounced(不再每键扫描);
detectFormat 内只扫前 8000 字(HTML/SVG/MD 标记都在文首);
readability 改用 debounced + >100KB 跳过分析;
rawToHtml ≥150KB 直接返回空(UI 走 iframe modal);
PREVIEW_DEBOUNCE_MS 300 → 500ms。
17.4 content-visibility:auto 业界依据
Baseline 2025-09 全支持(Chrome/Edge 85+ / FF 125+ / Safari 18+)。
web.dev 实测旅游博客 232ms → 30ms(7.7x 提速);
DebugBear 200 篇博客 / 15k 词测试 40% 渲染时间降幅;
声明式 / 保留 a11y / 保留滚动锚定。
17.5 iframe 隔离窗口
- 触发:内容 ≥ 150KB 时预览区显示「📄 超长内容 X KB · Y 字」+ 「在隔离窗口查看」按钮;
- 点击 → 90vw × 85vh modal,
iframe srcdoc 渲染全量 HTML;
- iframe 是独立 document,主 React tree 完全不参与 layout,无论多大都不卡死;
- v23-r32:iframe 内 lazy 算一次 HTML,不走 purify(sandbox 已隔离)省 200ms+。
提示:「卡死防护」只解决「主线程不卡」,不解决「iframe 加载慢」。150KB+ HTML 在 iframe 内仍需 0.5-2 秒解析渲染,请耐心等待。
18 常见问题与故障排查(FAQ)
Q1:扩展图标灰色,点不开 sidebar
原因:当前不在 mp.weixin.qq.com 编辑页。本扩展只在 /cgi-bin/appmsg?action=edit 路径下激活。请先进入「图文消息」编辑器。
Q2:智能排版按钮全灰,提示「请先配置 API Key」
解决:选项页(Options)填写至少一个厂商的 API Key(推荐 DeepSeek)。详见第 4 章。
Q3:AI 排版后没图片 / 图片显示破图 / 图片是占位灰块
原因:mmbiz 防盗链 或 Unsplash 网络问题。解决:
- 配 COS(第 5 章)+ 开「自动上传到 COS」(第 13 章);
- SW DevTools 看
[sw v23-r30 COS_UPLOAD_FROM_URL] 日志定位失败原因;
- 若是 HTTP 403:mmbiz 防盗链生效,COS 上传可绕过;
- 若是 BLOCKED_BY_CHROME:manifest host_permissions 缺该域(已含主流,新增请提 issue)。
Q4:粘贴大段内容时 sidebar 卡死 / 输入很慢
已修复(v23-r14/15/31/32)。请确认扩展是最新版本:chrome://extensions → 「公号编辑器·熊少」→ 详情 → 版本号 ≥ v23.r32。
Q5:「全文」「仅选区」按钮灰化划掉点不动
设计如此(v23-r29 互斥逻辑):
- 勾选「同步原编辑器」→ scope 锁定「全文」,抽屉输入 / 仅选区灰化;
- 未勾选 → 抽屉输入 / 仅选区可用,「全文」灰化(因没同步拿不到 mp 全文)。
详见第 10 章 处理范围与同步开关。
Q6:长图导出后图片全是灰色占位
原因:旧版本 manifest 缺 mmbiz 权限。已在 v23-r16 修复。请更新到最新版本。
Q7:iPhone 预览只显示半屏 / 被 AI 抽屉遮挡
已修复(v23-r24):iPhone modal 改用 React Portal + z-index 10001。请更新版本。
Q8:AI 续写半截就停了,没接上
v23-r17 加了续写机制(finish_reason=length 自动接龙最多 5 次)。如仍停顿请:
- 检查厂商对应 model 的最大输出 token 是否够大(DeepSeek V3 推荐 8K / Claude 4K);
- 降低输入长度(< 4000 字最佳);
- SW DevTools 看「[sw continuation] round=N」日志确认是否触发续写。
Q9:用了「应用到正文」后内容没出现在 mp 编辑器
排查:
- SW DevTools console 看 「[sidebar] mp_editor_set_content」日志;
- 看 mp 标签页 console 看 「[main-world JSAPI]」日志;
- 常见原因:mp 编辑器未完全加载 / 切换到其他 tab 时 JSAPI 失效 / mp 编辑器灰背景显示「点这里写正文」未触发 contenteditable;
- 降级方案:开「高级布局」走剪贴板路径(第 12 章)。
Q10:BYOK Key 提示「无效」
各厂商 Key 格式不同,确认:
- DeepSeek:以
sk- 开头,长度 ≥ 48;
- Anthropic:以
sk-ant- 开头,长度 ≥ 80;
- OpenAI:以
sk- 开头,长度 ≥ 50;
- 填完点「测试连接」按钮验证。
Q11:COS 测试连接失败「校验失败 401」
SecretId / SecretKey 配错或权限不足。检查腾讯云 IAM 给该 Key 配了「cos:PutObject」权限到目标 Bucket。
Q12:COS 上传成功但 URL 无法访问
Bucket 权限设错(默认私有)。腾讯云 COS 控制台 → Bucket → 权限 → 「公有读私有写」即可。
Q13:扩展更新后状态丢了 / 设置回到默认
本扩展把所有用户偏好持久化到 chrome.storage(local + sync 双轨)。如真丢失:
- 用 Chrome 主登录账号同步(自动跨设备);
- Chrome 扩展更新通常保留 storage(除非主版本号跳跃且 onInstalled 触发数据迁移失败);
- 请提 issue 附 SW console 错误日志。
Q14:能否离线使用?
套版(v20 themes / templates-25)走本地纯渲染,离线可用。智能排版 / 重写 / 续写 需联网调 AI API,必须联网。
Q15:扩展会上传我的稿件到 Anthropic / 你的服务器吗?
不会。BYOK 模式下,你的稿件直接发送到 你选定的厂商 API(如 DeepSeek),扩展自己没有服务器。详见第 19 章 隐私。
Q16:能否多账号切换?
Chrome 多账户即可。每个 Chrome user 独立的 storage,互不影响。
Q17:能否自定义模板?
当前 36 套模板内置不可改,可在「AI 风格」里点「新建风格」自定义主色 / 字号 / promptHint(详见第 8 章)。完整模板编辑器在 Roadmap。
Q18:iPhone modal 显示空白
iframe 加载延迟(150KB 长 demo 时较明显)。等 0.5-2 秒。或缩短输入长度。
Q19:长图导出超时
原因:图片多 + mmbiz 防盗链慢。解决:
- 配 COS + 开自动上传(图变同源 CDN,速度 +50%);
- SW 单图 10s 超时,超时图用占位灰块继续渲染长图;
- 若仍频繁超时,看 SW DevTools 定位哪几张图慢。
Q20:ribbon 注入按钮没出现在 mp 工具栏
v23-r30 修了 log 格式。如确实没注入,可能 mp 工具栏 DOM 变了。临时方案:用浏览器工具栏的扩展图标打开 sidebar。
19 隐私与数据安全
核心承诺:扩展本身零服务器,不收集任何用户数据。所有 API Key 仅本地存储,所有稿件仅在你设备 ↔ 你选的厂商 API 之间传输。
19.1 数据流向
用户稿件(mp 编辑器 / 抽屉粘贴)
↓ 本地 sidebar
↓
直连 DeepSeek / Anthropic / OpenAI / Qwen / GLM / Kimi / 自定义 API
↓
AI 输出 HTML
↓ 本地 sidebar
↓
(可选)COS 上传:用户的腾讯云 Bucket
↓
写回 mp 编辑器 / 长图导出 / 多平台分发
扩展开发者无任何中转服务器。
19.2 API Key 加密
- 所有 BYOK Key 用 AES-GCM-256 加密落
chrome.storage.local;
- 加密 key 用 Chrome 扩展 ID + 设备随机 salt 派生(SubtleCrypto PBKDF2);
- 即使别人拷贝你的
chrome.storage 文件,没有你设备的 salt 也解不开;
- 选项页显示「Key 已配置(masked)」,明文不外露。
19.3 COS 凭据保护
SecretId / SecretKey 同样 AES-GCM 加密。仅 SW 上下文持有解密结果,panel 上下文(sidebar / options)拿不到 SecretKey 明文。所有 COS 调用走 SW 代理(COS_UPLOAD_DATAURL / COS_UPLOAD_FROM_URL message)。
19.4 storage 持久化范围
| 数据 | 存储 | 跨设备同步 |
| BYOK Key(加密) | local | 否(敏感数据) |
| COS 凭据(加密) | local | 否 |
| 同步开关 / 模型选择 | sync | 是 |
| scope / 高级布局 / COS 开关 | local | 否(用户偏好独立) |
| 自定义 AI 风格 | local | 否 |
| 历史排版稿(< 50 条) | local | 否 |
19.5 不收集的数据
- 稿件内容(不上传到扩展开发者);
- 用户操作日志(不发遥测);
- Chrome 用户身份(不读 chrome.identity);
- 剪贴板(仅在用户主动「复制」时写入,从不主动读)。
19.6 厂商责任声明
稿件发到 DeepSeek / Anthropic 等厂商后,受该厂商隐私政策约束。详见各家官方文档:
合规提醒:商业敏感稿件(财报草稿 / 未发布产品 / 用户隐私数据)建议不要用云端 AI 处理。可以走本地套版(v20 themes / templates-25 纯本地渲染,无任何网络请求)。
20 v23 更新日志(r1 → r32)
本扩展从 v23-r1(2026-05-17)至 v23-r32(2026-05-21)共 32 轮迭代。下表为关键里程碑。
| 版本 | 日期 | 关键更新 |
| r10A/B | 05-19 | BYOK + mp 交互链路 bug 猎杀(修 12 个真 bug) |
| r11 | 05-19 | getContent 读取卡死真根因(callProxy 全链路超时兜底) |
| r13 | 05-19 | 长图导出 mmbiz CORS 真根因(fetch 改 content-script) |
| r14 | 05-19 | mp 长文卡死真根因(UI 折叠 + iframe 隔离 · state 保全量) |
| r15 | 05-19 | 长文渲染最优解(联网调研 26 URL · chunking + content-visibility:auto · 7.7x 提速) |
| r16 | 05-20 | AI 风格 8→16 套 + 长图导出 mmbiz CORS 终极修(manifest 加 host_permissions) |
| r17 | 05-20 | AI 续写机制(finish_reason=length 自动接龙)+ 所有 prompt 升级商用专业级(763→2300+ 行) |
| r18 | 05-20 | AI 风格 16→20 + 全白底 / 模板库 36 套美工级精修 |
| r19 | 05-20 | iPhone 预览美化 + AI 风格抽屉化(含 📱 预览) |
| r20 | 05-20 | iPhone 16 Pro 玫瑰金 + 图文示例 + 全局 UI 精修 |
| r21 | 05-20 | AI 风格抽屉显示一半真根因(React Portal 渲染到 document.body) |
| r22/r23 | 05-20 | 全局 UI 精修返工 + 按钮对齐 + 全分区 token 化 |
| r24 | 05-20 | 三件套:AI 抽屉全屏 + iPhone 预览不再被遮挡 + 按钮真同高 |
| r25 | 05-20 | 每套 AI 风格独一无二预览(demoSnippet + 卡片迷你块) |
| r26 | 05-20 | 20 套 AI 风格图文混排升级(25 张 Unsplash + 杂志级排版) |
| r27 | 05-20 | AI 排版 COS 自动上传 + UI 5 项交互修正 |
| r28/r29 | 05-20 | 处理范围互斥灰化三重保险 + 反转重写 |
| r30 | 05-20 | COS 自动上传防盗链真根因(Referer + credentials + 超时 + 诊断日志) |
| r31 | 05-20 | 粘贴正文复杂内容卡死复用 r14+r15 方案 |
| r32 | 05-21 | 粘贴正文卡顿 5 项真根因优化(每键 50-200ms → 瞬时) |
20.1 下一步 Roadmap(v24 计划)
- WASM 关键算法保护(防逆向第二层);
- 自定义模板编辑器(用户自己设计 36 套之外的模板);
- 多平台 OpenAPI 集成(一键发文到知乎 / 头条 / 简书);
- AI 模型自动选择(智能切换最便宜的可用厂商);
- 历史稿件全文搜索(基于嵌入向量)。
持续迭代:本扩展由香草 🌿 团队按用户反馈快速迭代(平均 1-2 天 / r)。欢迎到 GitHub 仓库提 issue / PR。