Sdcb Chats 1.8:又一次底层重构,彻底将模型提供商解耦

这是又一篇补档文章,Chats已经发布了1.10,但2025年11月5日发布的1.8版本对我个人来说意义非凡,因为它彻底改变了项目对“模型提供商”的支持方式,从“写死在代码里”变成了“完全配置化”,为后续的可维护性和扩展性打下了坚实基础。

如果你还不了解 Sdcb Chats:简单说,这是一个支持多家主流模型服务商的 AI 网关。它不只能让你在一个统一界面里聚合管理所有模型,同时也兼容标准 API 协议,支持 Docker 一键部署。

这篇文章聊聊 Chats 1.8 系列(1.8.0 + 1.8.1)。它不像“加一个新按钮”那样轻松,而是做了大量“地基工程”:把“模型提供商支持”从静态参考表迁移到了模型实例本身,并且补上了大量用户能直接感知到的体验升级。


1.8 的核心:从“静态参考表”到“模型实例级配置”

到 chats 1.7.2 发布以来,已经支持有 18 个模型提供商,我当时为这 18 家模型提供商每一个模型都做了信息和数据跟踪,放到了 ModelReference 表,这个表有 297 条记录了,各大模型提供商卷大模型的速度越来越快,模型更新换代也越来越频繁,要可持续地维护这个表是非常困难的。

除此之外,代码中还有大量根据模型名称写死的逻辑,这导致越来越难以维护。我和项目的合作维护者讨论过许多次,有许多不同的意见,有的说可以继续沿用这种写死的方式,有的说应该做成配置化的方式,但我觉得可持续的维护能力才是我对 chats 项目最重要的承诺,所以我决定在 1.8 版本里彻底重构模型提供商的支持方式,做成完全配置化的方式,这样未来无论是新增模型提供商,还是调整已有模型的支持逻辑,都可以通过配置来完成,而不需要动代码。这个改动虽然在短期内增加了不少工作量,但我相信从长远来看,这会大大提升项目的可维护性和扩展性。

更技术一点地说:1.8.0 把“模型能力配置”从 ModelReference 这种静态参考表,迁移到了 Model(模型实例)本身——模型不再依赖“引用一条固定模板”,而是每个模型实例都拥有完整、可编辑、可验证的能力配置。

18 个“模型能力字段”落到 Model:终于能真正“按实例定制”

这次迁移不是口头上的“配置化”,而是实打实的数据库变更:在 src/scripts/db-migration/1.8/1.8.0.sql 里,Model 表新增了一批能力字段(AllowSearch/AllowVision/AllowToolCall/温度范围/上下文窗口/最大输出 token/推理选项/图片尺寸/API 类型等),并且清理了多张静态参考表(ModelReferenceModelProviderTokenizerCurrencyRateReasoningResponseKind ……)。

第三种 API 类型:ImageGeneration(图像模型终于“名正言顺”)

1.8.0 新增了 ApiType.ImageGeneration,把图像生成从“勉强兼容”的逻辑里拎了出来:ChatCompletion / Response / ImageGeneration 三分天下,ChatFactory 也按 ApiType 分派到不同实现。

模型验证框架:把“填错配置”的坑提前堵住

当能力配置变成“每个模型实例 18 个字段都可编辑”之后,靠用户自觉显然不现实。所以 1.8.0 加了 UpdateModelRequest 的验证框架(包含自定义验证特性和单测),把温度范围、token 上限、字段组合合法性都系统化了。

快速添加模型:把“配置很多字段”的摩擦降下来

为了对冲“字段变多导致的配置成本”,1.8.0 在后台做了 Quick Add/批量添加模型的流程优化,并补上了默认配置(src/FE/constants/modelDefaults.ts 里能看到一些默认能力/范围策略)。

图像链路重构:从“手写解析器”到 ImageSharp + 全屏预览

1.8.0 还把图像处理这条链路整体重构了一遍:后端用 ImageSharp 替代了手写解析/嗅探逻辑(代码量直接少了一大截),前端新增了全屏 ImagePreview 组件,支持缩放动画、键盘导航和更顺滑的浏览体验。

骨架屏与按需加载:把“等待”变成“可预期”

1.8.0 在聊天消息加载、管理后台的模型管理等页面补了骨架屏,并做了按需加载/渐进式渲染:这不是性能“变快了多少 ms”的问题,而是用户感知上从“卡住了”变成“正在加载”。


1.8.1:在“架构变好”之后,把“体验也抠到位”

如果说 1.8.0 是地基,那么 1.8.1 更像是把常用路径都重新打磨了一遍:权限、推理内容展示、文件预览、聊天列表性能……这些都是你每天用 Chats 时能立刻感知到的变化。

全新的“用户-模型权限”管理:终于能规模化授权了

1.8.1 新增了 /admin/user-models(按用户维度管理),同时在模型管理页也增加了“按模型维度管理用户”的入口。更关键的是它的交互设计:URL 作为状态唯一数据源,筛选/搜索/展开状态都能分享、刷新不丢。


