Skip to content

ayfl269/astrbot_plugin_wordpress_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

AstrBot Plugin: WordPress Manager

AstrBot Version WordPress Version Python

通过 AI 聊天机器人轻松管理你的 WordPress 博客

简介

这是一个专为 AstrBot 设计的插件,旨在让博主能够通过自然语言与 LLM 对话,完成 WordPress 博客的日常维护工作。

无论你是想快速发布一篇灵感笔记、回复读者的评论,还是将手机里的照片传到图床,只需要一句话,AI 就能帮你搞定。支持 WordPress 5.x 及以上版本(基于 WordPress REST API)。

 核心特性

  • AI 写作与发布:利用 LLM 的能力撰写文章,并直接推送到 WordPress 博客(支持自动生成 Slug)。
  • 评论管理:随时查询最新评论,并让 AI 帮你拟定回复内容(支持文章、页面、说说评论)。
  • 快捷图床:发送图片给机器人,自动上传到 WordPress 媒体库并返回链接。
  • 安全可靠:基于 WordPress 应用密码认证,无需使用主密码,安全性更高。
  • 说说支持:支持 Argon 主题的说说功能,可发布说说到博客(可选启用)。
  • 智能标签:发布文章时支持自动创建和管理标签。

安装方法

  1. 进入 AstrBot 的插件目录:
    cd AstrBot/data/plugins/
  2. 克隆或下载本插件:
    git clone https://github.com/ayfl269/astrbot_plugin_wordpress_manager.git
  3. 重启 AstrBot。

配置说明

安装完成后,需要在 AstrBot 管理面板中配置以下参数:

配置项 说明 是否必需 示例
wordpress_url WordPress 站点的完整访问地址 https://example.com
wordpress_username WordPress 后台管理员账号的用户名 admin
wordpress_password WordPress 应用密码(非登录密码) xxxx xxxx xxxx xxxx
wordpress_user_agent 自定义 User-Agent(可选) Mozilla/5.0...
wordpress_enable_shuoshuo 启用说说功能(Argon 主题专用) true / false

如何生成 WordPress 应用密码

  1. 登录 WordPress 后台
  2. 进入 用户 → 个人资料
  3. 滚动到 应用密码 部分
  4. 输入应用名称(如 "AstrBot"),点击 添加新应用密码
  5. 复制生成的密码(格式类似:abcd efgh ijkl mnop),保存到插件配置中

⚠️ 重要提示:应用密码只需保存一次,关闭页面后无法再次查看。如丢失需重新生成。

说说功能说明

  • 仅 Argon 主题支持:说说功能是 Argon 主题的特色功能,使用其他主题请勿启用
  • 默认关闭:配置项默认为 false,避免与其他主题冲突
  • 评论统一管理:说说评论和文章评论统一使用 /get_blog_comments/reply_blog_comment 管理

使用指南

让 AI 能调用本插件(LLM 工具)

插件注册了多个 LLM 工具,AI 在对话时可自动选择调用:

工具名 说明
publish_blog_post 发布一篇新博客文章(支持标签)
get_blog_post 获取单篇文章详情
get_blog_posts 获取博客文章列表
update_blog_post 更新现有文章
get_blog_comments 获取最新评论列表
reply_blog_comment 回复指定评论
upload_blog_image 将图片 URL 上传到博客
publish_shuoshuo 发布说说(需启用说说功能)

启用方式:在 AstrBot 管理面板中进入 LLM 工具 设置,在可用工具列表中勾选上述 WordPress Manager 提供的工具并保存。启用后,AI 在回答「帮我发一篇博客」「看看最近评论」「回复评论 xxx」等问题时会自动调用对应工具。

命令行指令使用

你也可以直接使用命令来操作:

发布文章

/publish_blog_post 文章标题 文章内容 custom-slug draft Python,AI,教程

参数说明:

  • title: 文章标题(必需)
  • content: 文章内容(必需)
  • slug: 可选,URL 路径别名
  • status: 可选,publish 表示发布,draft 表示草稿,默认为 publish
  • tags: 可选,标签名称列表,逗号分隔(自动创建不存在的标签)

获取文章列表

/get_blog_posts 5 publish

参数说明:

  • per_page: 每页文章数量,默认 5
  • status: 文章状态,publish(已发布)、draft(草稿)、any(全部)

更新文章

/update_blog_post 123 新标题 新内容 Python,AI

参数说明:

  • post_id: 文章 ID(必需)
  • title: 可选,新的标题
  • content: 可选,新的内容
  • tags: 可选,新的标签列表

查看评论

/get_blog_comments

返回格式示例: 返回结果

最新 5 条评论:
--------------
张三:文章写得很棒!
ID: 123
文章 ID: 456
--------------
李四:说说很有趣
ID: 124
说说 ID: 789

 回复评论

/reply_blog_comment 123 回复内容

获取文章

用户: 帮我获取文章 123 的详细内容。

机器人: 文章详情: 标题:Python 异步编程入门 ID: 123 日期:2026-04-08 状态:publish 内容:Python 异步编程是一种强大的编程范式... 链接:https://example.com/python-asyncio 标签:Python, 编程,教程

发送一张图片,然后说:

