这是 WordPress AI 构建区块 计划的一部分。主要项目包括 PHP AI Client SDK 、 Abilities API 、 MCP Adapter 和 AI 实验插件。
介绍
PHP AI Client SDK(GitHub) 提供了共享基础设施,让 WordPress 插件和其他 PHP 项目能够快速灵活地集成 AI 功能。类似于 Vercel AI SDK 等项目,它提供了一个统一的接口,适用于所有 AI 提供商——从简单的文本生成到复杂的多模态操作、流式响应和长时间运行的任务。
开发者指定他们需要什么 AI 功能,用户在一个地方管理他们的提供商凭据。这些凭据随后自动在他们站点上所有兼容的插件中工作。
了解更多 WordPress AI 信息扩展阅读:
该 SDK 既解决了用户需求,也解决了开发者需求:
- 提供商无关的方法将用户放在首位。 WordPress 网站管理员选择他们想要配置和使用的提供商和/或模型,并且他们可以在一个地方提供 API 凭据。任何具有 AI 功能的插件都能正常工作。不再有供应商锁定。
- 开发者可以专注于构建 AI 功能,而不是 AI 基础设施。而不是试图为单个提供商寻找非官方 SDK 或甚至自己构建,SDK 为开发者提供了中央基础设施,可以快速开始并专注于用户收益,而不是他们自己插件的技术管道。不再重新发明轮子。
工作原理
API 适应不同的开发者需求。一些插件解决方案可能需要特定模型,而其他插件只需要任何文本完成功能。 PHP AI Client SDK 在幕后处理所有复杂性。不同的身份验证方法、 API 格式、流式协议和提供商怪癖都通过相同的清洁接口工作。
这是一个使用特定模型生成文本的简单临时代码示例:
$text = AiClient::prompt('写一首关于 PHP 的两节诗')
->usingModel(Google::model('gemini-2.5-flash'))
->generateText();
相同的例子,但以模型和提供商无关的方式编写:
$text = AiClient::prompt('写一首关于 PHP 的两节诗')
->generateText();
解决的问题
今天,每个具有 AI 功能的 WordPress 插件都重建相同的基础设施:提供商集成、 API 密钥管理、响应标准化、错误处理。用户多次输入相同的凭据并处理不一致的体验。当提供商更改他们的 API 时,每个插件都会单独中断。
值得注意的是,这些问题不仅存在于 WordPress 中,而且几乎存在于每个试图以提供商无关方式使用 AI 的 PHP 项目中。迄今为止存在的真正提供商无关的 SDK 只适用于其他技术栈,这些技术栈与通用 PHP 项目不兼容——要么是不同的服务器端语言 (例如 NodeJS 的 Vercel AI SDK),要么是特定平台 (Drupal 的 AI 模块) 。
PHP AI Client SDK 为 PHP 生态系统,特别是 WordPress 集中了这种复杂性。一个集成点处理所有提供商。一个凭据系统服务所有插件。当提供商更新或新的提供商出现时,更改只发生一次并使每个人受益。该架构考虑了多模态优先等最新趋势,甚至预见到了客户端或基于浏览器的 AI 等未来转变。
共同构建
PHP AI Client SDK 在技术上由两个 Composer 包组成:
- 底层的 PHP 包提供统一的 AI 接口,它与 WordPress 无关。这是与更广泛的 PHP 社区的协作努力。
- 这由另一个 WordPress 特定的包补充,该包添加了技术上与 WordPress 相关的功能,例如 AI API 凭据的共享设置页面、与 Abilities API 的连接,以及在 JavaScript 中使用 AI 功能的 REST API 端点。
这种模块化方法意味着当任何社区添加提供商或改进性能时,每个人都受益,同时每个平台保持其独特的体验。
对于 WordPress 开发者来说,这种架构提供了灵活性。使用 WordPress 包获得具有管理 UI 的完整体验,或使用底层 PHP 包进行较低级别的项目,如 WP-CLI 集成。虽然也可作为插件用于测试,但这些 Composer 包是官方采用路径——今天引入它们,发布具有 AI 功能的插件,如果这些成为 WordPress 核心的一部分,则无缝过渡。多个插件可以使用相同的包而不会冲突,由 Composer 处理依赖关系。
前进发展
随着 AI 变得对 WordPress 必不可少,这个 SDK 提供了可持续的基础。它被设计为与新兴能力一起成长——新的模态、高级功能、新颖的部署模型。现在的重点是扩展提供商支持并根据实际使用情况完善开发者体验。
请在 Slack 的 #core-ai 中加入讨论,或探索实现。
相关标签: #ai-building-blocks
发表回复