UStackUStack
MulmoChat icon

MulmoChat

MulmoChat 研究原型:結合多模態 AI 對話文字與畫布上的豐富視覺互動內容,含統一文字生成 API 與透過 ComfyUI 的本機影像生成。

MulmoChat

MulmoChat 是什麼?

MulmoChat 是一個研究原型,用於探索多模態 AI 對話體驗。它不限於純文字訊息串,而是支援在畫布上直接呈現豐富視覺與互動內容的對話體驗。

核心目的是展示多模態對話介面的架構、設計模式與 UX 原則,讓視覺體驗與語言理解在單一對話流程中協同運作。

主要功能

  • 畫布上的多模態對話:設計用於結合對話與視覺互動內容(例如圖像及其他豐富視覺元素)於同一使用者體驗中。
  • 研究導向的架構與 UX 模式:包含針對產品探索與工程實作的文件(例如 LLM_OS.md 和 WHITEPAPER.md)。
  • 不依賴特定供應商的文字生成 API:提供統一後端 API,將多個 LLM 供應商的文字生成回應標準化。
  • 文字供應商發現端點GET /api/text/providers 回傳已配置供應商(OpenAI、Anthropic、Google Gemini、Ollama),包含模型建議與憑證可用性。
  • 統一文字生成端點POST /api/text/generate 接受供應商、模型與訊息,不論供應商為何皆回傳標準化文字回應。
  • 透過 ComfyUI 的本機影像生成整合:與 ComfyUI Desktop 整合,使用本機託管模型與工作流程(例如 FLUX)進行本機影像生成,而非僅依賴雲端生成。

如何使用 MulmoChat

  1. 安裝依賴:執行 yarn install
  2. 配置環境變數:建立 .env 檔案,加入如 OPENAI_API_KEYGEMINI_API_KEY 等金鑰(依啟用功能所需),以及地圖功能(GOOGLE_MAP_API_KEY)、AI 搜尋(EXA_API_KEY)、HTML 生成(ANTHROPIC_API_KEY)等選用金鑰。
  3. 啟動開發伺服器:執行 yarn dev
  4. 使用語音輸入(需瀏覽器權限):當提示時,允許麥克風存取,然後點擊 “Start Voice Chat” 並對 AI 說話。
  5. 測試統一文字 API(選用):開發伺服器運行中,執行 server/tests/ 中的 TypeScript 腳本,驗證針對已配置供應商的文字生成。

本機設定支援 Ollama(透過 OLLAMA_BASE_URL,預設 http://127.0.0.1:11434)與 ComfyUI Desktop(透過 COMFYUI_BASE_URL,預設 http://127.0.0.1:8000)。

使用情境

  • 語音優先的多模態互動原型:使用語音對話流程,測試語音輸入如何驅動同時產生生成視覺的 AI 體驗。
  • 產品團隊實驗 AI 原生「OS」思維:產品策略師與設計師可閱讀高階範式文件(LLM_OS.md),建構超越純文字對話的互動概念。
  • 工程或評估協調堆疊:開發者與研究者可參考 WHITEPAPER.md 中的系統圖與工作流程細節,了解並評估多模態對話的協調行為。
  • 以插件擴展對話功能:開發者可依 TOOLPLUGIN.md 端到端實作擴展,包含 TypeScript 合約與 Vue 視圖。
  • 對話循環中的本機可控影像生成:影像生成需在本機運行(模型/工作流程控制)時,整合 ComfyUI Desktop 並使用本機 API 生成影像。

常見問題

問:MulmoChat 中的「不依賴特定供應商」文字生成是什麼意思?
答:專案提供統一 API(POST /api/text/generate),接受 providermodelmessages,並回傳跨支援供應商的標準化文字回應。

問:統一文字 API 支援哪些 LLM 供應商?
答:儲存庫文字 API 文件列出 OpenAI、Anthropic、Google Gemini 與 Ollama 為支援供應商(可用性依配置憑證而定)。

問:我需要所有供應商的 API 金鑰嗎?
答:不需要—功能與供應商可用性依 .env 配置而定。選用金鑰會標註特定功能(例如地圖、AI 搜尋、HTML 生成)。

問:如何驗證文字生成運作?
答:執行 server/tests/ 下的提供腳本(例如 server/tests/test-text-openai.tstest-text-anthropic.ts 等)。這些腳本會回報選用模型與標準化輸出,並記錄失敗診斷。

問:本機影像生成如何處理?
答:MulmoChat 透過本機 API 伺服器(經 COMFYUI_BASE_URL 配置)與 ComfyUI Desktop 整合,支援本機模型/工作流程使用,而非僅限雲端生成。

替代方案

  • 純文字聊天應用程式:傳統聊天介面著重訊息串流,無畫布式多模態渲染,實作較簡易,但無法展現多模態互動模式。
  • 通用多模態模型客戶端(獨立 UI + 模型呼叫):結合影像與聊天的工具通常需自行組合 UI 渲染與模型呼叫;MulmoChat 著重參考架構與互動原則。
  • 無聊天 UX 層的本地影像生成前端(ComfyUI 或類似):可在對話介面外執行本地影像工作流程,但無法獲得本文所述的統一多模態聊天流程。
  • 具工具呼叫的代理框架(無特定多模態畫布架構):代理工具可協調模型動作與工具,但可能無法提供相同的畫布中心多模態互動模式。
MulmoChat | UStack