WP Manifestindependent plugin directory
manifest / ai / wordpress-momobird-ai

MomoBird AI

MomoBird AI WordPress plugin: sync posts to MomoBird, add the Q&A widget and article podcasts

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/underestimatedme/wordpress-momobird-ai/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

MomoBird AI for WordPress

把 WordPress 的公开文章同步到 MomoBird 控制台的项目里,让这些文章可以在「问答调试」和网站问答助手里被提问、被引用;也可以把 MomoBird 问答助手挂到站点前台,并在文章页播放 AI 播客。

本插件属于 MomoBird 专业版功能。创建第一个项目时自动开始 14 天试用;如果那时还没开始,创建 WordPress 来源时开始(与 Typecho 共用同一次试用,不会叠加)。企业空间按企业套餐。

功能

  • 同步公开文章(post 类型、已发布、没有设置密码),每篇文章在项目里是一篇文档,由服务端统一切块和索引。
  • 文章发布、更新、定时发布到点时自动推送;转为私密、草稿、待审核、加密码、移入回收站或删除时自动从知识库下线。
  • 保存文章不等待 MomoBird:插件在页面返回后(或由 WP-Cron 在后台)推送,MomoBird 不可用也不会拖慢或打断保存。
  • 推送失败的文章每小时自动重试,最多 5 次;之后可以在后台点「重试失败项」。
  • 后台一键全量同步,并清理站点里已经不存在或不再公开的文章。
  • 可选:在前台显示 MomoBird 问答助手;在文章页显示播客播放器。

页面(page)、自定义文章类型、附件、评论不会同步。

环境要求

  • WordPress 6.0 或更高版本
  • PHP 7.4 或更高版本(需要 mbstring)
  • 站点服务器可以访问 https://api.valley.atlaspaces.com
  • 暂不支持多站点网络启用;多站点请在每个子站点单独启用

