回作品集

Case Study

Soma Agent 開發紀錄:從網站客服角色到 iPhone App

AICMS 的 Live2D 客服,後來長成桌面夥伴、iPhone App 與場館導覽機台。這份紀錄整理同一個角色引擎的三種產品形態。

客戶
自家產品
成果
iPhone 版 2026-10-21 上架 App Store,macOS 桌面版可從官網下載
發佈
2026年11月4日

Tauri 2 · Rust · TypeScript · three.js · VRM · Live2D

TL;DR:做 AICMS 語音客服時,我們發現「有臉、有聲音的 AI」本身就是一個產品。於是把角色引擎抽出來,做成桌面夥伴,再帶到 iPhone 和場館機台。

專案背景

來源AICMS 的 Live2D 語音客服
產品名Soma Agent,Soma 是希臘文的「身體」
標語Agent in the Shell
官網上線2026-07-10
iPhone 版上架2026-10-21

三種產品形態

macOS 桌面版

角色常駐在桌面上,Live2D 和 VRM 兩種引擎都支援。兩個角色可以自己對談,使用者在旁邊看,也能隨時插話。

桌面版採 BYOK,使用者自帶 AI 金鑰,由本機直接連線。金鑰存在系統 keychain,不進入 WebView。

iPhone 版

iPhone 版改成代管 AI,使用者裝好就能聊,不需要自己申請金鑰。

  • 3D VRM 角色,語音回覆搭配嘴型同步
  • 每個角色有獨立的個性、聲線和記憶
  • 需要最新資訊時會上網搜尋

Soma iPhone 版主畫面

Soma 多角色畫面

場館導覽機台

同一份核心打包成 iPad 版,放在場館裡當導覽員。機台不帶任何 AI 金鑰,問答走 AICMS 知識庫,內容由場館在後台維護。

技術決策

為什麼用 Tauri

桌面版用 Rust 外殼加系統 WebView,呼叫 AI 的動作放在 Rust 層,金鑰不會進到前端。iPhone 版同樣用 Tauri 2。

一份核心,兩個 iOS target

陪伴版和機台版共用同一份 iOS 專案,打包時用腳本切換 target。差異集中在裝置範圍、金鑰策略和通路,核心功能只維護一份。

最低支援 iOS 15

角色渲染需要 WebGL2,而 WebGL2 從 iOS 15 才預設開啟,所以這是硬門檻。

授權後端獨立成服務

授權與序號放在獨立服務 license.soma-agent.com,跑在 Cloudflare Containers 上。

用了哪些技術棧

Tauri 2 Rust TypeScript Vite three.js three-vrm Live2D Cubism Azure Speech Cloudflare Containers Neon

想做類似專案?

如果你想讓 AI 有形象、有聲音,放進 App 或實體場域,歡迎來聊。

看 Soma Agent 產品介紹 →

預約 30 分鐘諮詢 →

想做類似的專案?

告訴我們你的需求,第一次諮詢 30 分鐘免費。

聊聊你的需求