如何用OpenReply免费搭建Instagram评论DM自动化:Docker本地运行+Vercel部署完整教程
如何用OpenReply免费搭建Instagram评论DM自动化Docker本地运行Vercel部署完整教程【免费下载链接】openreplyThe open-source Manychat alternative项目地址: https://gitcode.com/gh_mirrors/op/openreplyOpenReply是一款开源、免费的Instagram 评论 DM 自动化工具被称为自托管版 ManyChat。它的玩法很直接当有人在你的 Reel 或帖子下评论LINK这类关键词OpenReply 就会通过 Meta 官方 API 自动给对方发一条私信附带你的链接还可以同时留下一条公开评论回复。和按月收费的 ManyChat 不同OpenReply 是 MIT 协议的软件跑在你自己的服务器上没有席位限制、没有套餐上限——你只需承担基础设施的少量成本。本篇是完整教程带你在30 分钟内用 Docker 本地跑起来再把它部署到Vercel上长期运行。一、先搞懂OpenReply 是如何工作的整个流程只有 5 步理解它有助于你后面排查问题有人在你的 Instagram 帖子/Reel 下评论或直接私信你、回复你的 Story连接方你自己的 Meta 应用或服务商 Zernio把事件推送到你的 OpenReply 实例OpenReply 用你设置的关键词匹配评论文本匹配成功后把任务丢进发送队列后台worker 进程发送私信以及可选的公开回复架构要点OpenReply 由两个进程 两个数据存储组成——Web 应用Next.js接收 webhook、提供仪表盘 Worker常驻 Node 进程真正发私信两者共享同一个 PostgreSQL 和 Redis。Worker 必须是常驻进程这也是它不能跑在 Vercel 上的原因。完整技术栈见 docs/stack.md。它还提供这些实用功能可追踪链接DM 中的链接换成追踪跳转按活动统计点击量和 CTR一条私信最多放 2 个链接按钮✅关注门槛Follow Gate先要求对方关注点击按钮时才发链接按账号限流自动控制在 Meta 每小时 750 条私信上限内超出的排进队列收件箱直接在仪表盘里读和回 Instagram 私信24 小时窗口内 中英文界面详见 docs/localization.md二、部署前准备清单 ✅开始前确认这几项都到位准备项说明Instagram 商业/创作者账号个人账号无法连接需在 App 里切换账号类型连接方式二选一自建 Meta 应用免费但配置繁琐或 Zernio付费、免建应用邮件服务登录靠邮箱魔法链接需要 Resend 或自有 SMTP否则没人能登录数据库PostgreSQL活动、日志、账号 Redis发送队列、限流一个公网 HTTPS 地址Vercel 部署后免费获得your-app.vercel.app不需要买域名 连接方式怎么选想省事、不想跟 Meta App Review 打交道选Zernio在设置页填入 API Key 即可webhook 自动注册见 docs/zernio.md想完全零成本走自建 Meta 应用路线。两种方式都走官方 Instagram APIInstagram 的政策、权限和消息窗口限制同样适用。三、Docker 本地快速运行第一步上手本地跑通是最快的学习方式全程只需 Docker第 1 步克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/op/openreply cd openreply npm install cp .env.example .env # 按 docs/setup.md 填入实际值第 2 步一键启动 PostgreSQL 和 Redis项目自带 docker-compose.yml一条命令拉起 Postgres 16 和 Redis 7docker-compose up -d第 3 步初始化数据库npm run db:generate npm run db:migrate第 4 步启动两个进程注意是两个npm run dev # 终端1Web应用http://localhost:3000 npm run worker # 终端2后台worker真正发送私信的进程⚠️新手最容易踩的坑只有npm run dev时评论进来但私信永远不发。因为 worker 才是执行发送的进程没跑 worker 零私信。本地要让 Instagram/Zernio 把事件推过来需要一条公网隧道如ngrok http 3000并把NEXTAUTH_URL指向隧道地址。完整环境变量说明见 docs/setup.md 的Environment variables一节本地开发细节见其Local development一节。四、Vercel 部署完整教程生产环境生产部署的推荐拆法Web 应用放 Vercel免费Worker PostgreSQL Redis 放一个常驻平台Railway、Render、Fly 或一台 VPS 均可。顺序很重要——先部署数据库和 Worker再部署 Vercel因为 Vercel 需要它们的连接地址。4.1 部署数据库与 Worker以 Railway 为例新建 Project依次添加PostgreSQL和Redis数据库通过 GitHub Repo 导入你的仓库作为 worker 服务在 worker 服务中设置Build Commandnpm run db:generateStart Commandnpm run worker填入共享环境变量见下一节。注意 worker 在 Railway 内网要用内部地址如postgres.railway.internal拿到两个 URL 备用DATABASE_PUBLIC_URL公网代理地址给 Vercel 用和内部地址给 worker 用。Vercel 在 Railway 外网给 Vercel 内部地址会直接超时。4.2 手动执行一次数据库迁移用公网数据库地址在本地执行一次DATABASE_URLpostgresql://.../... npm run db:migrate4.3 部署 Vercel Web 应用Vercel 新建项目导入仓库自动识别 Next.js设置环境变量NEXTAUTH_URL你的 Vercel 域名如https://your-app.vercel.appDATABASE_URL/REDIS_URLRailway 的公网地址ENCRYPTION_KEY与 worker完全一致直接 Deploy构建脚本会先执行prisma generate再next build部署完成后可访问/api/health健康检查页它会报告数据库、Redis、队列和 worker 心跳状态。4.4 关键环境变量速查表变量怎么填常见错误NEXTAUTH_URL公网 HTTPS 地址忘了改自定义域名ENCRYPTION_KEYopenssl rand -hex 32必须 64 位十六进制Web 和 worker 不一致 → 每条私信解密失败DATABASE_URLPostgreSQL 连接串Vercel 用了内网地址REDIS_URL需支持阻塞命令的 RedisTCP 协议用了 HTTP-only 的 RedisRESEND_API_KEYEMAIL_FROMResend 密钥 已验证域名发件人不配则无人能登录ALLOWED_EMAILS可选允许登录的邮箱白名单不配则公网任何人可注册自己的 workspace完整清单见 .env.example 与 docs/setup.md。 补充vercel.json里配置了每日定时任务token 刷新、绑定下一条 Reel、粉丝快照。自托管到 VPS 时这些 cron 不会自动运行需要额外用 scripts/cron.sh 拉起调度详见 docs/deploy-dokploy.md。五、连接 Instagram两条路径路径 AZernio省心付费登录后在Settings页面填入 Zernio 读写 API Key → 选择 profile → 导入或连接 Instagram 账号。OpenReply 会自动注册 webhook跳过整个 Meta 应用配置。路径 B自建 Meta 应用免费繁琐官方文档 docs/setup.md 的 The Meta app 一节有逐步说明这里只列新手最容易翻车的 4 个点App 用途选错只选 Manage messaging and content on Instagram不要选 Facebook Login 或 Marketing API测试者邀请两步走在 Meta 后台添加 Instagram 测试者 在 Instagram App 内设置 → Apps and websites → Tester invites里接受邀请。漏掉第二步会一直报 Insufficient Developer Rolewebhook 订阅两个字段comments评论触发和messages私信/Story 回复触发只订一个会导致对应功能看似开启但从不触发必须发布Live状态Development 模式下只有后台 Test 按钮能送事件这是全都配好了却没反应的头号原因如果账号曾接入过 ManyChat 等工具记得先去 Meta Business Suite 的 Conversation routing 里移除旧应用否则 DM 按钮点击会报 not the thread owner。六、端到端测试发出一条真正的私信 在 Settings 中连接 Instagram 账号确认账号出现且/api/health显示 worker 健康挑一条帖子创建活动Campaign关键词设为TEST换一个 Instagram 账号去评论TESTOpenReply 刻意忽略你自己的评论等待私信到达DM Logs 页面会出现一条SENT记录排障三板斧没收到私信先看 DM Logs 的失败原因 → 再看/api/health里worker.healthy是否为 true → 最后查数据库里WebhookEvent事件是否送达、DmLog发送状态、OperationalEventworker 崩溃/轮询日志三张表。七、常见问题 FAQQ1私信完全发不出去99% 是 worker 没跑。/api/health里worker.healthy: false即说明 worker 未运行或连不上 Redis。Q2连接第二个账号失败但第一个正常已发布的应用对manage_messages等权限仍是 Standard Access只覆盖在 App 上有角色的账号。每个账号都要重复添加测试者 接受邀请两步给陌生账号用需要走 App Review材料见 META_APP_REVIEW.md。Q3一定要买域名/用付费服务吗不用。Vercel Hobby 免费给公网地址PostgreSQL 可用 Neon 免费版、Redis 可用 Redis Cloud 免费版、worker 可跑在 Oracle Cloud 免费 VM 上——docs/stack.md 列出了一套零成本参考部署。Q4从 ManyChat 迁移要注意什么把旧工具从该 Instagram 账号断开并在 Meta Business Suite 里让 OpenReply 获得 Take control of conversations否则第一条私信能发、后续按钮点击全部失败。详见 docs/setup.md。总结OpenReply 让你以极低成本拥有 ManyChat 式的评论关键词 → 自动私信 追踪链接能力。核心记住三件事两个进程缺一不可dev worker、两个密钥必须一致DATABASE/REDIS/ENCRYPTION、Meta 应用必须发布并订阅两个 webhook 字段。按本文步骤走完你的第一条自动私信就会出现在 DM Logs 里。更多进阶内容活动模板、AI 辅助配置 prompt、Zernio 功能限制见 docs/setup.md 与 README.md。【免费下载链接】openreplyThe open-source Manychat alternative项目地址: https://gitcode.com/gh_mirrors/op/openreply创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

多轮对话聊天机器人

多轮对话聊天机器人

基于模型初始化,流式响应以及消息列表的拼接来创建多轮聊天机器人 def keep_recent_messages(messages, max_pairs3):"""保留最近的 N 轮对话max_pairs: 保留的对话轮数(每轮 user assistant)"""# 分离 syst…

2026/10/27 2:08:42 阅读更多 →
从边界条件到布儒斯特角:介质界面极化电磁波与Python仿真

从边界条件到布儒斯特角:介质界面极化电磁波与Python仿真

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/9 2:19:17 阅读更多 →
Natively vs Cluely vs Final Round AI:12项功能终极对比,哪款AI面试助手真正值得你用?

Natively vs Cluely vs Final Round AI:12项功能终极对比,哪款AI面试助手真正值得你用?

Natively vs Cluely vs Final Round AI:12项功能终极对比,哪款AI面试助手真正值得你用? 【免费下载链接】natively-cluely-ai-assistant Natively — Free open-source AI meeting assistant, interview copilot, and note taker. The best alternative to Cluely,…

2026/11/1 20:05:52 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/10 16:14:15 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/10 12:51:50 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