安装

  1. 在 MomoBird 控制台(https://momobird.atlaspaces.com)打开或新建一个项目,进入「知识 → 连接博客 → 博客 / 论坛」,平台选 WordPress,填写站点地址和来源名称。
  2. 复制页面上显示的连接密钥(以 mbk_ 开头,只显示这一次),并下载插件包 MomoBirdAI-WordPress-0.1.0.zip。
  3. 在 WordPress 后台「插件 → 安装插件 → 上传插件」上传 zip 并启用。
  4. 打开「设置 → MomoBird AI」,填写连接密钥并保存。
  5. 点「测试连接」,确认项目名称和权益,然后点「一键全量同步」。

启用插件会创建 {表前缀}momobird_sync 表,只保存同步状态和脱敏错误,不保存文章正文。

设置

设置 说明
连接密钥 控制台生成的 mbk_ 密钥;留空保存会保留已保存的密钥,设置页只显示前缀
MomoBird Base URL 默认 https://api.valley.atlaspaces.com,通常不需要修改;只有本机地址允许 HTTP
请求超时 2–30 秒,默认 10 秒
自动同步 开启后文章变化时自动推送;关闭后仍可手动全量同步和重试
在前台显示问答助手 默认关闭。打开后在页面底部加载 MomoBird 助手
问答助手位置 右下角(默认)或左下角
在文章页显示播客播放器 默认打开。文章生成过播客时正文上方出现播放器,没有播客的文章不显示任何内容
播放器里显示播客文字稿 默认关闭

连接密钥只在服务端使用,不会出现在前台页面;设置页不会回显已保存的密钥。

同步规则

  • 正文:插件渲染古腾堡区块,保留短代码包裹的文字(页面构建器、代码块、图片说明),去掉独立的短代码(相册、嵌入等),再转换为纯文本(保留标题层级)。不会经过其他插件对正文的加工,广告、相关文章、分享按钮不会进入知识库。
  • 分类:每篇文章发送一个分类。装了 Yoast SEO 时用它的主分类,否则用文章的第一个分类;站点默认分类(通常是「未分类」)不发送。控制台知识页可以按分类筛选,问答助手也可以只回答某个分类。
  • 何时推送:保存时先记为「待推送」,页面返回后推送;没有 PHP-FPM 或 LiteSpeed 的主机改由 WP-Cron 在后台推送,通常几秒内完成。内容和分类都没有变化时不会重复推送。
  • 何时下线:文章离开「已发布」状态、被加上密码、进入回收站或被删除时发送下线请求;即使本地没有同步记录也会发送,保证非公开内容不会残留。
  • 失败重试:网络错误或 MomoBird 暂时不可用时,文章记为失败,每小时自动重试,最多 5 次。
  • 空文章:正文为空的文章记为「空文章已跳过」,不算失败;如果它之前同步过,会先从知识库下线。

一键全量同步

浏览器分批处理公开文章(每批 20 篇),不依赖 WP-Cron,也不会用一个超长请求同步整个站点。全部批次成功后,插件会对照 MomoBird 上的文章列表,下线站点里已经不存在或不再公开的文章。单篇文章被拒绝只记为该篇失败;网络错误或权益到期会中断本轮,且不会执行清理。请在同步过程中保持页面打开。

前台问答助手与播客

  • 打开「在前台显示问答助手」后,插件会把站点域名加入控制台的「允许的来源」;网站接入还没发布过时会自动发布一次。还没有文章完成索引时,全量同步结束后会再试一次,之后每小时检查。
  • 在控制台关闭或撤销了网站接入时,插件不会自动重新开启。
  • 读者访问页面时插件只读本地缓存,不请求 MomoBird;状态变化最多几分钟(未使用 PHP-FPM 的主机最多一小时)反映到前台。
  • 播客在 MomoBird 控制台生成;插件只在公开的单篇文章页插入一个不可见的占位元素,并加载 https://momobird.atlaspaces.com/widget/podcast.v1.js。

专业版与试用

  • 试用或专业版到期后:新文章不再同步,前台助手隐藏;已经同步的文章仍可在控制台问答调试中使用。
  • 到期后文章转为非公开或被删除时,插件仍会把它从知识库下线。
  • 开通或续费:在 MomoBird 控制台点顶栏的套餐,输入兑换码。

停用与卸载

  • 停用插件:不删除 MomoBird 上的知识,也不删除本地同步表和设置,再次启用即可继续。
  • 删除插件(「插件 → 已安装的插件 → 删除」):清除插件设置和同步表。MomoBird 上的知识需要在控制台删除对应来源。

故障排查

状态或现象 检查项
401 连接密钥缺失、复制错误、已被重新生成或吊销,或者控制台里的来源已被删除
402 PLAN_REQUIRED 试用或专业版已到期;新文章不会同步,删除仍会生效。开通后点「一键全量同步」补齐
409 WIDGET_NOT_READY 还没有任何文章完成索引,先全量同步,稍后再开启前台助手
413 / PAYLOAD_TOO_LARGE 单篇文章正文超过 2 MiB
VALIDATION_FAILED / 地址不一致提示 文章链接不在这个密钥所属来源的站点地址下;换成按站点实际地址创建的 WordPress 来源的密钥
测试连接提示密钥属于其他来源 填的是 Typecho 等来源的密钥;能用,但建议在控制台新建 WordPress 来源换上它的密钥
http_request_failed / 超时 服务器无法访问 MomoBird,或超时设置过短
保存成功但失败计数增加 到「设置 → MomoBird AI」查看最近错误,点「重试失败项」

开发

php tests/run.php
find . -name '*.php' -not -path './dev/*' -print0 | xargs -0 -n1 php -l
node --check assets/admin.js
bash scripts/package.sh

scripts/package.sh 生成 dist/MomoBirdAI-WordPress-<版本>.zip,顶层目录为 momobird-ai/,不包含测试和开发文件。

本地试用:dev/docker-compose.yml 起一个 WordPress(http://localhost:8088);`dev/mock-connect.php` 是 connect API 的本地替身,用法见文件开头的注释。

安全说明

  • 所有 MomoBird 请求都从 PHP 服务端发出,前台只输出问答助手的公开项目 ID。
  • 后台操作要求 manage_options 权限,REST 请求校验 WordPress nonce。
  • 生产 Base URL 必须使用 HTTPS,保持 TLS 证书校验,并限制响应体大小。
  • 错误信息和同步表不记录连接密钥、文章正文或完整的服务端响应。

License

GPL-2.0-or-later