先说三个备选标题
写之前我习惯把标题摆出来排个序,这篇我纠结了很久:
- 薅了一堆模型却被模型客户端逼疯,我干脆自己搭了一个对话页
- 选来选去的模型客户端,其实就是一层壳
- 为什么我不再挑模型客户端,而是花半天写了个自用页面
最后选了第一个,因为它最像真实发生过的事。
那条让我停下来的提问
前几天刷社区,看到一条特别真实的提问。有个老哥说自己薅羊毛买了一堆模型,mimo、deepseek、qwen、claude code、chatgpt都在手里,然后卡住了——「客户端工具都用各家的吗,那么多,有没有推荐的模型客户端工具」。
底下回复也挺典型,一个说用某某客户端接入你这些薅来的羊毛,另一个甩了两个工具名。你看,大家默认的解法都是「再找一个更好的客户端」。
我盯着这条看了一会儿,心里冒出来的反而是另一个念头:这事从一开始方向就有点歪。你真正的痛点不是「哪个客户端好」,而是「我手里有五把钥匙,却被逼着在五个门口来回跑」。
换客户端解决不了来回跑,它只是把门口换了个样子。
一个被高估的东西:模型客户端
我直说吧,模型客户端这东西,被高估了。
你把任何一个对话类客户端拆开看,核心其实就两件事:一个能打字、能显示回复的界面,加上一次把你的话发给模型、再把结果拿回来的调用。界面是壳,调用是芯。
各家客户端拼的是壳的手感——快捷键、主题、历史记录、好不好看。但芯是通用的,都是往模型发请求收回复而已。
所以当你有五个模型、却被五个客户端淹没的时候,问题不在壳不够好,而在于你把「我要用模型」这件事,交给了别人定义的壳。你迁就它的习惯、它的限制、它哪天改版、它某个模型只给你两倍额度(社区里就有人吐槽套餐改版后部分模型只有两倍)。
我自己踩过的坑是:装了三四个客户端,每个都登一遍、配一遍 key,用一周就腻,再去追新的。追到后面我才醒悟,我追的不是效率,是「别人做的壳」带来的新鲜感。
本以为搭界面很难,结果半天就跑通了
想明白这点之后,我做了个在当时看起来有点傻的决定:自己搭一个。
我原本以为自己写对话页得啃一堆前端框架,结果真不用。一个最朴素的对话页,就是一个输入框、一个发送按钮、一块显示区域。
这种纯 HTML 的页面可以直接HTML在线运行,边改边看效果,省掉了本地起环境那套折腾。界面丑没关系,自用的东西,顺手比好看重要。
芯的部分交给后端。我用Python在线运行写了一小段逻辑,负责接住前端发来的内容、调模型、把回复吐回去。
写法比想象中短得多,核心就是收请求、转调用、返结果三步。
最后一步是让它活成一个链接。本地跑的东西关了电脑就没了,我需要一个每天能直接打开的地址,所以把它做了Web应用托管,变成一个固定链接,手机电脑随时点开就是我自己的对话页。
到这一步,我才算是真正摆脱了「挑客户端」这个循环。
必须老实讲清楚的边界
这里得停下来说句实在话,不然就成忽悠了。
上面方案里「调模型」这一步,走的是平台模型中心已经接入的模型。也就是说,你能调的是平台这边已经接好的那些,不是你在外面各家薅来的 mimo、qwen、claude 账号。
平台的模型中心不负责托管、代管或中转你自己那堆第三方厂商账号,那部分不在它的能力范围里。
我知道这跟那条提问的原始诉求有落差——人家本来是想把五家羊毛都插进一个口子。这个我做不到,也不能替平台嘴硬说能做到。
但换个角度想,很多人薅一堆模型,真正高频用的其实就一两个。与其为了「全接进来」去折腾各种中转和分发(社区里确实有人在玩 sub2api 分发甚至私下掺水卖算力,那是另一条路,也有它的风险),不如先把日常最常用的那条路,用已接入的模型搭成一个顺手的自用工具。
先把 80% 的日常对话收进自己的壳里,剩下那些偏门账号,你本来也没打算天天用。
自己的壳,好处是慢慢长出来的
搭完之后用了一阵,我发现最大的好处不是省钱或者快,而是「它长在我手上」。
想加个一键总结的按钮,我自己加;觉得某类问题总要重复交代背景,我把常用前缀写死进页面;哪天想加个记录,接个数据库存对话也行。它不会某天突然改版把我习惯的功能挪走,也不会用某个弹窗催我升级套餐。
这种确定感,是任何现成模型客户端给不了的。
说真的,别一上来就想做大产品。这玩意儿最舒服的定位就是自用工具,一个你每天打开、顺手就能改的小页面。
等它跑顺了,哪天想分享给朋友、甚至做成能变现的小东西,再往上长也不迟。
今天就能做的一件小事
如果你也被一堆模型客户端烦过,别急着再去下一个工具。
先打开记事本,花十分钟把你每天真正用模型干的事列出来:问代码、改文案、翻译、还是整理资料。列完你多半会发现,就那两三件事反复出现。
然后拿这两三件事,去搭一个只服务你自己的最小对话页——先让输入框和回复区能跑起来就行,别想着一步到位。
挑客户端是在别人的壳里打转,搭一个壳是让工具开始迁就你。这两件事的手感,试过一次你就回不去了。