TrendPublish:基于 Deno 的 AI 趋势发现与内容发布系统
在信息爆炸的时代,如何高效追踪行业新动向并快速生成优质内容,是每个内容创作团队的重要课题。TrendPublish 正是为此而生的系统:它整合多源数据采集、AI 智能处理及自动发布能力,专注于帮助微信公众号运营者(如“AISPACE 科技空间”)实现高效运营。
以下内容将以通俗易懂的方式,深入剖析系统技术细节与使用流程,适合本科及以上学历的技术人员阅读与实践。
🔍 目录
-
项目概览 -
技术架构与关键组件 -
环境准备与系统安装 -
多源数据采集机制 -
AI 智能处理流程 -
自动发布机制与通知系统 -
模板机制及扩展能力 -
部署方式对比(原生 vs Docker vs CI/CD) -
进阶开发与定制指南 -
实践建议与未来展望
1. 项目概览
TrendPublish 是一款开源项目,用 Deno + TypeScript 编写,具备以下核心能力:
-
多源数据抓取:包括 Twitter/X、网站内容(借助 FireCrawl)等; -
AI 智能处理:深度整合 DeepseekAI、千问、讯飞、Jina AI 等模型,完成摘要生成、关键信息提取、标题智能生成、文本 embedding 排序等任务; -
自动发布:支持微信公众号文章定时发布,并可自定义模板; -
通知集成:支持 Bark、钉钉、飞书多渠道通知,及时反馈任务进展与错误信息; -
平台灵活性:支持 Windows、Mac(Intel/M 系)、Linux 多平台部署,还可通过 Docker/CI/CD 实现自动化上线 (GitHub[1], byteofdev.com[2])。
2. 技术架构与关键组件
系统整体架构简洁明快,核心模块如下:
2.1 核心运行环境:Deno + TypeScript
-
使用 Deno v2.0+ 提供安全隔离、原生 TypeScript 支持、标准化模块管理。 -
Typescript 提供强类型检查和接口规范,开发体验优秀。
2.2 数据采集模块
-
Twitter/X 抓取器:调用官方 API 获取指定关键字、账号推文数据; -
FireCrawl 抓取器:支持网站内容采集,并可以配置抓取规则; -
用户可自定义数据源配置,实现灵活扩展。
2.3 AI 智能处理模块
-
DeepseekAI、千问、讯飞:多模型同时生成内容摘要,支持模型间结果对比和混合; -
关键信息提取:抽取文章中的核心数据点; -
智能标题生成:借助语言模型自动创建吸引人的标题; -
Jina AI embedding + reranking:通过 embedding 表征和排序,对生成内容进行二次筛选,提高相关性与质量 。
2.4 自动发布模块
-
微信公众号文章发布:通过调用公众号接口实现文章推送; -
EJS 模板引擎:允许用户自定义文章结构、样式; -
定时任务调度:基于 cron 表达式配置定期发布。
2.5 通知系统
-
可配置与 Bark、钉钉、飞书 集成,接收任务状态和异常报警。
3. 环境准备与系统安装
3.1 安装 Deno
Mac/Linux 环境:
curl -fsSL https://deno.land/install.sh | sh
Windows PowerShell 环境:
irm https://deno.land/install.ps1 | iex
成功安装后,确保 deno --version
输出 v2.0.0 或更高版本。
3.2 克隆项目
git clone https://github.com/OpenAISpace/ai-trend-publish
cd ai-trend-publish
3.3 配置环境变量
cp .env.example .env
# 编辑 .env 文件,包括 API key(如 JINA_API_KEY)及微信公众号相关配置等
确保根据 GitHub README 和 docs/jina_integration_guide.md
的说明添加所有必需配置 。
4. 多源数据采集机制
4.1 Twitter/X 数据抓取
系统通过 Twitter API(v2)获取指定关键词、用户的推文内容,并作为原始数据喂给后续处理模块。
4.2 网站内容抓取(FireCrawl)
FireCrawl 提供结构化抽取接口,定义 schema 并直接返回可解析的字段,减少抓取复杂度 (nmn.gl[3])。
4.3 自定义数据源配置
可在配置文件中指定目标源,如 RSS 链接、特定网页,支持扩展第三方数据源。
5. AI 智能处理流程
每篇抓取文章都经过一系列处理步骤:
5.1 摘要生成
调用 DeepseekAI、千问、讯飞多模型生成摘要,按预设策略融合结果,提高摘要质量。
5.2 关键信息提取
识别主题、时间、人物、数据等核心信息,便于读者快速掌握重点。
5.3 智能标题生成
通过模型生成标题,并支持用户自定义风格模板。
5.4 内容去重与排序
使用 Jina AI 对文本进行 embedding,并可剔除雷同内容,实现更干净的信息输出 (CSDN博客[4])。
6. 自动发布机制与通知系统
6.1 微信公众号发布流程
-
内容生成完成后,系统将自动调用公众号 API 推送文章; -
在 .env
中配置 IP 白名单(微信公众号后台)为必备前置步骤; -
支持设置定时发布策略,让内容更有节奏地推送出去 (CSDN博客[5])。
6.2 多方式通知集成
-
Bark:iOS 本地推送体验; -
钉钉/飞书:企业即时通讯通知,包括任务启动、完成与错误告警,支持同步监控。
7. 模板机制及扩展能力
7.1 内置 EJS 模板
项目自带多种精美模板(如官方 templates.html
中展示),覆盖科技类文章常见排版风格。
7.2 自定义模板开发指南
-
了解渲染器所需数据结构(类型定义位于
src/modules/render/interfaces
); -
在
src/templates
添加自定义 EJS 文件; -
在渲染器(如
WeixinArticleTemplateRenderer
)注册模板名; -
通过脚本测试模板:
npx ts-node -r tsconfig-paths/register src/modules/render/test/test.weixin.template.ts
8. 部署方式对比
所有方式支持 PM2 进程管理,并可配置开机自启 (CSDN博客[6], GitHub[7])。
9. 进阶开发与定制指南
-
新增数据源:编写新的抓取模块并在配置中加载。 -
接入新模型:将额外 AI 服务(如新 LLM)整合进处理流程。 -
自定义通知频道:扩展到 Slack、Email 等,只需完善任务执行钩子。 -
开发 GUI:未来计划提供可视化界面,支持 exe 可视化窗口。
10. 实践建议与未来展望
-
对于刚起步的微信公众号运营者,TrendPublish 是快速触发内容发布流程的利器。 -
关键变量(如 AI 模型、抓取频率、发布节奏等)可根据目标读者画像调整。 -
文章内容推荐走深度方向,如追踪 AI 论文、工具,并结合后续 roadmap ( 热门AI论文推荐
、工具推荐
) 进一步提升价值。 -
未来可扩展插图识别、自动插入图片等功能,提升文章可读性。
✅ 小结
TrendPublish 是一套清晰且落地的 AI 辅助内容生产系统,通过以下几个关键连接:
-
数据采集 → AI 智能处理 → 发布输出,实现自动化内容链条; -
强模块化设计保留开放性,用户可按需扩展; -
支持 AI 模型融合与内容去重,保障系统输出质量与多样性。
对于有一定技术背景、希望在微信公众号精耕细作内容运营的团队或个人来说,这是一次可快速上手、价值显著的实践。
“
完整项目地址:GitHub – OpenAISpace/ai-trend-publish (GitHub[8], CSDN博客[9])
如你希望深入了解某一模块、实战示例或部署细节,欢迎继续交流,我会为你提供更具体的指导!
参考资料
OpenAISpace/ai-trend-publish: TrendPublish: 全自动AI 内容生成与 …: undefined
[2]
byteofdev.com/posts/deno: undefined
[3]
I built an AI Trend Analyzer to stop myself from doomscrolling: undefined
[4]
TrendPublish – 全自动AI 内容生成与发布原创 – CSDN博客: undefined
[5]
TrendPublish – 全自动AI 内容生成与发布原创 – CSDN博客: undefined
[6]
TrendPublish – 全自动AI 内容生成与发布原创 – CSDN博客: undefined
[7]
OpenAISpace/ai-trend-publish: TrendPublish: 全自动AI 内容生成与 …: undefined
[8]
OpenAISpace/ai-trend-publish: TrendPublish: 全自动AI 内容生成与 …: undefined
[9]
TrendPublish – 全自动AI 内容生成与发布原创 – CSDN博客: undefined