Skip to main content
Glama

Agentimus

PHP compatibility WordPress plugin version Tested up to License: GPL-2.0-or-later

为 AI 智能体时代而生的两件事。(1) 让任何 WordPress 网站清晰易读、可被引用——llms.txt、全文版本、Markdown 交付、JSON-LD、内容信号 robots 规则——然后评估其 AEO/GEO 就绪程度以及下一步该修复什么。(2) 让你已经在使用的 AI 工具通过 MCP 操作网站:插件内置了一个 Model Context Protocol 服务器,因此 Claude Code、Claude Desktop、Cursor 或 Codex 可以读取你的就绪度/流量/机器人数据,并且——在另外两个可选开关之后——起草、编辑和发布文章与页面,每次写入都以当前登录用户身份运行,经过权限检查和审计。轻量级,无 SEO 臃肿,无需框架。

在 WordPress.org 上发布: https://wordpress.org/plugins/agentimus/

📖 文档: https://heera.github.io/agentimus/ — 完整的用户手册和开发者参考。

安装

  • 从你的仪表盘 — 插件 → 安装插件 → 搜索 "Agentimus" → 立即安装 → 启用。

  • 从 WordPress.orghttps://wordpress.org/plugins/agentimus/

  • 从源码安装 — 克隆此仓库,运行 npm install && npm run build(生成 assets/admin/),然后将该文件夹复制或符号链接到 wp-content/plugins/

Related MCP server: wordpress-mcp

它能做什么

信号

端点 / 输出

链接索引

/llms.txt

全文版本

/llms-full.txt

Markdown 交付

/<slug>.mdAccept: text/markdown

结构化数据

JSON-LD WebSite + Person/Organization + BlogPosting + BreadcrumbList(交由 SEO 插件处理)

面向 AI 的主题

每页主题 → JSON-LD keywords + about DefinedTerm 实体(可通过 agentimus_topic_links 过滤器选择加入 Wikidata sameAs)+ /<slug>.md 中的 Topics: 行;静态(由编辑设置)或从标签与分类派生

AI 描述

每页一行摘要 → JSON-LD description + /<slug>.md 开头部分 + 权威的 <meta name="description">(替换主题自带的,交由 SEO 插件处理);由编辑设置,回退到摘要或约 30 字的内容总结。设置中的子开关可将其限制为仅 JSON-LD + .md 表面

写作助手(可选)

每个 Agentimus 界面上的羽毛笔按钮都会打开一个抽屉:简要提示 → 可编辑大纲 → 文章并行编写每个部分(每个部分对应 /assistant/compose-section + 一次润色调用;长文章不受单次响应的上限限制,失败的部分单独重试,写入中途刷新可恢复)→ 完整预览(标题、真实块、AI 描述、主题、建议的分类/标签、草稿/待定选择)→ 创建草稿直接进入编辑器。草稿写入与可读性面板评分的同一标准——可提升的开篇摘要、适合引用的段落长度、简洁的句子、引用的来源(readability_rules(),其段落上限源自 PageCheck 自身的阈值)。仅限创建:草稿文章在编辑器中打开,修订在编辑器中进行(抽屉旧的编辑路径及其安全块门控已移除——该门控存在是因为抽屉只能处理自己写入的块,而拒绝真实文章是对正确问题的错误答案)。形状按类型区分:Assistant::shape_for() 将分层类型写为 PAGE——不虚构章节、不设图片槽位、不设分类法,只有所有者知道的事实处使用 [placeholder]——MCP 创建运行相同的提示词。图片以填充了 alt 文本的占位块形式到达:每个图片块上都有从 alt 文本生成图片特色图片(AI)侧边栏面板,以及三个作用域的询问 AI——单个块、多块选择(BlockSettingsMenuControls,因为 InspectorControls 在多选时从不渲染)、或返回大纲范围编辑列表的文档规划器,该列表针对重新读取的锚点映射逐项应用(replaceBlocks 会生成新的 clientId,因此过期的 id 会静默无效)。服务端与 MCP 使用相同的经过审计的写入路径(Assistant.phpContentWriter),由 enable_agent_writes + 用户自身权限门控,每次生成都通过 Assist::generate() 路由(限速、遵循内容指南),状态限制为 draft|pending——助手永远不能发布

使用 AI 写作(可选)

编辑器中的**"使用 AI 起草"从页面自身内容编写 AI 描述,"使用 AI 建议"填充主题;"使用 AI 修复"**针对每条 AI 可读性警告起草修复方案(开篇摘要一键插入,其余仅复制)。通过 WordPress 7.0 AI Client 路由——使用你自己的提供商密钥,插件绝不处理;在设置 → 连接器下配置提供商之前保持隐藏

AI 能力