/upload_blog_image

发布说说(Argon 主题)

/publish_shuoshuo 今天天气真好!

Prompt 示例

配置并启用 LLM 工具后,你可以直接与机器人对话。以下是一些指令示例:

发布文章

用户: 帮我写一篇关于"Python 异步编程"的技术博客,重点介绍 asyncio 库,写完直接发布到博客上,打上 Python、编程、教程这些标签。

机器人: (思考并写作中...) 好的,正在发布文章《Python 异步编程入门》... 机器人: 发布成功!链接:https://example.com/python-asyncio

用户: 帮我写一篇关于"AI 发展趋势"的文章,先保存为草稿。

机器人: 已保存为草稿。文章标题:AI 发展趋势,链接:https://example.com/ai-trends

查看与回复评论

用户: 最近博客有人评论吗?

机器人: 最新 5 条评论:

张三:文章写得很棒! ID: 123 文章 ID: 456

李四:说说很有趣 ID: 124 说说 ID: 789

用户: 帮我回复张三:谢谢支持,我会继续努力的!

机器人: 回复成功!

上传图片

  1. 发送一张图片 给机器人。
  2. 紧接着(或同时引用图片)说:

用户: 把这张图上传到博客。

机器人: 图片上传成功! 链接:https://example.com/wp-content/uploads/2024/01/image.jpg

发布说说(Argon 主题)

用户: 帮我发条说说,内容是"今天学习了 Python 异步编程,收获满满!"

机器人: 说说发布成功!链接:https://example.com/shuoshuo/123

常见问题 (FAQ)

Q: 插件支持 WordPress.com 托管的博客吗? A: 支持,但需要确保你的 WordPress 站点启用了 REST API,并且你拥有管理员权限。

Q: 发布文章失败,提示 401 Unauthorized? A: 请检查你的用户名和应用密码是否正确。注意应用密码不是登录密码,需要在个人资料页面生成。

Q: 图片上传失败? A: 请确保你的 WordPress 站点允许上传媒体文件,并且你的用户账号有上传权限。

Q: 评论功能无法使用? A: 请确保 WordPress 后台已启用评论功能(设置 → 讨论),并且你的用户账号有管理评论的权限。

Q: 如何禁用某些 LLM 工具? A: 在 AstrBot 管理面板的 LLM 工具 设置中,取消勾选你不希望 AI 使用的工具即可。

Q: 说说功能如何使用? A:

  1. 确保你使用的是 Argon 主题
  2. 在插件配置中启用 wordpress_enable_shuoshuo 选项
  3. 使用 /publish_shuoshuo 命令或让 AI 帮你发布说说
  4. 说说评论和文章评论统一管理,使用 /get_blog_comments 查看

Q: 标签如何使用? A:

  • 发布文章时使用 标签 1,标签 2,标签 3 参数
  • 标签不存在时会自动创建
  • 标签名称支持中文和英文
  • 获取文章时显示标签名称而不是 ID

🔧 开发说明

API 端点

本插件使用 WordPress REST API v2,主要端点:

  • GET/POST /wp-json/wp/v2/posts - 获取/创建文章
  • GET/POST /wp-json/wp/v2/shuoshuo - 获取/创建说说(Argon 主题)
  • GET/POST /wp-json/wp/v2/comments - 获取/创建评论
  • POST /wp-json/wp/v2/media - 上传媒体文件
  • GET/POST /wp-json/wp/v2/tags - 获取/创建标签

认证方式

使用 HTTP Basic Authentication,用户名和密码格式:

Authorization: Basic base64(username:application_password)

自定义 User-Agent

如果某些 WordPress 站点限制了 User-Agent,可以在配置中自定义:

"wordpress_user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"

版本信息

  • 插件版本:1.3.0
  • 支持的 WordPress 版本:5.x+
  • 支持的 AstrBot 版本:4.20+
  • Python 版本要求:3.8+

更新日志

v1.3.0

  • 新增获取文章详情功能(get_blog_post 命令和 LLM 工具)
  • 优化返回内容格式:移除所有 emoji 图标,信息更简洁
  • 优化标签显示:获取文章时显示标签名称而不是 ID
  • 优化内容清理:自动清理 HTML 标签和多余换行符
  • 返回完整文章内容,不再截断

v1.2.0

  • 新增说说发布功能(publish_shuoshuo,Argon 主题专用)
  • 新增说说功能配置开关(wordpress_enable_shuoshuo
  • 评论类型智能识别(自动区分文章/页面/说说评论)
  • 新增自定义 User-Agent 配置
  • 改进 _get_post() 方法支持说说获取
  • 移除重复的说说评论命令(统一管理)

v1.1.0

  • 新增文章列表获取功能(get_blog_posts
  • 新增文章更新功能(update_blog_post
  • 新增 LLM 工具:get_blog_postsupdate_blog_post
  • 支持文章状态过滤(已发布、草稿、全部)
  • 支持部分更新文章字段
  • 标签自动创建功能

v1.0.0

  • 初始版本发布
  • 支持文章发布(含标签自动创建)
  • 支持评论管理
  • 支持图片上传
  • 完整的 LLM 工具支持

许可证

本项目采用 MIT License 开源。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages