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 聚焦参考架构与交互原则。
  • 本地图像生成前端(ComfyUI 或类似工具,无聊天 UX 层):可在对话界面外本地运行图像工作流,但无法获得此处描述的统一多模态聊天流程。
  • 带工具调用的 Agent 框架(无特定多模态画布架构):Agent 工具可协调模型动作与工具,但可能无法提供相同的画布中心多模态交互模式。