通过 wp_register_ability 分为两个层级,每个能力像其源界面一样受权限门控。读取(始终注册): agentimus/read-readinessread-findings(Findings 界面自身的排名入口,限制为 12 行)、read-audience(人与机器分开计数,绝不求和)、read-ai-visibilityread-ai-trafficread-request-logread-edge-trafficread-search-visibilityread-search-performanceread-search-opportunitiesread-google-index(可选的 url 从存储的检查中回答,无配额)、identify-botread-content-issues(哪些页面需要处理、每页被标记的原因、以及该判定有多旧——即 read-findings 汇总的列表)、read-terms(此站点已使用的分类和标签,使用写入工具所期望的确切名称)、check-pagepreview-schema/-markdownscan-exposed-filessuggest-internal-linkssearch-media(标题 + _wp_attachment_image_alt,受 upload_files 门控)。写入(仅在 enable_agent_writes 开启时注册——默认关闭,需要 MCP 服务器开关,关闭意味着这些能力在任何界面上都不存在): create-content/update-content(草稿优先;分类和标签按名称使用 wp-admin 自身的创建规则,特色图片按附件 ID 或侧载 URL,AI 描述/主题在同一次调用中)、write-descriptionwrite-topicswrite-search-fields(焦点关键词和 SEO 标题——决定页面在搜索结果中呈现方式的两个字段,也是代理最后两个无法触及的字段)、以及 apply-fix(从只能启用文档化功能的封闭词汇表中执行可读性检查自身的修复措施)。status=publish 需要第三个开关(agent_writes_publish)加上用户自身的发布权限

MCP 服务器(可选)

/wp-json/agentimus/v1/mcp — WordPress MCP Adapter 内置于插件中(Composer 供应商、Jetpack-autoloader 仲裁)位于 enable_mcp_server 开关之后(设置 → 发现,默认关闭;WP 6.9+)。外部 MCP 客户端(Claude Code、Claude Desktop、Codex)使用应用密码进行身份验证,并获得上述确切的能力——二十个只读工具,加上仅在写入开关开启时的六个写入工具,以及四个资源llms.txtllms-full.txtdiscovery.json、代理卡片),以 meta.mcp.uri 声明;端点被关闭的资源永远不会注册(服务器的自我描述说明其运行的是哪个层级)——适配器的通用执行任意能力默认服务器保持抑制,每次调用都在 Agent Access 中审计,关闭开关会硬断开实时客户端。开关关闭时,库永远不会加载,端点也不存在

XML 站点地图

/agentimus-sitemap.xml — 可选回退方案,在 WordPress 核心或 SEO 插件均未提供站点地图时生成(站点地图索引 + 分页子站点地图)

爬虫策略

robots.txt 内容信号 + 训练爬虫黑名单

发现层

