在自媒体时代,持续输出高质量内容需要耗费大量时间——从选题、搜集素材、撰写、排版到发布,每一步都是人工投入。而 TrendPublish 正是为了解决这一痛点而生的:一款面向微信公众号的全自动 AI 内容生成与发布系统,目前已获得 3,000+ GitHub Stars

本文将从项目介绍、核心特性到 Docker 部署,带你快速上手 TrendPublish。

AI 自动化内容生成概念图
AI 驱动的自动化内容生产 — 图源:Pixabay (免费可商用)

🧭 项目简介

TrendPublish(仓库:liyown/ai-trend-publish)是一个基于 TypeScript 构建的全自动选题与发布流水线。它从多源数据抓取内容,利用 AI 完成选题聚类、证据补全、排序、标题与正文生成、质量审稿、排版和配图,最终产出可直接预览的 dry-run 产物或创建微信公众号草稿。

核心目标不是「自动生成一篇文章」,而是稳定地生产更值得发布的文章:每次运行都有步骤记录、错误解释、质量报告、HTML/JSON/图片产物,方便你判断今天是否适合发、为什么值得发、哪里需要人工介入。

⭐ 核心特点

  • 文章质量优先:内置选题聚类、编辑决策、文章计划、质量审稿和定向修订机制
  • 多源内容发现:支持网页、RSS/RSSHub、FireCrawl、Jina、Brave、Tavily、Exa、Serper、NewsAPI、GDELT、Hacker News、arXiv、Twitter/X 等
  • 证据链与补充搜索:搜索型数据源可补全上下文,选题依据和风险写入产物
  • 微信友好渲染:多套公众号模板(minimal、longform、product、darktech、dynamic 等),内置微信兼容清洗
  • AI 配图:支持阿里云 DashScope 和 MiniMax 图片生成,用于封面和正文配图
  • 可观察工作流:Dashboard 可视化步骤时间线、错误解释、质量报告
  • 多公众号矩阵:relay 代理多个公众号,Dashboard 管理账号定位、受众、语气
  • 多部署方式:本地 / Docker / Cloudflare(Worker + Workflows + D1/KV/R2)

🐳 Docker 部署教程

一、准备环境

1. 安装 Docker

curl -fsSL https://get.docker.com | sh

2. 安装 Compose 插件

apt update
apt install docker-compose-plugin -y

验证安装:

docker compose version
Docker 容器引擎 Logo
Docker — 图源:Wikimedia Commons / Docker, Inc.

二、创建项目目录

mkdir -p /opt/trendpublish
cd /opt/trendpublish
mkdir -p config data logs

三、编写 docker-compose.yml

/opt/trendpublish/ 目录下创建 docker-compose.yml

services:
  publish:
    image: ghcr.io/liyown/ai-trend-publish:latest
    container_name: trendpublish
    restart: unless-stopped

    ports:
      - "8000:8000"

    environment:
      TZ: Asia/Shanghai

      # 系统鉴权
      SERVER_API_KEY: your_server_api_key

      # AI 模型配置
      AI_API_KEY: your_ai_api_key
      AI_BASE_URL: https://api.deepseek.com/v1
      AI_MODEL: deepseek-chat

    volumes:
      # 配置文件
      - ./config:/app/config

      # SQLite / 运行数据(关键)
      - ./data:/app/src/temp

      # 日志
      - ./logs:/app/logs

    networks:
      - web

networks:
  web:
    external: true

这里使用了名为 web 的外部 Docker 网络。如果你还没有创建,先执行:

docker network create web

四、初始化配置文件

下载官方示例配置模板:

curl -L -o config/trendpublish.config.ts \
  https://raw.githubusercontent.com/liyown/ai-trend-publish/main/trendpublish.config.docker.example.ts

下载后需要根据你的实际情况修改配置文件中的 server.apiKeyproviders.ai 等参数。更多配置说明请参考 官方文档

五、初始化目录权限(重要)

避免 SQLite 数据库写入失败:

chmod -R 777 data logs config

六、启动服务

docker compose up -d

查看容器状态:

docker ps

查看实时日志:

docker logs -f trendpublish

七、访问服务

http://服务器IP:8000

🔌 API 调用方式

1. 健康检查

curl http://127.0.0.1:8000

2. 触发工作流

curl -X POST http://127.0.0.1:8000/api/workflow \
  -H "Authorization: Bearer your_server_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc":"2.0",
    "method":"triggerWorkflow",
    "params":{
      "workflowType":"weixin-article-workflow",
      "dryRun":true
    },
    "id":1
  }'

dryRun 设为 false 即可正式发布到微信公众号。

📁 标准目录结构

trendpublish/
├── docker-compose.yml
├── config/
│   └── trendpublish.config.ts
├── data/
│   └── trendpublish.sqlite3
└── logs/

⚠️ 常见问题

❌ SQLite 报错 14

原因:data 目录不存在或权限不足。

解决:

chmod -R 777 data

❌ config 找不到

确保 config/trendpublish.config.ts 文件存在,且内容格式正确。

❌ API 无法访问

逐一检查:

  • SERVER_API_KEY 是否已配置
  • 端口映射是否正确(host:container = 8000:8000)
  • 容器是否成功启动(docker ps 确认状态为 Up)

💡 核心总结

TrendPublish 的 Docker 部署只需确保三件事:

  1. 配置文件存在且正确
  2. data 目录可写(SQLite 运行关键)
  3. 环境变量完整(AI Key + Server Key)

项目地址:github.com/liyown/ai-trend-publish

官方文档:liyown.github.io/ai-trend-publish

许可证:MIT


0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注