snow_chat_ui:基于 ChatUI 的开源大模型对话窗口
在人工智能飞速发展的今天,大模型对话应用已成为开发者和企业不可或缺的生产力工具。然而,构建一个功能完善、体验优良的对话界面往往需要投入大量精力。今天要介绍的 snow_chat_ui 项目,正是为解决这一痛点而生——它是一款基于 ChatUI(@chatui/core) 的通用大模型对话聊天窗口,以 MCP 工具支持 和 Skill 技能系统 为核心特色,为开发者提供开箱即用的完整解决方案。
统一配置,开箱即用
snow_chat_ui 最大的亮点在于其统一的 LLM Provider 配置能力。项目支持 OpenAI 兼容接口、Anthropic Claude、Google Gemini 以及本地 Ollama 四大主流模型提供商,并内置了 11 家一键预设模板,包括 DeepSeek、Moonshot、智谱 AI、通义千问、Groq、OpenRouter 等国内外知名服务商。开发者只需在品牌弹层中选择目标服务商,输入 API Key 即可快速接入,无需手动配置复杂的接口参数。
更贴心的是,系统支持「拉取模型」功能,可自动从各 Provider 获取可用模型列表,并通过白名单机制筛选需要启用的模型。ModelSelect 组件采用 LobeChat 风格设计,聚焦即可弹出模型下拉面板,品牌图标清晰、当前项高亮显示,配合输入过滤功能,让模型切换变得轻而易举。
MCP 工具与 Skill 技能系统
作为项目的核心卖点,snow_chat_ui 提供了强大的 MCP(Model Context Protocol)支持。基于官方 @modelcontextprotocol/sdk,项目支持 stdio、SSE、HTTP(Streamable) 三种传输协议,实现了 MCP Server 的自动发现、一键测试和刷新重连功能。开发者可以通过简洁的 JSON 配置定义 MCP Server,启用后勾选「暴露为技能」,即可将 Server 的全部工具以 mcp__<serverId>__<toolName> 的格式注入对话系统。
除了 MCP 工具,项目还内置了完整的 Skill 技能系统。内置技能包括:
- 时间查询:获取当前日期时间
- 计算器:白名单安全计算表达式
- 天气查询:基于 open-meteo 免费 API
- 网页抓取:提取目标网页正文内容
技能描述会自动注入 System Prompt,LLM 通过 Function Calling 按需触发。前端以工具卡片形式实时展示执行过程,从「运行中」状态到「成功/失败」一目了然,让用户对 AI 的思考过程有清晰的感知。
前后端分离,部署简单
snow_chat_ui 采用前后端分离架构,前端基于 React 18 + TypeScript 5 + Vite 5 构建,后端使用 Express 4 提供 API 服务。这种设计带来了极大的灵活性——前端可以独立部署,指向任意后端地址;后端则专注于 LLM 调用、工具编排和配置管理。
在部署方面,项目提供了两种模式:
- 开发模式:
npm run dev启动,前端运行在 5173 端口,后端运行在 8787 端口,Vite 代理处理/api请求 - 生产模式:
npm run build && npm start,前后端合并为单端口 8787,前端资源由后端托管
配置持久化在 server/data/config.json(可被 CONFIG_PATH 环境变量覆盖),包含 API Key 等敏感信息,已被 .gitignore 排除,确保安全。
全端适配,体验优秀
snow_chat_ui 在用户体验上下足了功夫。界面设计对标 LobeChat / Dify 风格,采用独立设置中心设计,左侧导航分域(模型服务/工具连接/技能/高级与数据),对话区全屏化呈现。系统支持:
- 配置导出/导入:一键备份与迁移
- 中英文切换:顶栏 🌐 按钮即时切换,偏好持久化
- 全端响应式:桌面双栏布局,移动端单栏配合底部导航,完美适配
100dvh和安全区域 - PWA 支持:Service Worker 离线壳 + 完整 manifest,可「添加到主屏幕」
流式输出采用 SSE 逐 token 实时渲染,配合 Markdown 渲染、代码高亮和打字指示器,带来流畅自然的对话体验。点击顶部 ■ 按钮可随时中断生成,后端同步中断 Agent 循环。
完整接口契约,易于扩展
对于希望接入自有后端的开发者,snow_chat_ui 提供了完整的接口对接文档。项目定义了清晰的 API 契约,涵盖配置管理、Provider 测试、模型拉取、MCP 工具列表、Skill 查询以及核心的 SSE 流式对话接口。开发者只需按文档实现后端接口,即可驱动全部 AI 交互功能。
技术栈与许可
项目核心依赖均为 MIT 许可,包括 @chatui/core、@lobehub/icons、@modelcontextprotocol/sdk、react、express、vite 等主流库,可自由用于商业项目和 SaaS 产品,唯一义务是保留各依赖的版权声明。
结语
snow_chat_ui 以其统一配置、MCP 工具、Skill 技能三大核心能力,配合优秀的界面设计和简单的部署流程,为开发者提供了一个开箱即用的大模型对话窗口解决方案。无论是快速原型验证、企业内部工具构建,还是学习大模型应用开发,snow_chat_ui 都是一个值得关注和尝试的优秀开源项目。
项目地址:https://github.com/liusunf/snow_chat_ui
评论 (0)