/.well-known/discovery.json(+ agent-card.jsonmcp.json

变更馈送

/agentimus-changes.json?since= — 最近添加、更新和移除的内容以 JSON 形式提供,使代理只获取增量(在 discovery.json 中通告;默认开启)

爬取强制(可选)

在生成的端点上对黑名单、伪造"扫描器"或已证实冒充的用户代理进行硬阻止(403)——ACME 安全,默认关闭;可选的机器人身份验证(前向确认反向 DNS + 运营商发布的 IP 范围,通过所有者可编辑的已验证机器人注册表),因此伪造的机器人名称无法获得白名单资格,已证实的伪造者会被拒绝

{"type": "text", "text": "## 在管理后台中"}

  • 发现(Findings) — 全站所有待办事项的单一入口,位于导航栏并带有独立计数。一个统一的排名列表 — 包括正在流失本已获得点击的页面,以及安装检查发现的所有问题 — 按每项造成的损失排序,每一行都带有直达修复的按钮。计数只衡量你可以实际处理的工作;仅需等待后续报告的事项则以一个安静的圆点显示。其下方是按条目划分的内容工作清单:每个已发布内容一行,说明它被发现了什么问题、是否已解决,以及还需要什么。

  • 浅色 / 深色主题 — 一个切换开关,显示你将要切换到的模式。深色模式是手工调校的调色板,而非简单反色,并且针对每个 WordPress 后台配色方案有各自的风格(Default 配色使用中性色,Coffee 配色使用棕色和金色)。手动选择会一直保持,直到操作系统下次切换主题,之后设备的节奏重新生效;最终生效的模式通过 <html data-ar-theme> 承载,并按浏览器记忆,绝不会存入设置。

  • AEO/GEO 评分 — 仪表盘上的一个 0–100 分评分,分为五个等级(可发现 / 可阅读 / 可信赖 / 已优化 / 被引用),并给出唯一最有用的下一步建议;每个等级都可深链到对应的操作位置。被引用为可选开启(见引用),关闭时其权重会重新分配到其他等级。99.6 分显示为 99 — 100 分必须靠实打实挣得,绝不四舍五入。

  • 按问题处理 — 选择一项检查,所有被标记的页面都会在“你的内容”中打开,支持排序和分页,而非只显示六个样本。修复了筛选列表所针对的问题后,该行保持原位并标记为已完成,而不是在你看到修复生效之前就消失。

  • 不依赖 WP-Cron 的读取 — 内容扫描是计划任务,而在许多主机上 WordPress 的计划任务永远不会运行(缓存页面永远不会执行 PHP,因此触发计划任务的请求永远不会到达)。Agentimus 会注意到自己的任务已逾期,并在你当前所在的后台页面中直接运行它们,同时加入核心自身的锁机制,确保任务永远不会被重复执行。cron 正常工作的站点不会加载任何额外内容。

  • 优化你的内容 — 针对你的文章进行逐页可引用性检查(内容过薄、是否有可引用的具体内容、可引用段落、时效性),并提供改进哪些页面的工作清单,以及编辑器中对应的只读面板。商务产品、商务插件指定的页面(购物车/结账/账户 — WooCommerce 选项和 FluentCart 设置都会读取)、以及没有作者撰写正文的短代码/区块容器页面均被排除;搁置任何不打算被引用的页面(它保持发布状态,只是退出评分)— 搁置是一个台账,因此你搁置的所有内容都会保留在列表中并计入统计,而非仅仅消失;将分类标记为常青,可让永恒内容免于时效性检查。

  • 内容类型,以及你对它们的否决权设置)— 插件启用的类型与你自己创建的类型分组显示,即使添加该类型的插件希望它保持开启,你也可以将其关闭。写作助手遵循同样的规则:页面不会获得虚构的章节、图片槽位或标签,因为页面不是文章。

  • 返回时重新读取屏幕 — 离开数据屏幕再回来,以前显示的是插件首次打开时的数字。现在每个屏幕在返回时都会刷新,因此屏幕上显示的就是真实数据。

  • 发现中心发现 标签页)— 该站点为机器发布的所有内容的清单:描述它的提供方、它们声明的能力、公共 API、well-known 文档,以及 MCP 与工具面。工具部分用三个面板分别说明三件事 — 已登录代理可以运行什么(按提供方分组,每组展开显示工具名称)、这些代理连接的地址,以及匿名代理在 /.well-known/mcp.json 中获得什么。能力列表在固定高度内滚动,因为其长度由站点自行决定(每个公共 REST 文章类型和分类法各一个)。任何注册问题都会附有通俗易懂的修复说明。

  • 就绪报告 — 通过/警告/失败检查,每项都附有通俗易懂的建议和直达修复的深链(包括“robots.txt 中声明的 sitemap”检查)。

  • 代理预览 — 一个模态框(从就绪报告进入),显示代理为站点或任何页面/文章接收到的确切 JSON-LDMarkdown,带有分组的站点/页面/文章选择器、复制和验证器链接。即使 schema 被禁用或由某个 SEO 插件接管,它也会渲染将要输出的内容;受密码保护的文章保持隐藏,未发布的草稿则显示为发布后将输出的预览。编辑器中还有一个只读的孪生面板。

  • 可见性 → 搜索 — 人们搜索了什么、你出现了多少次、这些结果被点击了多少次,以及带来这些点击的页面,每个数字都由搜索引擎本身报告。同时连接 Google 和 Bing 后会出现一个开关:两者统计的是不同的搜索者,绝不合并。紧接其下,搜索机会将这些数字转化为工作清单 — 刚好在第一页之外的页面,以及在第一页上却被滚过的页面 — 每个条目都连接到修复它的确切字段。它还会指出你的多个页面正在瓜分的搜索词 — 点击被分散,因此每个页面都比单一页面排名更低 — 并标明获得点击的页面,以及对其余每个页面的一个决策。(在 1.36 之前它位于就绪报告底部;就绪报告现在保留了一个指向它的链接。)

  • 可见性 → 索引中 — 搜索引擎的索引是否真的收录了你的页面,Bing 和 Google 在同一屏幕上显示。Bing 是当今 ChatGPT 搜索和 Copilot 读取的索引:它收录了你站点的多少内容、其爬虫进入的顺畅程度、带周环比趋势的每日人工流量序列,以及由 Bing 自己的 API 回答的实时逐页问题。Google 一侧轮巡整个站点并每日重新检查 — 健康的页面保持为计数,任何需要关注的页面都会以 Google 自己的措辞获得一行记录,并带有进入 Search Console 的深链,任何单个 URL 都可以当场重新检查。

  • 数据源设置 → 数据源)— Agentimus 读取的外部服务,全部可选且只读,每个服务一个密钥保存在你自己的服务器上,无第三方代理:Cloudflare 用于边缘在你的服务器看到之前应答或阻止的内容(并且,通过可选的额外令牌权限,在你发布时清除其缓存),Google Search Console 用于搜索和索引覆盖 — 如果你想要访问者数据,Analytics 可复用同一密钥 — 以及 Bing Webmaster Tools,它还可以通过 IndexNow 宣布你发布的每项更改。数据落入你自己的数据库,因此你的历史记录比每个服务自身的报告窗口更长久。

  • 引用可见性 → 引用;可选开启,自带密钥 — 为你的评分添加被引用等级,且一条引用在 90 天后过期,因此过时的引用永远不会计入)— 追踪你选择的每个品牌、产品或人物在 ChatGPT、Perplexity、Gemini 和 Claude 中的表现。对每个条目,它都会提出你的受众实际输入的问题,并报告它是否被提及、链接,以及相对于其自身竞争对手的排名,随时间变化。为条目指定分类“WordPress SEO 插件”),Agentimus 就会建议人们实际会输入的问题 — 或者,如果 WordPress 中配置了 AI 提供方,则请该 AI 提供一组非品牌问题(POST /visibility/suggest/visibility/suggest-ai)。每个条目都有自己的网站、分类、竞争对手、问题和记分板;可暂停任意单个条目或整个计划,屏幕上的每个设置都会自动保存。结果存储在本地;这是唯一发起出站调用的功能 — 使用你提供的 API 密钥(静态加密存储),默认关闭。它保留自己的密钥,而非复用 WordPress 共享的 AI 连接器,因为可见性检查是根据引擎引用的来源来评分的,而共享客户端会丢弃这些来源。

  • 代理活动日志 — 一个仅限本地的仪表盘(默认不记录 IP;可选设置仅对标记的爬虫存储 IP),显示哪些 AI 代理和爬虫获取了你的端点;重复命中会分组并计数,最新在前。点击任意一天的柱状条可查看当天的完整报告 — 客户端、端点和每个请求。你自己已登录的访问会被跳过,就绪报告自身的“验证在线/暴露扫描”抓取也会被跳过(它们携带一个短时效的 X-Agentimus-Selfcheck 令牌,因为它们是刻意匿名的)。

  • 请求日志更多 → 请求日志)— 该仪表盘背后的原始日志:每个请求一行,键集分页,可按客户端、端点、网络、用户代理和日期范围筛选。筛选条件为 AND 关系,提供了汇总表在结构上无法显示的代理 × 端点交叉表。

  • 代理访问更多 → 代理访问)— 日志的另一面:谁认证并操作了 Agentimus 创建的机器面。记录应用程序密码的创建/首次使用/重命名/撤销、WordPress 能力的执行,以及被拒绝或探测不存在能力的请求 — 每一行都说明是谁:背后的用户和具名应用程序密码,实时解析(已重命名的密钥显示当前标签,已撤销的显示“已撤销”)。这是一份记录,而非守卫(它从不阻止);不记录 IP,因此它指出的是凭据,而非个人。基于 rest_request_after_callbacks 和应用程序密码钩子;凭据部分不需要 Abilities API,能力部分会自动检测它。

  • 来自 AI 的流量 — 一个私有的、第一方计数,统计哪些 AI 助手为你带来了访客(按日统计助手 → 落地页;无 IP、无逐访客数据)。仪表盘显示摘要 — 点击任意一天的柱状条可查看当天的助手 → 落地页报告;更多 → 访客 是完整报告,具有相同的按日下钻。那里的每张卡片都说明这些是,而非代理:请求日志是机器侧,访客是人类侧,两者绝不相加。可选的 CDN 模式在浏览器中计数这些数据,使数字在整页缓存下依然存活。由于识别是一个有限列表,可选的发现遗漏的 AI 来源诊断会记录它无法归因的引荐主机和 utm_source 标签 — 这是看到盲点的唯一方式,否则盲点不会留下任何痕迹。

  • 访问日志保留设置 → 访问日志)— 保留期限、每晚自动删除和硬性行数上限。上限优先于保留期限:“保留 90 天”是年龄上限,而非保证某行能存活 90 天。关闭自动删除并不意味着“永久保留” — 上限仍然会收集,最旧的先删。

  • 让 AI 端点远离你的缓存设置 → 缓存与 CDN,可选开启)— 如果站点前面的缓存或 CDN 为 AI 端点(llms.txt.well-known 文档、变更源)提供存储副本,这些代理抓取就永远不会到达 WordPress:日志会少计它们,变更源也可能过期。开启后,端点会发送 Cache-Control: no-store,因此任何尊重该指令的缓存都会让每次抓取通过。就绪报告在检测到站点前面有缓存时会链接到它。

  • 内容变更时刷新 AI 文件设置 → 缓存与 CDN,默认开启)— 每次内容变更时,请求每个检测到的页面缓存(WP Rocket、Nginx Helper、W3 Total Cache、LiteSpeed、WP Super Cache、Cache Enabler,或任何 agentimus_purge_url 监听器)丢弃 AI 文件 — llms.txtllms-full.txtrobots.txt、变更源、.well-known 文档 — 以及被编辑文章的 .md 孪生文件,缓存插件否则永远不会知道要刷新它。基于功能检测,因此没有缓存时它是空操作。

  • 待审核活动 — 导航栏中的审核队列,标记新的、异常高流量的、伪造/扫描器,或冒充客户端(声称来自可编辑的已验证机器人注册表中的机器人 — Googlebot、GPTBot、PerplexityBot 等 — 但被该运营方发布的检查(反向 DNS 或其发布的 IP 范围)确凿地判定为不符),每个都带有简单的“检查此机器人”面板和一键阻止 / 允许 / 忽略。与可选的阻止扫描器与爬虫强制执行配对;可选的为标记的客户端存储 IP 地址设置显示要阻止的确切地址。每个长期决策 — 已阻止、已信任、已忽略 — 之后都在设置 → AI 访问 → 管理客户端中管理:身份、决策日期,每行一键撤销。

  • 暴露面 — 可选控制,限制匿名爬虫可以读取的内容(用户名枚举、作者归档、WP 版本、<head> 链接、XML-RPC),外加一键暴露文件扫描,检查风险文件(备份、.envdebug.log、密钥)是否可公开下载,并告诉你如何阻止它们。这是指导,而非防火墙。

  • 恢复出厂设置 — 一键将所有设置恢复为推荐的默认值,并预览将更改的确切内容。

