這是 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
發表回覆