pupu 🐙

多平台内容发布扩展 + 本地 Agent 桌面工作台。一次编辑,减少重复操作。

Chrome MV3 扩展 当前版本 0.3.0 最新发布 — MIT 许可

桌面 Agent · 小红书图文实验版

独立桌面工作台,不需要加载浏览器扩展。写内容、加图片、登录并确认账号,确认一次任务后由 Agent 自动上传、填写、检查和提交。

不用理解“候选字段”,直接发布任务

主界面提供内容编辑、平台登录和「让 Agent 自动发布」。模型配置和不联网发布的本地演示位于高级设置。

本机 Ollama / Qwen3 4B 负责标题字段判断,受控工具执行操作;收到平台明确成功提示后才显示发布成功。登录、验证码、定位歧义或结果未知时暂停,提交不会自动重试。

Linux 已实测真实小红书图文入口、图片上传、标题正文回读及正常导航;未执行真实发布,最终提交与回执仍未验收。不是全平台桌面迁移版,也不是手机 App。

从 Release 下载 pupu-desktop-v0.3.0-linux-x64.tar.gz,解压完整目录后运行 pupu-linux-x64/pupu。首次需单独安装 Ollama 并下载约 2.5 GB 的 Qwen3 4B;归档不包含模型。

桌面安装与使用指南 · v0.3.0 更新说明

源码启动:pnpm desktop:dev;本地模型验收:pnpm desktop:verify;打包:pnpm desktop:package。

✨ 特性

针对「一次编辑、多平台分发」的场景设计,尽量把重复的复制粘贴收敛成一次操作。

🧭

极简布局

动态 / 视频 / 文章三个发布 Tab 加关于页;发布时通过侧边栏选择平台并确认。

🚀

自动 / 手动发布

底部开关一键切换:自动发布会在填充后直接发布,手动发布只填充内容,由你自己确认。

🖼️

动态

只填内容即可;支持添加图片、导入 PPT / PDF(自动逐页转图片随动态发布)。

内容工具栏提供 # 话题(支持选中文字一键包裹为 #话题#)与 emoji 分类面板(9 类,含颜文字),输入框内话题实时高亮预览。

🎬

视频

上传视频并发布到支持视频的平台。

📝

文章

导入本地 Markdown 并可视化编辑 / 预览渲染,图片随正文一起发布。

📌

平台分组

动态 / 视频 / 文章各自的首选平台单独列出,其余平台归入「其它」,不用在几十个平台里逐个找。

🗂️

侧边栏联动

侧边栏显示当前编辑类型的平台列表,切换 Tab 实时跟随;切到「关于」页时自动关闭侧边栏。

🧠

平台细节适配

例如发布到小红书时自动将 #话题# 转为小红书格式 #话题[话题]#;标题超过 20 字自动跳过标题。

🧑‍🎨

账户头像(12 生肖)

顶栏账户头像按当前月份显示 12 生肖,悬停同时显示生肖与星座;点击头像一键展开侧边栏,可刷新账号 / 清空账号缓存。

🔄

刷新账号

仅点击「刷新账号」才真正抓取各平台账号,打开侧边栏秒开;已登录平台排最前,常用平台其次。

🌗

暗 / 亮主题

默认暗色主题,顶栏一键切换浅色 / 暗色。

💨

轻量弹窗

提示 / 确认 / 配置弹窗均为纯 CSS 轻量弹窗,不依赖重型动画库,弹出跟手流畅。

🌐 支持平台

按发布类型分组,每组标出的平台是该类型下默认列在首位的「首选平台」。

🖼️ 动态

微博 小红书 知乎 X 脸书

🎬 视频

抖音 快手 微信视频号 bilibili 微博 小红书 Youtube

📝 文章

微信公众号 知乎 CSDN 51CTO

➕ 其它平台(部分)

掘金 简书 思否 少数派 豆瓣 雪球 即刻 今日头条 百家号 网易号 搜狐号 企鹅号 大鱼号 一点号 东方财富 得物 小黑盒 脉脉 知识星球 阿里云 腾讯云 WordPress Medium Instagram TikTok LinkedIn Reddit Pinterest Threads BlueSky V2EX Webhook
各平台图标内置本地、离线可用,国内平台按流量池排序置前。没有你需要的平台?欢迎到 GitHub Issues 提交反馈。

🚀 安装

下载 .zip 解压后「加载已解压的扩展程序」即可。Edge 与 Chrome 同为 Chromium,共用同一份文件。

  1. 下载并解压

    到 Releases 下载 pupu-v<version>.zip 并解压到任意目录(目录中应能看到 manifest.json)。

  2. 打开扩展管理页并开启开发者模式

    Chrome 输入 chrome://extensions,Edge 输入 edge://extensions,打开右上角「开发者模式」。

  3. 加载已解压的扩展程序

    点击「加载已解压的扩展程序」,选择解压出的目录即可。

为什么没有 .crx? 自签名 CRX 无法通过拖拽或普通安装流程安装: Chromium 会校验 CRX 内的 proof 是否由 Chrome 应用商店的私钥签名,否则报 CRX_REQUIRED_PROOF_MISSING。这与怎么打包无关,加 manifest 的 key 字段或 update_url 都不解决;唯一可用的 CRX 路径是机器级强制企业策略 (ExtensionInstallAllowlist + ExtensionInstallSources)。
扩展 ID 为 nffpajdealkjpdmjjboneelajanbboig(由签名密钥决定,各版本固定不变)。 安装需开启「开发者模式」,这是不经过应用商店安装的浏览器限制,与扩展本身无关;想彻底摆脱它,唯一途径是上架 Chrome Web Store / Edge 加载项商店。 Safari 暂不支持:Safari 扩展必须由 Xcode 打包成 App 分发,且本扩展依赖的 sidePanel / tabGroups 在 Safari 上并不存在。
也可以直接从源码构建:pnpm install && pnpm build,产物在 build/chrome-mv3-prod/ (本地构建不出 zip / crx,打包由 CI 完成;需要本地打包时用 pnpm build:ci)。

⏸️ 暂时屏蔽的功能

以下功能由于效果 / 稳定性暂不理想,已从界面中暂时屏蔽(相关代码与依赖保留,便于后续恢复)。

🎬 动态发视频

动态 Tab 的「添加视频」入口已屏蔽(动态视频发布流程尚不稳定),仅保留图片。

📄 Word/WPS 导入

动态导入 Word/WPS 转图片功能已屏蔽(渲染效果不佳),PPT / PDF 导入保留。

😆 在线表情包(GIF)

在线 GIF 表情包搜索 / 插入已屏蔽(在线源稳定性不足),emoji 面板与颜文字保留。

🔗 插入链接

动态内容工具栏的「插入链接」已屏蔽,# 话题与 emoji 保留。

🧱 技术栈

基于 Plasmo 的 Chrome MV3 扩展,React 18 + TypeScript 开发。

扩展框架 Plasmo(Chrome MV3)
界面 React 18、TypeScript、Tailwind CSS、HeroUI、lucide-react
Markdown marked(HTML 渲染)、turndown(HTML 转 Markdown)
文件导入 pptx-preview(PPT 逐页转图)、pdfjs-dist(PDF 逐页渲染转图)
截图与预览 html-to-image、html2canvas、react-viewer
工程化 pnpm、Biome(检查 / 格式化)、husky + lint-staged、commitlint