[开源项目] TrendPublish - 全自动 AI 内容生成与发布

[复制链接]
七夏(UID:1) 发表于 2025-3-24 21:28:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

实时追踪和发布人工智能领域的最新趋势。帮助开发者、技术爱好者和研究人员快速获取 AI 领域的动态信息,例如前沿技术、热门项目和行业新闻等。通过自动化收集和整理数据,用户可以轻松掌握 AI 生态的最新动向。项目依托 GitHub 平台,鼓励社区参与贡献代码或提出改进建议,适合对 AI 发展感兴趣的用户使用。当前项目处于开发阶段,功能仍在完善中,但已展现出其在技术趋势分析中的潜力。

图片

主要功能

  • 🤖 多源数据采集
    • Twitter/X 内容抓取
    • 网站内容抓取 (基于 FireCrawl)
    • 支持自定义数据源配置
  • 🧠 AI 智能处理
    • 使用 DeepseekAI Together 千问 万象 讯飞 进行内容总结
    • 关键信息提取
    • 智能标题生成
  • 📢 自动发布
    • 微信公众号文章发布
    • 自定义文章模板
    • 定时发布任务
  • 📱 通知系统
    • Bark 通知集成
    • 任务执行状态通知
    • 错误告警

🚀 安装

环境要求

  • Node.js (v22+)
  • npm
  • TypeScript

安装

  1. 克隆项目
git clone https://github.com/OpenAISpace/ai-trend-publish
  1. 安装依赖
npm install
  1. 配置环境变量
cp .env.example .env
# 编辑 .env 文件配置必要的环境变量

⚙️ 环境变量配置

在 .env 文件中配置以下必要的环境变量:

# ===================================
# 基础服务配置
# ===================================

# LLM 服务配置

# OpenAI API配置
OPENAI_BASE_URL="https://api.openai.com/v1"
OPENAI_API_KEY="your_api_key"
OPENAI_MODEL="gpt-3.5-turbo"

# DeepseekAI API配置 https://api-docs.deepseek.com/
DEEPSEEK_BASE_URL="https://api.deepseek.com/v1"
DEEPSEEK_API_KEY="your_api_key"
# 支持配置多个模型,使用 | 分隔
DEEPSEEK_MODEL="deepseek-chat|deepseek-reasoner"

# 讯飞API配置 https://www.xfyun.cn/
XUNFEI_API_KEY="your_api_key"

# 通义千问API配置 https://help.aliyun.com/zh/dashscope/developer-reference/api-details
QWEN_BASE_URL="https://dashscope.aliyuncs.com/api/v1"
QWEN_API_KEY="your_api_key"
QWEN_MODEL="qwen-max"

# 自定义LLM API配置(需要兼容OpenAI API格式)
CUSTOM_LLM_BASE_URL="your_api_base_url"
CUSTOM_LLM_API_KEY="your_api_key"
CUSTOM_LLM_MODEL="your_model_name"

# 默认使用的LLM提供者
# 可选值: OPENAI | DEEPSEEK | XUNFEI | QWEN | CUSTOM
# 也可以指定具体模型,格式为 "提供者:模型名称",例如 "DEEPSEEK:deepseek-reasoner"
DEFAULT_LLM_PROVIDER="DEEPSEEK"

# ===================================
# 模块功能配置
# ===================================

# 注意:使用以下配置前,请确保已在上方正确配置了对应的 LLM 服务参数
# 内容排名和摘要模块LLM提供者配置
# 可选值: OPENAI | DEEPSEEK | XUNFEI | QWEN | CUSTOM
# 也可以指定具体模型,格式为 "提供者:模型名称",例如 "DEEPSEEK:deepseek-reasoner"
AI_CONTENT_RANKER_LLM_PROVIDER="DEEPSEEK:deepseek-reasoner"
AI_SUMMARIZER_LLM_PROVIDER="DEEPSEEK"

# 模板配置
# 文章模板类型配置,可选值: default | modern | tech | mianpro | random
ARTICLE_TEMPLATE_TYPE="default"

# HelloGitHub模板类型配置,可选值: weixin | random
HELLOGITHUB_TEMPLATE_TYPE="default"

# AIBench模板类型配置,可选值: default | random
AIBENCH_TEMPLATE_TYPE="default"

# 文章数量配置
ARTICLE_NUM=10

# 数据存储配置
ENABLE_DB=true
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=password
DB_DATABASE=trendfinder

# 微信公众号配置
WEIXIN_APP_ID="your_app_id"
WEIXIN_APP_SECRET="your_app_secret"

# 微信文章配置
NEED_OPEN_COMMENT=false
ONLY_FANS_CAN_COMMENT=false
AUTHOR="your_name"

# 数据抓取配置
# FireCrawl配置 https://www.firecrawl.dev/
FIRE_CRAWL_API_KEY="your_api_key"

# Twitter API配置 https://twitterapi.io/
X_API_BEARER_TOKEN="your_api_key"

# ===================================
# 其他通用配置
# ===================================

# 通知服务配置
ENABLE_BARK=false
BARK_URL="your_key"

⚠️ 配置IP白名单

在使用微信公众号相关功能前,请先将本机IP添加到公众号后台的IP白名单中。

操作步骤

  1. 查看本机IP: IP查询工具
  2. 登录微信公众号后台,添加IP白名单
  3. 启动项目
# 测试模式
npm run test

# 运行
npm run start

详细运行时间见 src\controllers\cron.ts

📦 部署

方式一:直接部署

  1. 在服务器上安装 Node.js (v20+) 和 PM2
# 安装 PM2
npm install -g pm2
  1. 构建项目
npm run build
  1. 使用 PM2 启动服务
pm2 start dist/index.js --name ai-trend-publish

方式二:Docker 部署

  1. 拉取代码
git clone https://github.com/OpenAISpace/ai-trend-publish.git
  1. 构建 Docker 镜像:
# 构建镜像
docker build -t ai-trend-publsih .
  1. 运行容器:
# 方式1:通过环境变量文件运行
docker run -d --env-file .env --name ai-trend-publsih-container ai-trend-publsih

# 方式2:直接指定环境变量运行
docker run -d \
  -e XXXX=XXXX \
  ...其他环境变量... \
  --name ai-trend-publsih-container \
  ai-trend-publsih
小时候,看腻了农村的牛和马,长大后,来到了城里,才知道原来到处都是牛马!
全部回复0 显示全部楼层
暂无回复,精彩从你开始!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于楼主

管理员
  • 主题

    1060
  • 回答

    433
  • 积分

    2910
虚位以待,此位置招租

商务推广

    此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租
最新热评 加载中...