Skip to content

About

AI 自动化自媒体写作与一键发布插件+系统

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

WritePilot

AI 自动化自媒体写作与一键发布 Chrome 插件

一站式内容生产闭环:热点发现 → 内容抓取 → AI 生成 → 一键发布

环境要求

环境 版本要求 说明
Node.js ≥ 18.x 推荐 20.x LTS
npm/pnpm ≥ 9.x pnpm 更快更省空间
Chrome ≥ 100 支持 MV3 扩展
Docker ≥ 20.x 可选,用于容器部署

功能

  • 热点聚合:知乎热榜、微博热搜、头条热榜一站式查看
  • 内容提取:一键提取知乎、微博、头条、小红书文章内容
  • AI 生成:三种模式(改写润色/深度重构/融合创作)
  • 平台适配:小红书 emoji 风格、公众号长文、知乎问答体
  • 一键发布:自动填充到小红书、公众号、知乎发布页
  • 管理后台:Web 界面管理文章、设置、发布记录

项目结构

writepilot/
├── server/           # NestJS 后台服务
│   ├── src/          # 源码(modules: article/ai/publish/settings)
│   ├── prisma/       # 数据库模型(Article, Settings, PublishRecord)
│   └── data/         # SQLite 数据库
├── extension/        # Chrome 插件(Plasmo MV3)
│   ├── src/          # 源码(popup/sidepanel/background/content-scripts)
│   │   ├── contents/ # 内容提取器 + 发布填充脚本
│   │   └── popup/    # 插件弹窗 UI
│   └── build/        # 构建产物
├── admin/            # Web 管理后台(Vite + React + Antd)
│   ├── src/          # 源码(api/pages/layouts)
│   └── index.html    # 入口
├── data/             # 数据存储目录
└── docker-compose.yml

系统架构

┌──────────────────────────────────────────────────────────────────┐
│                        用户交互层                                  │
├─────────────────────┬─────────────────────┬──────────────────────┤
│   Chrome 插件       │    管理后台         │    API 接口          │
│   (extension/)      │    (admin/)         │    (server/)         │
├─────────────────────┴─────────────────────┴──────────────────────┤
│                        服务层                                      │
├──────────────────────────────────────────────────────────────────┤
│  NestJS Server (localhost:3000)                                   │
│  ├─ Article Service  (文章 CRUD)                                  │
│  ├─ AI Service       (生成/测试/模型列表)                          │
│  ├─ Publish Service  (发布记录管理)                               │
│  └─ Settings Service (API 配置管理)                               │
├──────────────────────────────────────────────────────────────────┤
│                        数据层                                      │
├──────────────────────────────────────────────────────────────────┤
│  SQLite (Prisma ORM) → data/writepilot.db                          │
├──────────────────────────────────────────────────────────────────┤
│                        外部服务                                    │
├──────────────────────────────────────────────────────────────────┤
│  OpenAI Compatible API (各平台 AI 服务)                           │
│  目标平台 (知乎/微博/头条/小红书/公众号)                            │
└──────────────────────────────────────────────────────────────────┘

快速开始

方式一:本地开发启动

1. 启动后台服务

cd writepilot/server
npm install

# 首次运行:初始化数据库
npx prisma generate
npx prisma migrate dev

# 启动服务
npm run start:dev    # 开发模式(热重载)
# 或
npm run build && npm run start:prod  # 生产模式

服务运行在 http://localhost:3000

2. 启动管理后台(可选)

cd writepilot/admin
npm install
npm run dev

管理后台运行在 http://localhost:5173

3. 安装 Chrome 插件

cd writepilot/extension
npm install
npm run build        # 生产构建
# 或
npm run dev          # 开发模式(热重载)
  1. 打开 Chrome → chrome://extensions/
  2. 开启右上角「开发者模式」
  3. 点击「加载已解压的扩展程序」
  4. 选择 writepilot/extension/build/chrome-mv3-prod/ 目录

方式二:Docker 部署

# 一键启动所有服务
docker-compose up -d

# 查看日志
docker-compose logs -f writepilot-server

# 停止服务
docker-compose down

服务运行在 http://localhost:3000,数据持久化到 ./data 目录。

注意:Docker 模式仅部署后端服务,Chrome 插件需单独构建安装。

3. 配置 AI API

点击插件图标 → 点击 ⚙️ 设置按钮:

字段 说明 示例
API 地址 OpenAI 兼容格式 https://api.openai.com/v1
API Key 你的密钥 sk-xxx
模型 模型名称 gpt-4o, qwen-plus