架构

  • PHPinc/,命名空间 Agentimus\,PSR-4 自动加载)——纯原生,无框架。

    • Plugin 负责编排;Settings 是唯一的选项存储;Cache 处理 transient;Endpoints / Markdown / Schema 生成输出;Readiness 执行检查;Rest 支撑后台;Admin 挂载管理界面。

  • 管理界面 —— Vue 3(Options API),通过 Vite 构建到 assets/admin/。 使用标准 WP nonce 与 REST 命名空间 agentimus/v1 通信。

扩展到任何站点 / 内容类型

免费核心覆盖 post + page 以及任何你选择启用的公开文章类型 (内容类型卡片,或 agentimus_post_types 过滤器),因此产品和 CPT 会自动流入 llms.txt、全文版、markdown 和 schema。 更深层的覆盖(WooCommerce Product 映射器、页面构建器内容)是 一个附加组件,它挂接以下接缝:

  • agentimus_post_types —— 添加/移除对代理可见的文章类型

  • agentimus_schema_for_post —— 返回完整节点,例如带 offers 的 Product

  • agentimus_markdown_source —— 为页面构建器内容提供渲染后的 HTML

面向开发者 —— 让你的插件可被发现

Agentimus 在 /.well-known/discovery.json(以及 agent-card.jsonmcp.json)处 暴露一个统一的聚合发现层。任何插件都可以通过一个动作且无依赖来注册自己 ——如果未安装 Agentimus,该钩子永远不会触发,因此代码是惰性的:

