先說說原因吧。當前AI發展勢頭非常迅猛,部分模型的效果確實令人驚豔,也有不少人在嘗試將AI融入遊戲。作爲一名個人開發者,我一直覺得自建平臺是一種不太明智的選擇——尤其是在目標用戶和盈利模式都不明確的情況下,貿然投入平臺開發,流量從哪來都是個問題。
因此,我更傾向於藉助已有的社交平臺,將聊天Bot接入其中。這樣一來,既能直接觸達用戶,也能避免從零構建生態的負擔。
再說說現狀:
我的 Bot 框架目前已實現大部分基礎功能,通過napcat來對接qq平臺。後端採用 Fastify,前端與核心邏輯均通過它進行通信。技術棧方面,語言是 TypeScript,數據庫 ORM 使用 Prisma + SQLite,前端則是 Vue + NaiveUI,算是比較經典的前後端分離架構。
用sqlite而不是mysql或pgsql是因爲想邊緣部署(雖然現在鏡像打包體積足足1.3GB,ubuntu+node24+ffmpeg+構建後的代碼)
目前的痛點在於:一個人做全棧,前後端接口對齊的工作量巨大。即便藉助 TypeBox 這類工具減輕類型維護的負擔,依然耗費大量精力。
![]()
着 Bot 功能逐漸增多,配置項也會越來越複雜。我意識到傳統前後端分離的模式可能不再適合,於是今天正式決定向 NuxtJS 遷移。爲什麼不是 NextJS?因爲實在學不動 React 了……我現在只希望活在vue生態裏。
好,,新的坑就這樣挖好了,NuxtJS 用起來確實舒服,數據“所見即所得”,無需再操心接口間的類型安全問題。
但是!第一個大坑很快就出現了:Prisma 在 Nuxt 中的支持實在太差(小聲:Prisma 這個框架表面光鮮,實際用起來坑真不少)。而 Nuxt 官方推薦的 ORM 是 Drizzle,甚至提供了 NuxtHub 集成,開箱即用。問題是 Drizzle 和 Prisma 在設計理念上差異巨大,數據層幾乎要全部重寫。
![]()
第二個坑來自 NaiveUI。雖然官方文檔把 SSR 支持標得很顯眼,但實際用起來問題不少,從 npm 日均 2k 的下載量也能看出維護狀態比較低迷。因此,UI 組件庫也計劃遷移到 NuxtUI 或其他對 SSR 支持更完善的方案,希望藉助 AI 能減少一些重寫的工作量。
現在的結果就是除了核心代碼,幾乎都得重寫一遍了,好在目前我沒什麼其它的事情需要處理,新的功能與開發目標還在腦子裏,之前的代碼運行的一切正常,那就這樣吧,慢慢寫了。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com