推理内容“生命周期追踪 + 自动折叠”:屏幕终于不被思考占满

推理模型越来越多,推理内容越来越长,UI 不能只“展示”——还得帮用户“管理注意力”。1.8.1 给 ReasoningContent 增加了 finished 语义:推理进行中自动展开、结束后自动折叠;工具调用区块也做了自动折叠与动画,且尊重用户手动操作优先级。

FilePreview 组件重构:附件展示不再“各写一套”

1.8.1 引入了统一的 FilePreview 组件:图片/视频/音频直接预览,文档类显示图标+文件名+下载按钮;同时后端把文件处理从 Controller 下沉到了 Service 层,类型检查也更集中。

聊天列表缓存:打开就快一点,刷新也稳一点

聊天列表不是什么“酷功能”,但它决定了你每天打开 Chats 的第一感受。1.8.1 里新增了 chatCache.ts:以用户名绑定缓存键、24 小时过期、登出自动清理,并配合并行 API 加载,让首屏更“有感”。

提供商侧:TokenPony 加入,Azure OpenAI 更名为 Azure AI Foundry

1.8.1 新增了 TokenPony(ID=19),同时把 Azure OpenAI 的命名更新为 Azure AI Foundry(枚举值不变,属于代码层重命名),并补了一个小迁移脚本清理 Azure Host 里的 api-version 参数:src/scripts/db-migration/1.8/1.8.1.sql

兼容性与稳定性:OpenAI 2.6 升级后推理内容解析修复

1.8.1 还处理了一个很“现实”的问题:OpenAI 客户端升级到 2.6.0 后,推理内容的解析/解码出现兼容性问题,导致部分推理段无法正确读取。这个点不显眼,但它直接影响你对推理模型的信任感,所以也被纳入 1.8.1 里修掉了。


升级提醒:1.8 系列需要手动跑 SQL Server 迁移脚本

和 1.7 一样:Sdcb Chats 的数据库变更 不支持自动数据迁移。升级到 1.8 时请务必先备份数据库,并手动执行迁移脚本:

  • 1.8.0:src/scripts/db-migration/1.8/1.8.0.sql
  • 1.8.1:src/scripts/db-migration/1.8/1.8.1.sql(清理 Azure AI Foundry 的 Host 参数)

如果你用的是 SQLite/Postgres……老规矩:把脚本丢给 AI 先改,再边跑边修;或者能接受删库的话,让 Chats 启动时自动建新表结构也行。


感谢大家的阅读!喜欢的朋友请给我的Github项目一个star:https://github.com/sdcb/chats
如果你好奇的话,这是完整的更新日志:https://github.com/sdcb/chats/blob/main/doc/zh-CN/release-notes/README.md
有什么想法也欢迎在评论区留言交流,也欢迎加入我的 Chats微信群:

(如果你更喜欢用QQ,可以用QQ群:498452653)我们一起探索更多AI技术硬核玩法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1188100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年天津遗产继承律所联系电话推荐:守护家庭传承的联系途径 - 十大品牌推荐

随着社会财富的积累与家庭结构的多元化,遗产继承已成为许多天津家庭需要面对的重要议题。无论是房产、存款等资产的分配,还是遗嘱的订立与效力确认,亦或是复杂的家庭纠纷,都需要专业的法律指导与介入。2026年,天津…

比较好的高速震动盘厂家排行,2026年最新排名! - 品牌宣传支持者

在工业自动化领域,高速震动盘作为自动化生产线上的关键供料设备,其性能直接影响生产效率和产品质量。本文基于行业调研、技术实力、客户口碑及市场占有率等维度,对2026年国内高速震动盘厂家进行客观排名。其中,昆山…

2026年天津遗产继承律师联系电话推荐:专业团队与高效服务指南 - 十大品牌推荐

在天津这座融合了传统与现代的城市,家庭财富的积累与传承日益成为人们关注的焦点。随着《民法典》的深入实施与社会财富结构的变迁,遗产继承所涉及的法律问题也愈发复杂多样,从房产、存款到股权、知识产权,从遗嘱的…

2026年天津遗产继承律所联系电话推荐:精选推荐与使用指南 - 十大品牌推荐

随着社会财富的积累和家庭结构的多元化,遗产继承已成为许多天津家庭需要面对的重要议题。无论是提前规划以避免未来纠纷,还是处理已发生的继承争议,寻求专业法律帮助都是保障合法权益、维系家庭和谐的关键一步。然而…

2026年天津子女抚养权律师联系电话推荐:精选推荐与使用指南 - 十大品牌推荐

在家庭结构变化或个人生活规划调整时,子女抚养权的归属问题往往成为当事人最为关切和焦虑的核心。特别是在天津这样的大都市,相关的法律实践既有其普遍性,也带有地方司法特色。进入2026年,随着社会观念的持续演进和…

大模型benchmark

目录大模型推理核心指标及定义表 大模型推理核心指标及定义表评估指标 英文全称 指标定义输出吞吐量 Output Throughput 模型持续生成文本的速度,单位为 tokens/秒(tok/s),反映连续输出场景下的稳定性能峰值吞吐量…