add_action( 'wpdiscovery_register', function ( $registry ) {
    $registry->register( array(
        'id'           => 'acme-bookings',
        'title'        => 'Acme Bookings',
        'type'         => 'scheduling',                 // controlled vocab + x-vendor-name
        'capabilities' => array( 'scheduling.booking.create' ), // dot-notation INTENT
        'endpoints'    => array(                        // WHERE (concrete paths live here)
            array( 'url' => '/wp-json/acme/v1', 'type' => 'rest', 'auth' => 'apikey' ),
        ),
        'auth'         => array( 'type' => 'apikey', 'docs' => 'https://acme.dev/api' ),
        'agent'        => array( 'name' => 'Acme Agent', 'skills' => array(
            array( 'id' => 'create_booking', 'description' => 'Book an appointment.' ),
        ) ),
    ) );
} );

还提供了一个全局门面(需要守卫,因为这是直接调用):

if ( class_exists( 'Agentimus_Discovery' ) ) {
    Agentimus_Discovery::register( [...] );
}

资源字段: id(必填,slug)、title(必填)、type(必填 —— contentcommerceschedulingcoursesformscrmauthsearchmediamessaginganalyticspaymentsdirectoryagentx-供应商名称; 通过 agentimus_resource_types 过滤器添加你自己的类型 —— 未声明的词 会被标记为 x- 并发布,绝不会被丢弃)、 descriptionversioncapabilities[]endpoints[]{url, type, methods[], auth, description})、schemas[]auth{type, oidc, scopes[], docs})、 agent{name, description, skills[{id,description}], endpoint, auth})、 abilities[]tools[](MCP 形态)、docsprovider 会自动填充 —— 不要设置它。

capabilities 描述意图;具体的 /wp-json/... 路径只存在于 endpoints/tools 中。无效条目会被拒绝并在 Discovery Hub → Validation 中 (连同原因)显示。

$registry->add_well_known( [...] ) 提供 /.well-known/<name> 文档 (回调 | 重定向 | 文件)。完整的复制粘贴参考请参见 examples/integrate-your-plugin.php,标准规范请参见 WP_Discovery Protocol

钩子与过滤器

每个钩子都是可选的,分为三个层级。表格给出每个钩子的类型(action 或 filter) 和回调签名(参数 → 返回值);复制粘贴示例见 examples/all-hooks-reference.php。在签名中, RegistrySettingsPlugin 分别是 Agentimus\Discovery\RegistryAgentimus\SettingsAgentimus\Plugin 类。

稳定

公开且冻结在 WP_Discovery 规范 1.0 —— 可以安全地在此基础上构建。

钩子

类型

签名

用途

wpdiscovery_register

action

( Registry $registry )

注册你的资源并提供你自己的 /.well-known 文档。完整 schema 请参见 integrate-your-plugin.php

agentimus_entity_types

filter

( string[] $types ): string[]

