玩 DSH 一段时间,模型菜单越来越没法看了,几十个模型堆在一起,每次切模型都要找半天。
很多是一次都没点开过的,但又删不掉,看着就烦,就给自己写了个 dsh-llm-ctl ,模型开关是主要需求,排队是顺手加的。
模型开关具体是怎么用的,说细一点:
入口在设置 - 模型里,装完之后每个 provider 下面会多一张卡。比如你手里有十几家,每家一张,卡头上有个眼睛,就是这家的总闸。点一下关掉,这家下面所有模型在菜单里就全没了,分组整个消失,不会留个空标题在那。
再点开卡,里面是这家一个个模型的开关。想留哪个留哪个,比如一家 20 个,我只用其中 2 个,剩下 18 个全关掉。关掉的在设置页是灰的,写着已隐藏,再点一下就回来。
规则就三层,很好记:单模型的开关最大,整家的开关其次,再往下是启动时配的通配符,比如 -test- 这种,开箱就自动藏一批。啥都没配,默认全显示。
几个顺手处理掉的细节:
关掉正在用的那个默认模型,设置页会自动换成第一个可见的,不会卡住。长列表,比如一家下面 70 多个,默认是收起来的,点一下才展开,不然设置页根本拉不动。菜单那边是实时生效,关了就不渲染,空的分组自动收掉。搜索框里打 p: 加空格再跟名字,能按家过滤。万一手滑全关光了,菜单里会有个空提示,点一下就把关的放出来,设置页底部也有个总数和一键恢复。
开关是存在 settings 的 llm-ctl 分区里,user 层的,换机器、清缓存都还在。团队 profile 想预置也行,配个 hiddenPatterns ,新人打开就已经是干净的了。
每张卡上还有个刷新,点一下去上游重新拉一遍现在到底有哪些模型,新冒出来的会挂个 new 标,你看一眼决定留还是关就行。
排队那个就一句话:所有 llm/stream 调用按 provider 分开排,先到先跑,撞到限流整个 provider 歇一会儿,排着的就等着,不会一窝蜂全失败。等太久或者队满了就直接报错,不干等,状态在输入框上面能看到,也能取消。
装法就一行,装完重启就行:
dsh plugin --profile web add -w @leaves615/dsh-llm-ctl
MIT 开源的,地址: https://github.com/leaves615/dsh-llm-ctl
单测和真机都跑过几轮了,肯定还有没盖住的地方,有在用 DSH 的可以装上试试,有问题直接提 issue ,我看得到。