没有前端后,我把 MCP 做进了 Chats 1.7.0 AI 网关
这是一篇补档文章。
如果你还不了解 Sdcb Chats:简单说,这是一个支持 20+ 主流模型服务商的 AI 网关。它不只能让你在一个统一界面里聚合管理所有模型,同时也兼容标准 API 协议,支持 Docker 一键部署。
现在回头看,Sdcb Chats 最新版本已经到了 1.10,后续又融合了交错思考、Code Interpreter、多模态和企业级权限等“看起来更酷”的能力。但如果要问我:哪个版本是我个人开发节奏的分水岭?答案大概率还是 1.7.0。
因为 1.7.0 不只是“加了个功能”,而是有三件事同时发生:
- MCP(Model Context Protocol)在 Chats 里真正落地,终于从“能聊”走向“能调用工具”,理论上能支持任何符合 MCP 的模型服务商和工具服务商,比如知识库、搜索引擎、计算引擎等;
- 数据模型与数据库大改(破坏性变更),为后续演进把地基打牢;
- 更关键的是:从这个版本开始,Chats 基本变成我一个人维护了——而我第一次深度尝试了 AI 的“氛围编程(Vibe Coding)”。
三个月空窗:没有前端的我,第一次把AI当同事
距离上次 1.6 正式发布过去了 3 个多月。这期间,和我搭档做 Chats 前端的朋友因为有事没办法继续参与开发。没有前端开发,我一个后端在 Next.js / React 这套体系里,生产力几乎直接归零——项目一度陷入停滞。
于是我第一次认真尝试把 AI 当作“副驾驶”:从页面布局、状态管理、组件拆分,到各种奇怪的 UI 边角行为(尤其是流式输出和工具调用展示),都让 AI 一起参与。
可以这样说:
- Chats 1.7 之前:基本还是人类一行代码一行代码撸上去的;
- Chats 1.7.0 起:我开始“系统性”地 Vibe Coding,尤其是在我并不熟的 React 上,生产力提升非常明显;
- 也从这时起,Chats 的维护者(几乎)变成了我一个人。
所以这篇文章标题里写“感谢 AI”,不是客套,是事实。
1.7.0 的核心:MCP 协议全面落地
如果你把 Chats 只当成一个“统一模型网关 + 漂亮 UI”的聊天前端,那它的上限就只是“把模型回答展示出来”。但 MCP 的出现,让“模型能做事”有了更统一、更可组合的方式。
在 1.7.0 里,MCP 的落地不是停留在“能连上”,而是把整条链路打通了:
-
后端有完整的 MCP 实体与权限关系(Server、Tool、User 授权、Chat 绑定);
-
前端设置页新增 MCP 管理:新增/编辑 Server、抓取工具、分配用户;



-
会话侧可绑定多个 MCP Server,并在会话前校验当前用户权限;
-
工具调用全程走流式输出,参数与结果能以结构化方式进入消息内容,前端也能更好地可视化展示。

对我而言,这意味着 Chats 从“聊天 UI”升级成了“工具编排平台”的雏形:你可以给不同的 Chat Span 配置不同的工具集合,让它们在同一套对话体验里发挥作用。
工具调用体验:不只是能用,而是要“看得懂”
做过工具调用的人都知道:能调用是一回事,让用户看懂发生了什么是另一回事。
1.7.0 在工具调用的事件与消息结构上做了比较大的增强:SSE 事件更丰富、消息内容里新增了工具请求/响应的类型,前端能把“调用了什么工具、传了什么参数、拿到了什么结果”以更清晰的方式展示出来。

这件事看起来偏“体验”,但它会直接影响你是否愿意在真实业务里用工具调用:当工具一多、调用链一长,如果 UI 只是一坨 Markdown 混在一起,那基本等于不可用。
破坏性变更:数据库与数据模型的大规模重构
1.7.0 还有一个绕不开的关键词:破坏性变更。
为了提升可维护性与可观测性,我在这个版本里对消息存储层做了重构(比如把 Message 拆分为 ChatTurn/Step 的分层结构),同时还伴随了用量关联、默认值约束、排序字段等一系列调整。

这种重构的特点是:你短期会痛一次,但长期会省很多命。尤其是当你后面要持续叠加“推理/工具/多模态/审计/性能统计”这些能力时,底层结构是否清晰,决定了你是在“继续写功能”,还是在“每加一个功能都要拆一次墙”。
一些我很在意的细节改进
除了 MCP 和数据库重构,1.7.0 还把不少“用起来会爽一点”的点补齐了,比如:
- 模型/密钥/预设支持拖拽排序(Provider/Key/Model 的组织方式更清晰);

- 聊天再生成能力增强:单条重新生成、从某条用户消息开始重新生成整段;

- Markdown Mermaid 渲染升级:暗/亮主题适配、全屏查看、流式友好;

- 图片生成尺寸控制:在会话中指定常用尺寸;
- OpenAI 兼容与第三方联调增强(工具调用适配修复、登录兼容优化等)。

这些看起来零碎,但它们共同指向同一个目标:把 Chats 从“功能堆叠”推向“可长期使用的产品质感”。
升级与数据迁移:不支持自动迁移,请手动跑 SQL(只提供 SQL Server)
Sdcb Chats的数据库变更 不支持自动数据迁移。升级时你需要手动执行 SQL 迁移脚本,并且目前只提供了 SQL Server 的迁移脚本:
- 1.7.0 迁移脚本:
src/scripts/db-migration/1.7/20250516-mcp.sql
基本步骤也很朴素:
- 先备份数据库;
- 在 SQL Server 上执行上面的迁移脚本;
如果你用的是 SQLite 或 Postgres……我建议你像我一样:把 SQL 甩给 AI,让它帮你改成 SQLite/Postgres 版本,然后你再一边跑一边修,或者如果你能接受,先删库,Chats 会在第一次启动时自动创建新表结构。
致谢
1.7.0 的发布说明里,我特别感谢过社区贡献(比如修复登录页面运行时错误的 PR #96)。而在这篇补档里,我还想加一个更个人的致谢:感谢 AI。
感谢阅读!喜欢的朋友请给我的Github项目一个star:https://github.com/sdcb/chats
有什么想法也欢迎在评论区留言交流,也欢迎加入我的 Chats QQ群:498452653,我们一起探索更多AI技术硬核玩法。
微信群:

浙公网安备 33010602011771号