向设置 → 身份中添加可选的 schema.org 实体类型。

agentimus_cache_flushed

action

()

在 Agentimus 重新生成其文档后运行 —— 清除你的 CDN / 页面缓存。

agentimus_booted

action

( Plugin $plugin )

在插件启动后运行 —— 配套插件或 Pro 附加组件在此注册其功能。

// Add selectable schema.org entity types to Settings → Identity.
add_filter( 'agentimus_entity_types', function ( $types ) {
    $types[] = 'Restaurant';
    return $types;
} );

扩展

受支持的输出整形过滤器;签名可能在版本之间演变。

Hook

Type

Signature

Purpose

agentimus_envelope

filter

( array $envelope, Registry $registry ): array

整个组装好的 discovery.json — 添加 x-<vendor> 扩展键。

agentimus_documents

filter

( array $docs, Registry $registry ): array

将 Agentimus 无法自动检测的标准文档添加到 documents 映射中。

agentimus_schema_url

filter

( string $url ): string

发现文档的 $schema URL;返回 '' 以省略它。

agentimus_well_known_routed

filter

( string[] $names ): string[]

路由你提供的扁平 /.well-known/<name>,使其在每个主机上都能解析。

agentimus_well_known_nested

filter

( string[] $names ): string[]

路由精确匹配的嵌套 /.well-known/<dir>/<file>

agentimus_well_known_specs

filter

( array $specs ): array

用管理它的标准来标记 /.well-known 名称(name => label)。

agentimus_signed_surfaces

filter

( string[] $surfaces ): string[]

你的配套签名器签署哪些发现文档。

agentimus_mcp

filter

( array $mcp, array $resources ): array

/.well-known/mcp.json 处公布的 MCP 描述符。

agentimus_mcp_card_server

filter

( string $id, array $servers ): string

固定 MCP 服务器卡片描述哪个服务器('' = 自动)。

agentimus_mcp_server_abilities

filter

( string[] $names ): string[]

Agentimus 通过自己的 MCP 服务器向外部代理暴露的能力(默认:其九个只读能力)。裁剪以缩小离开站点的内容范围。

agentimus_bootstrap_mcp_adapter

filter

( bool $bootstrap ): bool

完全否决加载捆绑的 MCP Adapter 库(例如自行管理适配器的主机),与所有者的 enable_mcp_server 设置无关。

agentimus_agent_skills

filter

( array $skills, array $resources ): array

Agent Skills 索引中的条目。

agentimus_post_types

filter

( string[] $types, string[] $available ): string[]

哪些文章类型对代理可见(每种类型都会获得一个 llms.txt 部分)。

agentimus_post_type_source

filter

( string $source, string $post_type ): string

将文章类型的 llms.txt 部分(以及 Agent 预览选择器)归因于你的插件。

agentimus_changes_max

filter

( int $max ): int

变更馈送窗口的大小 — 它能容纳的最新条目数(默认 200,最大 2000)。

agentimus_tombstone_retain_days

filter

( int $days ): int

删除在变更馈送中保留多久才被清除(默认 90)。

agentimus_page_checks

filter

( array $checks, array $stats, WP_Post $post ): array

添加、调整或删除编辑器中显示的每页"可读性"检查。

agentimus_ai_assist_enabled

filter

( bool $enabled ): bool

是否提供编辑器的"使用 AI 起草"/"使用 AI 修复"辅助功能(默认:当 WordPress 中配置了支持文本的 AI 提供商时开启)。

agentimus_markdown_source

filter

( ?string $html, WP_Post $post ): ?string

为页面构建器内容提供渲染后的 HTML(null = 正常渲染)。

agentimus_topic_exclude

filter

( string[] $slugs ): string[]

要从 llms.txt 主题列表和每页派生主题中省略的主题/分类别名。

agentimus_derive_taxonomies

filter

( string[] $taxonomies, WP_Post $post ): string[]

哪些分类法自动填充文章的主题以供 AI 使用(默认 categorypost_tag)。供应商可添加例如 product_cat;术语会流经派生开关、排除列表和上限。

agentimus_post_topics

filter

( string[] $topics, WP_Post $post ): string[]

添加或完善文章的主题供 AI 使用列表(→ JSON-LD keywords + Markdown)。之后会重新规范化(去重、设上限)。

agentimus_topic_links

filter

( string[] $urls, string $topic, WP_Post $post ): string[]

主题的参考 URL(Wikidata、Wikipedia…)→ schema.org about sameAs。核心不提供任何内容(无自动查找);由你映射。即插即用示例:topic-links-wikidata.php

agentimus_topic_suggestions

filter

( string[] $pool ): string[]

编辑器"主题供 AI 使用"框中的自动补全池(默认:已使用的主题 + 标签/分类 + 专业知识)。

agentimus_topic_meaningful

filter

( bool $meaningful, string $name, ?object $term ): bool

自动派生的分类术语是否成为主题。默认丢弃纯数字名称("67"、杂散 ID);如果数字确实是主题(例如"1984"),返回 true 以保留。