常用平台配置:

平台 API 地址 模型
OpenAI https://api.openai.com/v1 gpt-4o
阿里云灵积 https://dashscope.aliyuncs.com/compatible-mode/v1 qwen-plus
智谱AI https://open.bigmodel.cn/api/paas/v4 glm-4

使用流程

方式一:搜索提取

  1. 点击插件图标
  2. 输入关键字,选择平台
  3. 点击搜索,自动打开搜索页
  4. 在目标文章页点击右下角「M」按钮
  5. 选择「提取当前文章」

方式二:直接提取

  1. 打开任意知乎/微博/头条文章页
  2. 点击右下角浮动按钮「M」
  3. 选择「提取当前文章」

AI 生成

  1. 点击插件 → 「历史」标签
  2. 点击已提取的文章
  3. 选择生成模式和目标平台
  4. 点击「生成文章」

一键发布

  1. 生成完成后点击「一键发布」
  2. 自动打开发布页并填充内容
  3. 检查后点击发布

查看数据

方式一:API 接口

# 查看文章列表
curl http://localhost:3000/api/articles

# 查看设置
curl http://localhost:3000/api/settings

方式二:数据库可视化

cd writepilot/server
npx prisma studio --port 5555

打开 http://localhost:5555 可视化管理数据

方式三:直接查看数据库

数据库文件:writepilot/server/data/writepilot.db

sqlite3 writepilot/server/data/writepilot.db "SELECT * FROM Article;"

API 接口

模块 方法 接口 说明
设置 GET /api/settings 获取配置
设置 PUT /api/settings 更新配置
文章 GET /api/articles 文章列表
文章 GET /api/articles/:id 文章详情
文章 POST /api/articles 创建文章
文章 DELETE /api/articles/:id 删除文章
AI POST /api/ai/generate 生成文章
AI POST /api/ai/test 测试连接
AI GET /api/ai/models 可用模型
发布 GET /api/publish/records 发布记录
发布 POST /api/publish/create 创建发布任务

开发

后台开发

cd server
npm install
npm run start:dev    # 开发模式(热重载)
npm run build        # 编译
npm run prisma:studio # 数据库可视化

插件开发

cd extension
npm install
npm run dev          # 开发模式(热重载)
npm run build        # 生产构建
npm run package      # 打包 .crx 文件

管理后台开发

cd admin
npm install
npm run dev          # 开发模式
npm run build        # 生产构建
npm run preview      # 预览构建结果

数据库迁移

cd server
npx prisma migrate dev --name xxx    # 创建迁移
npx prisma generate                  # 生成客户端
npx prisma studio                    # 打开可视化

开发路线

已完成(MVP)

  • 关键字搜索抓取(知乎、微博、头条)
  • 热榜聚合展示
  • AI 改写生成(三种模式)
  • 小红书发布模板 + 一键填充
  • 中转服务 API 配置
  • 管理后台基础功能

二期迭代

  • 公众号发布填充
  • 知乎发布填充
  • 小红书内容抓取
  • 发布记录管理完善
  • 图片素材提取

三期迭代

  • 内容数据回看分析
  • 多账号管理
  • 定时发布
  • 图片素材管理
  • 批量操作支持

详见 功能文档.md

贡献指南

  1. Fork 本仓库
  2. 创建功能分支:git checkout -b feature/xxx
  3. 提交代码:git commit -m 'feat: xxx'
  4. 推送分支:git push origin feature/xxx
  5. 创建 Pull Request

代码规范:

  • 后端遵循 NestJS 风格,使用 class-validator 校验
  • 前端使用 TypeScript,组件命名 PascalCase
  • 提交信息遵循 Conventional Commits(feat/fix/docs/style/refactor)

常见问题

Q: 端口被占用

# Windows 查找并结束进程
netstat -ano | findstr :3000
taskkill /PID <PID> /F

Q: 插件不生效

  1. 确认后端服务已启动
  2. 刷新插件(chrome://extensions/ → 刷新按钮)
  3. 刷新目标网页

Q: API 连接失败

  1. 检查 API 地址是否正确(不要带末尾 /)
  2. 检查 API Key 是否有效
  3. 检查模型名称是否匹配平台

技术栈

模块 技术栈
后端 NestJS + Prisma + SQLite
插件 Plasmo (Chrome MV3) + React
管理后台 Vite + React + Antd + Zustand
AI OpenAI Compatible API

License

MIT

About

AI 自动化自媒体写作与一键发布插件+系统

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages