WordPress采集ai改写插件
插件简介
插件名称:wordpress AI 采集改写插件(Aurora-Collect-rewrite)
主要功能:定时或手动,从指定平台(当前已适配知乎、今日头条等)采集文章内容,调用 AI 对标题和正文进行深度改写后,自动发布到 WordPress 站点,可选本地化图片、追加来源声明、自动生成标签等。
适用角色:站长、运营、内容编辑,希望用稳定的自动化采集+改写来补充日常内容生产。
核心优势
- 一站式流程:采集 → 抽取正文 → AI 改写 → 图片本地化 → 自动发布,全流程自动化。
- 可视化配置:后台界面完成所有设置,无需改代码。
- 多平台支持:内置知乎、今日头条等站点适配规则,支持列表页/话题/热榜抽取。
- AI 深度改写:可分别为标题/正文配置提示词,控制改写风格和长度。
- 计划任务调度:基于 WP-Cron 按设定的时间间隔自动执行,支持手动“立即执行一次”。
- 完整日志链路:抓取、改写、发布、图片下载全过程都有日志记录,方便排错。
安装与激活
安装插件
方式一:后台上传 ZIP 包
- 在 WordPress 后台进入 “插件 > 安装插件”。
- 点击页面顶部 “上传插件”,选择本插件的 ZIP 安装包。
- 上传完成后点击 “现在安装”,然后点击 “启用插件”。
方式二:文件管理器 / FTP 上传
- 将插件目录
collect-rewrite上传到服务器路径wp-content/plugins/。 - 进入后台 “插件 > 已安装插件”,找到 “极光 AI 采集改写(Collect-rewrite)” 并启用。
首次激活会做什么
- 自动注册计划任务(Cron),默认每约 60 分钟执行一次采集/改写任务。
- 自动创建
logs/目录,用于保存运行日志(如logs/collect-rewrite.log)。 - 为后续在线更新预留配置(如
CR_UPDATE_JSON_URL)。
后台入口与整体结构
后台菜单入口
- 在后台左侧菜单中,一般会出现 “极光 AI 采集改写 / Collect-rewrite” 菜单。
- 在 “设置 > Collect-rewrite 设置” 中可进入核心配置页面(具体以插件版本为准)。
重要文件和目录(仅做了解)
collect-rewrite.php:插件主入口,负责加载核心类、注册计划任务、对接在线更新。includes/:核心逻辑(采集、AI 调用、Cron、队列管理、日志工具等)。templates/:后台设置和工具页面的模板。logs/collect-rewrite.log:插件运行时生成的日志文件。docs/HELP_USER.html:开发者提供的网页版使用说明。
授权与未授权模式
未授权限制
为防止资源被滥用和恶意调用,未授权状态下插件会自动启用安全模式:
- 提交数量限制:采集 URL 或 AI 写作关键词,每次最多 5 条。
- 导入限制:不允许从
.txt等文件导入大量链接。 - 间隔限制:任务执行间隔固定为约 1 分钟,无法自定义更低/更高频率。
- 工具箱写回限制:工具箱页面禁止“一键写回”功能(只能查看抽取的链接)。
- 24 小时限频:采集入队和 AI 写作入队均有独立的 24 小时限频保护。
- API 服务器地址不可编辑:未授权时通常无法修改 AI 接口的服务器地址。
授权后的变化
- 解除数量和频率限制,支持更多链接和关键词。
- 开放工具箱的写回/一键入队功能。
- 可自由配置 API 服务器地址、调用频率和间隔策略。
- 更适合长期、生产环境的大规模内容采集与改写。
授权方式和安全性说明
- 授权通常跟站点根域名或服务器 IP 绑定,请按实际授权说明操作。
- 卡密仅用于激活,不会明文保存在公共页面。
- 请勿在文章或截图中暴露授权信息、API Key 或 Cookie。
语言与界面
多语言支持
- 插件根据 WordPress 站点语言自动切换界面语言。
- 当前支持:简体中文(默认)、英文(
en_US)、繁体中文(zh_TW)。
切换语言的方法
- 进入后台 “设置 > 常规 > 站点语言”。
- 选择需要的语言后保存,插件界面会自动切换对应的翻译。
如果部分文字没有翻译
- 可能是语言包未更新或新版本新增字段。
- 可以让管理员使用翻译工具编辑
.po文件,并生成对应的.mo文件放在languages/目录下。
AI 接口(API 设置)
AI 配置入口
- 在插件设置页面中,一般有 “API 设置 / AI 设置” 区块。
必填项说明
- API 服务地址(Endpoint):例如
https://sk.slapi.cn/v1/chat/completions等 OpenAI 兼容接口。 - 模型(Model):如
gpt-4o-mini、其它兼容模型名称。 - API Key:各类 AI 服务平台提供的密钥,用于计费与权限控制。
- 超时时间与重试:可视具体 UI 设置,一般建议超时 ≥ 10 秒,重试次数适中。
- 目标语言:建议设置为
zh-CN,保证改写结果是简体中文。 - 内容编码:建议使用
utf8,避免中文乱码问题。 - 提示词(标题/正文):可自定义写作风格,如“用简体中文生成更有吸引力的标题”“扩写并保持原意”等。
安全建议
- 请将 API Key 控制在服务器或后台配置中,勿暴露到前端页面。
- 如多人管理站点,可限制仅管理员角色可以访问插件设置页面。
- 根据使用量控制模型等级,平衡成本与效果。
Cookie / UA 配置(Profiles)
为什么需要 Cookie / UA
- 部分目标站点(如知乎、今日头条)对未登录用户或频繁访问会有风控。
- 通过配置有效的 Cookie 和 User-Agent,可以显著提高抓取成功率和稳定性。
获取 Cookie 的步骤(以知乎为例)
- 在桌面浏览器(推荐 Chrome)中登录知乎账号。
- 按 F12 打开开发者工具,切换到 Network 面板。
- 刷新页面,点击任意一个请求。
- 在 Request Headers 中找到 Cookie 字段,复制完整内容。
- 同时复制 User-Agent 字段值(浏览器标识)。
在插件中配置 Profiles
- 打开插件中的 “Profiles / 来源配置 / 工具箱” 页面。
- 为知乎创建一个 Profile,如“知乎内容”。
- 将刚才复制的 Cookie、User-Agent(以及必要时的
X-UDID)填入对应的输入框。 - 保存后,可使用“测试抓取”按钮验证是否能正常访问知乎内容页。
Cookie 注意事项
- Cookie 有有效期,过期后会返回 403 或需要登录提示,需要重新从浏览器复制新的 Cookie。
- 避免高频访问导致账号被风控,必要时提高采集间隔或准备备用账号。
- 不同来源(知乎、头条)建议使用不同的 Profile,方便单独维护和替换。
采集目标与任务入队
采集目标页面(URL 列表)
基本使用步骤
- 在插件菜单中进入 “采集目标 / 采集配置” 页面。
- 在“采集 URL 列表”文本框中,每行粘贴一个文章详情链接(如知乎回答页、头条文章页)。
- 系统会根据 URL 自动去重:相同链接不会重复入队。
- 设置发布分类、文章作者、执行间隔、去重策略等参数。
- 点击“入队”或“提交至任务列表”,生成待执行任务。
关键参数说明
- 来源 Site:选择对应站点(如“知乎”、“今日头条”)。
- 来源 Profile:选择前面配置好的 Cookie/UA Profile。
- 分类 Category:选择采集改写后的文章要发布到哪个栏目,可多选。
- 作者 Author:选择文章在 WordPress 中显示的作者。
- 执行间隔:
- 可以选择固定计划(如每小时、每天),也可以自定义分钟数。
- 测试环境可设置为 1 分钟;正式环境建议 ≥ 30 分钟,减少对目标站点的压力。
- 去重策略:根据 URL 或指纹去重,防止同一内容被重复采集和发布。
- 图片本地化:开启后会下载正文中的远程图片保存到媒体库,且可设置首图为特色图片。
- 追加来源/尾注:在文章末尾自动添加原文链接和版权声明。
- AI 标签生成:改写完成后调用 AI,根据正文生成若干标签(数量可配置)。
AI 改写流程概览
- 抓取目标链接 HTML。
- 根据规则提取正文、标题、图片(不同站点有不同抽取逻辑,知乎还有多级兜底)。
- 调用 AI 按提示词改写标题和正文。
- 按段或分块处理长文,保证语义通顺、结构合理。
- 将图片重新插入改写后的正文,必要时进行本地化。
- 最终创建并发布 WordPress 文章(或设为草稿,视设置而定)。
任务列表(队列管理)
查看任务状态
- 在“任务列表 / 队列管理”页面,可以看到所有已入队任务。
- 常见状态:
- pending:等待执行。
- running:正在执行。
- completed:已完成。
- deleted / failed:已删除或执行失败。
常用操作
- 立即执行一次:手动点击后,插件会立刻尝试执行选中的任务,常用于测试或调试。
- 批量删除:选中多条任务,一键删除无效或重复任务。
- 分组调度:同一分组(如同一分类或同一来源)会按设定最小间隔依次执行,避免瞬时并发过高。
日志联动
- 每一条任务执行过程,都会在
logs/collect-rewrite.log中记录对应的抓取、抽取、AI 调用和发布信息。 - 关键日志示例:
crawl.fetch.start/ok:开始抓取/抓取成功。crawl.extract.*:正文抽取相关日志。ai.chat.request/success:AI 请求发送与成功返回。worker.rewrite.title_ok/body_ok:标题/正文改写成功。post.publish.ok:文章发布成功。media.localize.*:图片本地化处理相关日志。worker.tags.done:AI 标签生成完成。
工具箱功能
批量 URL 抓取与写回
适用于从话题广场、搜索结果页或排行榜中,一次性抽取大量文章链接并写回“采集目标”。
以知乎为例的操作步骤
- 在插件菜单中打开 “工具箱 / URL 抽取” 页面。
- 选择来源 Profile(如“知乎内容”),确保已配置有效的 Cookie/UA。
- 在“入口链接”处粘贴知乎话题页、搜索结果页或热榜列表 URL。
- 设置分页范围、每页最大抓取数量等参数。
- 点击“抓取 URL”,等待系统分析并列出候选文章链接。
- 勾选需要的链接,选择要投递的分类、作者、执行间隔、去重策略等。
- 点击“一键写回/入队”,即可将选定链接写入“采集目标”并生成任务。
今日头条与其它站点
- 今日头条:可针对特定频道或列表页抽取文章链接。
- 其它站点:如果结构规则相对固定,也可以通过内置解析逻辑抽取链接(具体以插件版本为准)。
授权对工具箱的影响
- 未授权:通常只能使用“抽取”功能,不能批量写回到采集目标。
- 授权:全面开放 URL 抽取和写回功能,更适合大量任务导入。
AI 写作(不依赖外部链接)
功能说明
除了“采集+改写”模式外,插件还提供纯 AI 写作模式:只输入关键词列表,就能自动生成文章。
使用步骤
- 打开插件中的 “AI 写作 / 关键词写作” 页面。
- 在“关键词列表”文本框中,每行输入一个关键词或短语。
- 选择目标分类、文章状态(发布/草稿)、图片保存目录、标签数量等参数。
- 点击“入队 AI 写作”,生成写作任务。
- 在“任务列表”中查看执行情况。
计划任务(WP-Cron)与执行频率
内部 Cron 机制
- 插件激活时注册一个
cr_schedule_hook计划任务,默认约每 60 分钟触发。 - 如果你在设置中将间隔修改为 1 分钟(用于测试),插件会自动重排程,并在日志中记录:
cron.schedule.register、cron.ensure.adjust、cron.reschedule.done等。
在 Windows/IIS 环境下的注意事项
- WP-Cron 的触发依赖“有人访问站点页面”。
- 如果站点访问量较低,可能导致计划任务长时间不执行。
- 可通过操作系统自带的计划任务,定期访问站点某个 URL 或
wp-cron.php来主动触发。
外部计划任务(进阶配置)
- 当常量
DISABLE_WP_CRON被设为true时,WordPress 不会自动触发 Cron。 - 此时需要让服务器每分钟访问一次类似
/wp-cron.php?doing_wp_cron=1的地址。 - 请根据主机控制面板的“计划任务/定时任务”功能进行配置。
常见问题与排错指南
1. 任务长时间不执行 / 不出文章
可能原因
- 站点访问量太低,WP-Cron 没有被触发。
DISABLE_WP_CRON被设置为true,但外部计划任务未配置。- 任务已被限频或状态异常(如被标记为 deleted/failed)。
排查步骤
- 在“任务列表”中,选中一条任务,点击“立即执行一次”,观察是否能正常完成。
- 检查
wp-config.php中是否定义了DISABLE_WP_CRON。 - 查看
logs/collect-rewrite.log中是否有cron.*日志。 - 若怀疑 Cron 没触发,可临时通过浏览器访问
wp-cron.php看是否有报错。
2. 抓取失败 / 返回 403 或需要登录
可能原因
- 目标站点的 Cookie 过期或失效。
- User-Agent 设置不当,触发了反爬机制。
- 采集频率过高,被目标站点暂时封禁。
排查与解决
- 重新登录目标站点(如知乎),按前文步骤重新复制最新的 Cookie 和 UA。
- 在 Profiles 中更新 Cookie/UA 后保存,再用“测试抓取”按钮验证。
- 适当提高采集间隔(如从 1 分钟改为 10~30 分钟)。
- 如果仍然大量失败,请查看日志中的
crawl.fetch.*和zhihu.*等条目,结合错误信息调整策略。
3. AI 调用失败 / 超时 / 返回错误码
常见表现
- 日志中出现
ai.chat.request失败、ai.chat.error等。 - 任务状态长时间处于 running,最终失败。
排查建议
- 确认 API Endpoint 地址填写无误,并且服务器可以访问该地址(无被防火墙阻断)。
- 检查 API Key 是否正确、是否过期、是否有足够余额/配额。
- 适当增加超时时间,避免长文改写导致请求超时。
- 尝试换用较稳定、延迟更低的模型或节点。
4. 图片本地化失败 / 文章无特色图
排查方向
- 查看日志中的
media.localize.*相关条目,是否提示下载失败或写入失败。 - 确认服务器的
wp-content/uploads目录具有写入权限。 - 检查远程图片链接是否可以在浏览器中直接访问(部分站点对外链有限制)。
5. 出现中文乱码
- 在插件的 API/编码设置中,将“内容编码”设为
utf8。 - 确保 WordPress 数据库和主题都使用 UTF-8 编码。
- 若日志内容出现乱码,一并检查服务器环境的默认字符集。
6. 文章重复 / 多次发布同一内容
- 确认在采集目标/入队时已开启去重策略(基于 URL 或指纹)。
- 在日志中搜索
queue.dedup或类似字段,查看是否有“duplicates”提示。 - 避免手动多次重复提交同一批 URL,或在工具箱和采集目标之间反复写入同一链接。
7. 入队按钮点击无反应 / 提交数量过少
- 检查是否处于未授权模式:未授权状态下,每次最多 5 条,并有 24 小时限频。
- 确保每个 URL/关键词各占一行,中间没有多余空格或特殊字符。
- 观察页面是否有红色错误提示,或使用浏览器开发者工具查看 AJAX 返回信息。
知乎采集的特殊优化逻辑
多级兜底策略
为了尽量获得内容完整、配图丰富的知乎回答,插件对知乎回答页做了专门适配:
- 支持 questionId 的多种 URL 形式(带/不带斜杠、带 query/hash)。
- 判断回答是否过短(如字符数 < 700 或汉字数 < 300)时,会尝试选择同题下更长的回答。
- 必要时会对
initialData做更深层次的扫描,或调用知乎 v4 API 获取更多备选回答。 - 优先选择至少包含一张图片的回答,保证内容质量。
相关日志关键字
zhihu.answer.too_short_try_next:当前回答过短,尝试下一条候选。zhihu.answer.pick_longest_fallback:选择同题中最长的回答作为兜底。zhihu.answer.deep_scan_try_next:对初始数据进行更深度的遍历。zhihu.answer.api_try_next:调用知乎 API 拉取更多回答。zhihu.answer.no_image_candidate:当前候选缺少图片。
最佳实践与使用建议
部署前的准备
- 在测试环境验证一套完整流程(采集→改写→发布)。
- 为生产环境单独准备一个稳定的 AI Key 和调用额度。
- 为目标平台准备一个长期可用的账号和 Cookie。
线上运行建议
- 合理设置采集间隔,避免集中在某一时间段高频抓取。
- 分批、分组执行任务,平衡不同栏目之间的更新频率。
- 定期检查日志文件大小,必要时进行归档备份。
- 建议开启“追加来源与声明”,在法律允许范围内合理使用采集内容。
成本与质量控制
- 选择性地对重点内容使用高档模型,对一般内容使用性价比较高的模型。
- 缩短或优化提示词,减少无关内容生成。
- 适当控制任务总量,避免一次性提交过多改写任务导致账单激增。
附录:日志关键字速查
架构与调度类
build.tag:当前插件版本和构建标签。cron.schedule.register:注册计划任务。cron.ensure.adjust:检测并调整 Cron 配置。cron.reschedule.done:重排程成功。
采集与抽取类
crawl.fetch.start/ok:开始抓取/抓取成功。crawl.extract.*:正文、标题、图片等抽取过程。
AI 与改写类
ai.prompt.title/body:发送给模型的提示词。ai.chat.request/success:AI 请求发送与返回成功。worker.rewrite.title_ok/body_ok:标题/正文改写完成。
发布与媒体类
post.publish.ok:文章发布成功。media.localize.*:图片下载、本地化与设置特色图。
标签与后处理
worker.tags.done:AI 生成标签完成。
建议
当遇到问题时,先根据实际现象搜索日志中的关键字,再结合本说明文档逐条排查,可以快速定位问题所在。