Neuron AI 是市面上少數以 PHP 為主的 AI 框架,整合 WordPress 後可以透過自然語言管理網站或是讓顧客直接在 LINE 進行下單、預約、填寫表單,這篇文章分享我利用它做了一支名為「 WP 網站助手」的外掛,成功實現了查詢文章以及查詢訂單這兩個功能。 前陣子 OrderNotify 訂單推播外掛的更新中加入了 LINE 多官方帳號來接收訂單通知的功能,我自己也開始這樣用了之後發現,當訂單進來時我是傳送後台的訂單連結去查看詳細資訊,但在手機上看不太方便,就想說如果可以直接在 LINE 裡面問不就更快? 於是思考了這樣的解決方案:
這樣的解法理論上應該是可行,但查詢的速度想必不會快到哪裡去,中間卡一層 n8n 主機才能跟網站 API 溝通,萬一這主機不夠力或是剛好遇到網站主機變慢的情況,這使用體驗一定不會太好。但秉持著實驗精神還是實際走了一次,結論是:MCP server 根本跑不動 > < Github 上面的 WooCommerce MCP server 完全不知道該怎麼用,載回來後 build 就噴錯,叫 AI 修一下雖然搞定,但要透過 npx 就能執行又是另外一回事,矇著眼叫 AI 改,丟上 n8n 還是不行,於是改用 Cursor、Claude 來呼叫一樣抓不到。 在一整個早上持續把錯誤訊息餵給 AI 的過程中,我看不懂半行它寫的程式碼,雖然它每次修改都解釋的頭頭是道,但我實際使用就是不行,透過 AI 解決問題的過程就是不停的點點點,有一種在玩吃角子老虎機的感覺,解決了就是運氣好,沒解決只能一直投幣進去賭它下一回合會解決… 最後我放棄這條路,想說自幹 MCP server,但官方沒出 PHP SDK,社群版本有但需要另外自己弄語言模型的整合,光想想就覺得工程浩大,幸好老天爺幫了一把,讓我找到 Neuron AI 這款開源的 AI 框架。 LINE 查詢文章與訂單內容
Neuron AI 是一家專門做 AI 服務監控軟體的廠商 Inspector 所釋出的開源框架,重點是這個框架採用 PHP 撰寫,在這 AI 爆發世代卻被忽視的 PHP 有了一絲曙光 🥳,裡面整合了現在熱門的 AI 技術,像是 Tool、Function call、RAG、MCP Server 等等,更能搭配他們的監控服務來查看 AI 應用的使用狀況。 有了這框架後我的解決方案變成這樣:
這方案比起 n8n 單純了許多,基本上就是直接從網站主機提供語言模型的回答結果,實作後覺得速度還算 OK,最終完成的功能有兩個,第一個是根據文章 ID 回答文章內容,我拿「Vibe coding 入門:開發 WordPress 外掛」這篇來測試,結果如下:
第二個是根據訂單 ID 取得訂單內容: Neuron AI 的基本邏輯Agent 類別是實現所有語言模型互動的基礎,裡面可以設定模型供應商、提示詞以及要呼叫的工具,Agent 建立好之後能使用 chat 方法傳入要問的問題,就能取得模型的回答結果,安裝的部分透過 composer 即可:
建立 Agent 以及設定提示詞,我是用 OpenAI API,帶入 API Key 跟要使用的模型即可:
Tool 的部分就是跟網站互動的環節,首先是根據文章 ID 取得內容:
這邊會使用 Tool 類別的 make 方法來製作工具,裡面的參數就是要給語言模型看的提示詞,接下來告訴語言模型需要什麼資料才能跟網站互動,這邊用的是文章 ID,有四個參數要指定,分別是資料名稱、型別、描述以及是否必填。 因為我們是要用文章 ID 來作為傳送的資料,因此這邊用的是 article_id,在接下來的 setCallable 方法中就能把 article_id 當做參數傳入函式裡面,剩下的就可以用我們熟悉的 get_post 帶入 post_id 來取得文章內容後回傳,語言模型拿到資料後就可以進行回答。 第二個部分是查詢 WooCommerce 的訂單資料:
基本上跟用文章 ID 取得內容一樣,只是這次換成用訂單 ID 取得訂單內容,這邊遇到一個小問題是我本來是直接用 order 物件回傳,但發現到有太多沒必要的資料,覺得訂單格式能應該精簡一點會比較好。 懶得自己整理的我於是想到了 WC REST API,我去翻它取得訂單資料的 API,格式整齊多了,於是就把程式碼貼過來用,上面的 get_order_data 方法就是取得訂單資料的部分,將來要新增或刪減回傳的訂單資料都可以再自行處理。 而且我覺得 AI 很聰明的地方在於我一律都是回傳完整的遞單資料,而它會根據我的問題進行精準的回答,像是我問訂單狀態,它只會回「處理中」,問訂單金額只會回答「1,000 元」,這在使用感受上很不錯,不會有多餘的廢話。 搞定 Agent 後接下來就是要實作如何呼叫它,由於我這邊是使用 LINE Messaging API 進行串接,之後要換成其他聊天軟體都行,實作如下:
參數 $question 是 LINE Messaging API 接收到的問題,然後使用 Agent 的 chat 方法傳入一個陣列,裡面是 UserMessage 物件,帶有一個使用者問題的參數,最後就能用 getContent 取得語言模型回答的內容,只要把問題丟進去,Agent 就會自動從 Tool 尋找對應的資料。 Neuron AI 技術文件:https://docs.neuron-ai.dev/ 各種有潛力的應用場景透過 Neuron AI 我覺得最棒的地方就是 Tool 裡面的呼叫方式、回傳格式全部都可以由開發者自行設計,再也不會受限於既有的自動化工具或是別人寫好的 MCP server 來取得,只要你會使用 WordPress API 就能在 LINE 裡面做到網站的基本操作:
比較進階的話還可以用 WP CLI 去操作更底層的行為,最無敵的應用我覺得是配合各種外掛,像是:
繼續寫我可以寫上三天三夜都寫不完XD,雖然在實作上一定還會遇到不少問題,但重點它是 PHP 啊,自己能看得懂的程式碼一定都有辦法改,不想再叫 AI 去寫自己不會的程式語言了,連要怎麼問都不知道… WP 網站助手的下一步首先要做身份認證的機制,不然不小心加入這個官方帳號的陌生人也都能查看訂單資訊,目前的想法是後台先弄個 LINE 登入來取得 user ID,之後可以用 LIFF 在 LINE 裡面做會員註冊,註冊後再檢查他的會員權限可以請求哪些 Agent Tool。 其次是記憶上下文的功能,這部分 Neuron AI 已有內建,只要修改一下把對話紀錄儲存起來,就能針對同一張訂單繼續問下去。我應該會先把 WooCommerce 的部分整合完成,尤其是分析那一塊,希望能做到用問的查詢上個月的業績、最熱賣的商品是什麼等這些報表資訊。 你對於這個技術有什麼想法嗎?有任何好點子歡迎加 LINE 跟我一起腦力激盪吧,我們下週見~ |
自從 LINE Notify 終止服務後所有站長都在找尋替代方案,如果還是想在 LINE 裡面收到管理員的訂單通知,只能採用與一般顧客相同的方式,也就是申請官方帳號接收通知,雖然一樣有免費額度可以使用,但對於量大的站長來說又是一筆新的支出成本。 如果不想要新增這筆開銷,勢必要尋找其他即時通訊軟體來接收通知,像是採用 Discord 或是 Telegram,如果站長本身就沒有在使用這些軟體需要額外安裝,安裝後還需要申請開發者帳號取得金鑰,而網站這邊也要另外使用外掛或是請工程師進行串接。 難道沒有更方便、更優雅的方式來解決這個問題嗎?不僅可以在桌機上收到通知,同時還能推播到手機甚至是穿戴型裝置上,最重要的是每一則推播不會被收費、也不用擔心原本免費的方案終止服務或是漲價,而這解決方案我們在各大新聞網站都曾見過它,那就是網頁推播通知技術 ( Web Push Notification )。 外掛介紹 DWP 網站助理整合網頁推播通知,可以讓訂閱者在訂單狀態改變時收到推播訊息,支援所有平台,包含 Windows、MacOS、Android 以及 iOS...
這禮拜有幸約到網路創業家蕭上農 Fox 大大進行一對一的創業諮詢面談,從我小時候就是看著他的創業故事長大的,一直有持續在關注他分享的內容,現在自己也走在創業的這條路上,想說何不約一下已經走過這一遭的 Fox,想知道他是怎麼看 WooCommerce 外掛創業的機會。 我們談到三個大主題:OrderNotify 現況分析、創業主題的選擇、AI 浪潮下產品開發的思維。 OrderNotify 現況分析 根據我提供的銷售狀況來看,Fox 覺得這個產品在這些年的業績已經足以代表市場不夠大,目前針對的使用者族群太細了,要有使用 WooCommerce 架站又要有認真經營 LINE 官方帳號的商家數量群體本身就不夠大。 以漏斗的角度來看,這已經是最最下面的底層,業績無法有突破純粹是市場太小,如果是鎖定更大的市場,像是支援 Whatsapp 或是開發 Shopify 的 App 才有足夠大的量能讓個人開發者過活,或是要把眼光放在海外而非僅限於台灣,朝著漏斗的上方移動才行。 我用 Built with 查了一下台灣 WooCommerce 的網站數量是 10,610,以我目前的顧客數量 120...
創業是一場實驗,可以依照自己的想法去實踐的過程非常有趣,雖然免不了許多挫折失敗的時刻,但只要一想到令人興奮的點子又是希望破表。我從這篇文章開始紀錄創業的過程,希望一年後回過頭來看可以回憶起一年前的自己都在想些什麼五四三XD 上一次完全沒有案件收入的狀況要回朔到十幾年前,當時不知道該怎麼找案子,手邊的生活急用金只有兩個月,在時間壓力下只能重回職場先求溫飽。這一次從接案者的身份「離職」,為此我做足了準備,希望在資金燒完前可以找到合適自己的商業模式, 三月份我將心力放在產品的更新與行銷上,做了很多以前沒做過的事,處處充滿了新鮮感,但也因為都沒做過,不曉得哪些有效哪些沒效,所以打算以後在每個月的最後一週寫一篇創業日記,紀錄做對跟做錯了哪些事,算是幫自己回顧這一路上的過程。 第一個月設定的主要目標:行銷,在與 ChatGPT 諮詢過後,它給我的建議是公司產品是有市場的,但因為曝光量不足,所以營收無法提升,要增加曝光度為首要目標。剛好這個月 LINE Notify 停用,就決定以這個切入點來強化產品功能並撰寫行銷內容。 三月份的總工作時數為 41.12 小時,加上客服時間總計約 48...