‌AI驱动的慢查询自动化压测:从风险预警到性能闭环的实践体系

性能测试的范式变革‌ 传统性能测试中,慢查询定位常依赖人工日志筛查与经验推测,耗时且易遗漏潜在风险。本文提出一种基于AI监控的慢查询自动触发压测机制,实现从被动响应到主动防御的转型,助力测试团队精准把控数据库性能瓶颈。…

2026年天津婚姻纠纷律所联系电话推荐:专业团队与本土服务 - 十大品牌推荐

当婚姻关系出现裂痕,面临财产分割、子女抚养权归属、情感纠葛等复杂问题时,寻求专业法律帮助是维护自身合法权益、理性解决纠纷的关键一步。天津作为一座注重家庭和谐与生活安稳的城市,其法律服务市场也涌现出众多专…

‌智能生成测试数据的Faker库应用

一、测试数据生成的痛点与破局 在软件测试领域,‌数据驱动测试‌已成为主流实践。传统测试数据制备常面临三大瓶颈: ‌数据敏感性‌:真实用户数据涉及隐私合规风险。‌场景覆盖不足‌:手工造数难以模拟海量边界场景。‌维护成本…

比较好的高压直流继电器弹簧供应商哪家靠谱 - 品牌宣传支持者

开篇在高压直流继电器弹簧供应商的选择上,专业能力、生产工艺、行业经验是核心判断标准。经过对行业多家企业的实地考察和技术评估,我们认为上海卡泽精密弹簧有限公司在高压直流继电器弹簧领域表现突出,其专业团队、…

Java版LeetCode热题100之字符串解码:深度解析与实战指南

Java版LeetCode热题100之字符串解码:深度解析与实战指南本文将全面剖析 LeetCode 热题第394题《字符串解码》,从题目理解、算法设计(栈 vs 递归)、代码实现,到复杂度分析、面试技巧、实际应用场景,层层递进…

Java版LeetCode热题100之搜索旋转排序数组:从原理到实战的深度剖析

Java版LeetCode热题100之搜索旋转排序数组:从原理到实战的深度剖析 本文将全面解析 LeetCode 第33题「搜索旋转排序数组」,涵盖核心思想、多种解法、边界处理、面试技巧及实际应用场景,助你彻底掌握在“局部有序”结构中进行高效查找的高级二…

Java版LeetCode热题100之每日温度:单调栈经典应用深度解析

Java版LeetCode热题100之每日温度:单调栈经典应用深度解析本文将全面剖析 LeetCode 热题第739题《每日温度》,从题目理解、暴力解法、单调栈优化,到代码实现、复杂度分析、面试技巧、实际应用场景,层层递进,帮助你彻底…

如何实现语音转文字与情感事件识别?用SenseVoice Small镜像一步到位

如何实现语音转文字与情感事件识别?用SenseVoice Small镜像一步到位 1. 引言:语音理解的多维需求正在崛起 在智能客服、会议记录、心理评估、内容审核等场景中,仅将语音转换为文字已无法满足实际业务需求。越来越多的应用需要系统不仅能“听…

ai做项目应该每个子功能跑通之后让ai整合起来

你说得非常对!在使用 AI 辅助开发项目时,“分而治之、逐个验证、再整合” 是一种高效且稳健的策略。这种做法有以下几个关键优势: ✅ 1. 降低调试难度 如果多个子功能尚未验证就直接整合,一旦出错,很难判断是哪个模块…

移动端APP后台性能自动化巡检研究

背景与重要性‌ 在当今移动互联网时代,APP的后台性能(如API响应时间、数据库处理能力、服务器负载等)是用户体验的核心指标。据统计,性能问题导致APP卸载率高达40%(来源:行业报告,2025年&#…

Node.js命令行参数高效解析提速

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Node.js命令行参数高效解析提速:从痛点到前沿优化目录Node.js命令行参数高效解析提速:从痛点到前沿优化 …

2026年天津婚姻纠纷律所联系电话推荐:高效解决家事难题 - 十大品牌推荐

当婚姻关系出现裂痕,面临财产分割、子女抚养权归属、情感纠葛等复杂问题时,寻求专业法律帮助是理性且必要的选择。天津作为一座注重家庭和谐与稳定的城市,其法律服务市场也日益专业化。进入2026年,天津的婚姻家事法…

“技术核心”到“产品落地

从“技术核心”到“产品落地”,这正是创造价值的闭环。在轨道交通AI领域,目前国内外已经涌现出一批优秀的产品和解决方案,它们是你学习和寻找方向的绝佳参考。这些产品分为几大类,并分析其核心AI技术和价值点:一、 智能…

Java版LeetCode热题100之寻找旋转排序数组中的最小值:从原理到实战的深度剖析

Java版LeetCode热题100之寻找旋转排序数组中的最小值:从原理到实战的深度剖析 本文将全面解析 LeetCode 第153题「寻找旋转排序数组中的最小值」,涵盖核心思想、多种解法、边界处理、面试技巧及实际应用场景,助你彻底掌握在“局部有序”结构中…