同事群里每隔一阵就有人问:有没有一个能自己改的 ChatGPT?市面上的答案里,LibreChat 是被提名最多的一类——一个可以装在自己服务器上的对话客户端,接哪家的模型都行,不用把记录交给别人。
它现在的体量是 46,862 星、9,656 个分叉、MIT 许可,11 月 8 日当天还在提交代码。我把整个仓库拉下来数了一遍:7,250 个文件、226 万行代码。数字之外,真正让我停下来的是它的技能库——一个给 AI 装「操作手册」的模块。这个模块的测试代码比实现代码还多 25%,可它的文件名校验规则,会把中文名的技能文件一律拒之门外。
它到底是什么
一句话:一个自托管的 AI 对话前台。你可以用它同时接 OpenAI、Anthropic、DeepSeek 这类模型服务,挂上自己的工具和知识库,再给不同同事分配不同的助手。
它的代码分三块,体量差别很大:
| 目录 | 文件数 | 行数 | 是什么 |
|---|---|---|---|
| 前端界面 | 2,363 | 535,680 | 聊天界面,React 写的 |
| 共享包 | 3,355 | 1,240,949 | 模型接入层、数据结构、Agent 逻辑 |
| 旧服务端 | 673 | 272,786 | Express 路由与数据库读写 |
测试文件 2,883 个、125 万行,占全仓一半以上。对一个要装进别人服务器、还要接各家模型接口的项目来说,这个比例不算夸张——模型接口一变就全线报错,没有测试根本不敢发版。
实测:技能库是全场最较真的模块
技能(skill)是这类客户端的新玩法:一个文件夹里放一份说明文件和若干参考资料,AI 需要时按需读取。LibreChat 在这块投入的力气,从文件数就能看出来。
第一条证据,测试比实现多。 技能子系统的实现有 28 个文件、9,133 行;配套测试 23 个文件、11,399 行,多出 25%。其中最狠的是一个同步模块的测试文件,单个就 4,281 行;路由层还有一个 1,596 行、58 个用例的测试。
第二条证据,路径校验真的挡得住。 我把它校验文件名的那段函数单独拎出来,喂了 13 个输入,结果如下:
| 输入的文件名 | 判为合法? |
|---|---|
SKILL.md |
是 |
references/guide.md |
是 |
../etc/passwd |
否 |
/etc/passwd |
否 |
a/../../b |
否 |
a//b、./x |
否 |
references/%2e%2e/x(编码过的穿越) |
否 |
穿越、绝对路径、编码绕过,一个都没漏。但同一张表里还有两行:中文.md 判否,a b.md 也判否。
这不是漏洞,是设计:规则只放行英文字母、数字和少数几个符号。对英文项目没影响,对中文用户却意味着——你自己写的中文技能说明,只要文件名带一个汉字,就没法通过接口写进去。技能正文本身可以是中文,文件名不行。
第三条证据,白名单写了两遍。 GitHub 同步模块里另有一份几乎一样的校验逻辑,专门过滤从仓库拉下来的技能文件;被挡掉的文件会进「跳过清单」,最多记 20 条。也就是说,你从 GitHub 同步一个带中文文件名的技能,它会安静地少几个文件,只在状态里留一条记录。
另一面:豁免表暴露了规模代价
这个仓库还有一份 ESLint 豁免表(也就是允许某些文件暂时不遵守设计规则的清单):258 个文件、合计 1,176 处豁免,其中光「禁止改样式」这一条就占了 962 处。它的注释写得很坦诚——测试文件里的示意标记不算设计界面,所以整片关掉。
配套的部署门槛同样不小:示例配置文件 1,850 行,环境变量 203 个,一键起多个服务的配置文件里列了 5 个服务(应用、管理后台、数据库、搜索、向量库),CI 流水线 33 条。自托管不是一条命令的事,是半天到一天的事。
放进坐标系里看
和站内评过的几篇比:nature-skills 走的是「把科研流程装进技能库」,SkillSpector 走的是「给别人的技能做安全扫描」,deepagents 走的是「教 Agent 怎么拆任务」。LibreChat 的定位不同——它是那个把技能、模型、工具放在一起给你自己托管的外壳。
适合谁:需要把对话记录留在自己服务器上的团队;要接多家模型做对比的人;愿意为一个 226 万行的工程配环境的人。
不适合谁:只想开箱即用、不打算碰配置的人;只用一家模型服务的个人;以及技能文件名里必须带中文的团队——这一条目前得自己改代码。
我的判断
值得放进观察清单,但别把它当成「装上就能用的 ChatGPT 替代品」。它的工程质量高于同类平均水平(测试比实现多、路径校验经得起试探),真正的门槛在部署和本地化。中文用户的第一个坑,很可能是想上传一份叫「报告模板」的技能文件,然后被一条只认英文字母的规则拦下来。
关注 AI商业快讯,每天一篇 AI 热点深度解读。想先看技能库怎么做审计的,可以翻我们评过的 SkillSpector 和 nature-skills。