agentimus_llms_full_item_max_bytes

filter

( int $bytes ): int

llms-full.txt 版本的每项字节上限。

agentimus_llms_full_avg_item_bytes

filter

( int $bytes ): int

用于在管理后台估算 llms-full.txt 的平均条目大小。

agentimus_yield_surface

filter

( bool $yield, string $surface ): bool

将某个表面(llms_txtrobots 等)让渡给你自己的生产者。

agentimus_defer_schema

filter

( bool $active ): bool

是否输出前端 JSON-LD(为 SEO 插件让位)。

agentimus_schema_for_post

filter

( array $node, WP_Post $post ): array

替换文章的 JSON-LD 节点(例如 Product)。

agentimus_post_description

filter

( string $desc, WP_Post $post ): string

文章 AI 描述的最终决定(编辑器值 → 摘要/概述回退)。供给 JSON-LD description.md 开头和 meta 标签;之后会重新清理(去除标签、设上限)。

agentimus_emit_meta_description

filter

( bool $emit, WP_Post $post ): bool

Agentimus 是否在此请求中管理页面的 <meta name="description">。返回 false<head> 留给你的主题。(对于专门的 SEO 插件已自动让位。)

agentimus_schema_graph

filter

( array $graph ): array

对整个 JSON-LD @graph 的最后修改机会。

agentimus_faq_pairs

filter

( array $pairs, WP_Post $post ): array

贡献额外的 FAQPage 问答对。

agentimus_sitemap

filter

( array $sitemap ): array

声明 Agentimus 无法自动检测的站点地图。

agentimus_sitemap_max_urls

filter

( int $max ): int

限制生成的站点地图中的 URL 数量。

agentimus_rest_discovery

filter

( bool $enabled ): bool

REST 命名空间自动发现的总开关。

agentimus_rest_namespaces

filter

( string[] $namespaces ): string[]

要在发现文档中发布的 REST 命名空间。

agentimus_rest_skip_namespaces

filter

( string[] $namespaces ): string[]

要从发现中排除的 REST 命名空间。

agentimus_discoverable_ability

filter

( bool $discoverable, string $name, mixed $ability ): bool

包含或排除单个 WP 能力。

agentimus_serve_security_txt

filter

( bool $serve ): bool

Agentimus 是否生成 security.txt

agentimus_security_txt

filter

( string $body ): string

编辑最终的 security.txt 正文。

agentimus_security_txt_expires_days

filter

( int $days ): int

security.txtExpires 窗口,以天为单位。

agentimus_readiness_checks

filter

( array $checks, Settings $settings ): array

添加或调整管理后台 Discovery Hub 的就绪检查。

agentimus_signing_secret_key

filter

( string $key ): string

从常量或保险库提供 Ed25519 签名密钥。

agentimus_exposed_paths

filter

( string[] $paths, Settings $settings ): string[]

暴露文件扫描探测的敏感路径列表。

agentimus_verified_bot_domains

filter

( array $map ): array

可验证机器人 rDNS 映射(注册表令牌 → 反向 DNS 域后缀),来源于所有者可编辑的注册表。

agentimus_verifier_registry

filter

( array $entries ): array

所有者编辑后的有效已验证机器人注册表 — 两种验证方法(rDNS 域和已发布的 IP 范围文件)的来源。

agentimus_trusted_proxies

filter

( string[] $cidrs ): string[]

用于真实客户端 IP 解析的可信代理/CDN CIDR。仅当直接对端是已验证的代理时才接受转发的标头 — 它不能用于伪造源 IP。

agentimus_referral_beacon

filter

( bool $enabled ): bool

可选"CDN 模式"推荐信标的总开关(在浏览器中统计 AI 访问)。

agentimus_markdown_cache

filter

( bool $cache ): bool

启用或禁用每篇文章的 .md 缓存(默认开启)。

agentimus_flagged_ip_retention_days

filter

( int $days ): int

可选标记 IP 存储的保留窗口(默认约 14)。

// Add a vendor extension to the discovery document (the x- namespace is yours).
add_filter( 'agentimus_envelope', function ( $envelope, $registry ) {
    $envelope['x-acme'] = array( 'portal' => 'https://acme.example' );
    return $envelope;
}, 10, 2 );

内部

高级站点所有者调优——而非第三方集成接口。

Hook

Type

Signature

用途

agentimus_deny_request

filter

( bool $deny, string $ua ): bool

Guard 对是否对请求返回 403 的最终决定权。

agentimus_block_allowlist

filter

( string[] $allowed ): string[]

绝不能被硬性阻止的客户端(搜索引擎 + 你的列表)。

agentimus_verify_bots

filter

( bool $on ): bool

强制开启/关闭机器人身份验证(反向 DNS + 已发布的 IP 范围),覆盖设置。

agentimus_reverse_dns

filter

( ?string $host, string $ip ): ?string

覆盖反向 DNS 检查中的 PTR 查询 — 返回主机名(无则返回 ''),或返回 null 以使用原生解析器。

agentimus_forward_dns

filter

( ?array $ips, string $host ): ?array

覆盖正向 A/AAAA 查询 — 返回 IP 字符串数组,或返回 null 以使用原生解析器。

agentimus_engine_signatures

filter

( array $signatures ): array

在 token 边界匹配真实爬虫的结构化签名。

agentimus_generic_ua_tokens

filter

( string[] $tokens ): string[]

被视为低信号的一般性 user-agent token。

agentimus_agent_map

filter

( array $map ): array

user-agent → 活动日志的友好标签。

agentimus_spoof_signatures

filter

( string[] $signatures ): string[]

标记伪造/旧设备扫描器的平台特征。

agentimus_known_agents

filter

( array $catalog ): array

已知代理目录(user-agent → 标签)。

agentimus_known_scanners

filter

( string[] $known ): string[]

作为一键阻止建议提供的扫描器 user-agent。

agentimus_known_trainers

filter

( string[] $known ): string[]

为 robots.txt 阻止而提供的 AI 训练器 user-agent。

agentimus_ai_referral_sources

filter

( array $map ): array

needle → "来自 AI 的流量"的友好名称。包含点的 needle 会匹配 referrer 主机(及其任何子域名)以及携带该主机的 utm_source;不带点的 needle 永远无法等于主机,因此它只匹配 utm_source — 这正是携带 utm_source=perplexity 的助手被计入的方式。

agentimus_unknown_sources_max_rows

filter

( int $max ): int

选择加入的"查找遗漏的 AI 来源"表的行数上限。0 禁用上限。

agentimus_activity_skip_self

filter

( bool $skip ): bool

是否跳过记录已登录管理员的命中。注意这是从已登录的 cookie 评估的,而不是当前用户,因此它在不携带 nonce 的 REST 路由上仍然有效。

agentimus_activity_retention_days

filter

( int $days ): int

代理命中保留多长时间。覆盖设置 → 访问日志值。仪表板仍然最多报告 30 天。同时提高 agentimus_activity_max_rows,否则行数上限无论如何都会丢弃额外的天数。

agentimus_bypass_shared_cache

filter

( bool $on ): bool

强制 AI 端点不可缓存(发送 Cache-Control: no-store),以便共享缓存/CDN 无法从活动日志中隐藏代理获取。覆盖 设置 → 缓存与 CDN 开关。

agentimus_purge_on_change

filter

( bool $on ): bool

在内容变更时开启/关闭 AI 文件的自动缓存清除。覆盖 设置 → 缓存与 CDN 开关。

agentimus_purge_urls

filter

( string[] $urls ): string[]

Agentimus 在内容变更时要求页面缓存删除的确切 URL(添加你自己的,或缩减集合)。

agentimus_purge_url

action

( string $url )

清除时每个 URL 触发一次 — 挂钩它以支持 Agentimus 无法原生检测的页面缓存。(agentimus_purged 使用整个列表触发一次。)

agentimus_new_agent_seconds

filter

( int $seconds ): int

用于待审查活动面板的"新代理"窗口。

agentimus_burst_min_hits

filter

( int $hits ): int

标记突发的最小命中数。

agentimus_heavy_min_hits

filter

( int $hits ): int

标记重度使用的最小命中数。

agentimus_threats_limit

filter

( int $limit ): int

"待审查活动"面板中的最大行数。

agentimus_default_settings

filter

( array $defaults ): array

默认设置数组。

agentimus_settings

filter

( array $settings ): array

读取时的实时合并设置数组。

agentimus_sanitize_settings

filter

( array $clean, array $input ): array

保存时验证/强制转换伴随添加的字段。

agentimus_settings_reset

action

()

当所有者重置设置时运行。

// The Guard's final say on whether to 403 a request.
add_filter( 'agentimus_deny_request', function ( $deny, $ua ) {
    return $deny;
}, 10, 2 );

开发

npm install
npm run build      # one-off build into assets/admin/
npm run dev        # rebuild on change

assets/admin/ 已被 git 忽略——它是构建产物。请将其包含在 分发的 .zip.org SVN 标签)中,而不是仓库中。

要求

  • WordPress 6.9+(测试至 7.0)

  • PHP 7.4+。

许可证

GPL-2.0-or-later。管理应用由 resources/ 中的 Vue 源码通过 Vite 构建——不附带仅压缩的代码,因此构建是可复现的。

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables AI-powered WordPress management via MCP, with 158 tools for posts, pages, media, plugins, themes, users, comments, and more, plus token-optimized responses.
    100
    79
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A free WordPress plugin that turns your site into a governed MCP server, exposing 153 curated WordPress abilities (posts, media, users, WooCommerce, ACF, SEO) as tools for AI agents like Claude and Cursor. Every ability is off by default, scoped to a least-privilege user, capability-gated, and logged.
    2
    GPL 2.0
  • F
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to interact with a WordPress site, allowing content and taxonomy management (list, create, update, delete) through 17 MCP tools.
    2

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/heera/agentimus'

If you have feedback or need assistance with the MCP directory API, please join our Discord server