Pular para o conteúdo principal
E

dsh-model-team

eightfs/dsh-model-team

会话级模型路由插件:dsh 里只注册一个虚拟模型,真实模型按会话映射转发(合法接入优先,配置型驱动)

Instalar

dsh plugin --profile web add github:eightfs/dsh-model-team

README

dsh-model-team

在 DSH 模型列表里只出现一个虚拟模型,真正的模型按会话映射;切换发生在插件自己的群聊界面里。

功能

功能做什么入口
单虚拟模型模型列表只多出一个入口,其余由插件按会话路由DSH 模型选择器
群聊界面平台账号=群、模型=群友,@ 切换当前会话目标悬浮球 → 进入群聊界面
悬浮面板显示当前群聊、会话、目标、速率与总请求量点击悬浮球
分组与故障转移同名模型聚合,按策略轮转/故障转移通讯录 → 好友分组
请求行统计每次请求的模型、状态、耗时、token、命中率群聊内请求卡片、面板
凭据引用群里只存引用,不存明文 Key加群页「凭证」
反代账号用真实账号登录后接入,账号由插件保管加群页「登录」
模型目录运行时从上游拉取,按缓存周期刷新加群页「获取可用模型」
主题一个主题 = 一个 .tsx;默认 tim,classic 可选构建期配置 theme.source
备份与还原导出/导入完整配置与凭据文件(界面上暂无入口,接口可用)接口 / 数据库页(0.4.x 补)
外部 OpenAI 兼容入口可选对外提供 /v1/chat/completions配置 http.externalOpenAiCompat

环境要求

宿主运行时平台
DSH 0.2.x(@deepseek-ai/dsh-llm >=0.2.0 <0.3.0)Node ^22.19.0 || >=24.0.0Linux / macOS

用法

面板与界面

悬浮球                      # 点击展开面板:当前群聊 / 会话 / 目标 / 速率 / 总量
[ 进入群聊界面 > ]          # 打开主窗口,底边栏三 tab:消息 / 通讯录 / 我
+加群                      # 消息页右上角:选平台 → 填名称 → 登录或填引用 → 校验并添加

群聊指令

@模型名                     # 把当前目标切到该模型(消息流里出现我的气泡 + 系统提示)
@分组名                     # 切到分组:按策略轮转

加群与账号

选平台 Qoder → 登录 Qoder   # 弹出授权页,完成后自动选中账号
获取可用模型                # 反代平台从上游现拉;配置型平台按 API 地址探测
校验并添加群                # 成功后回到列表,不成功会显示原因

自测脚本

node scripts/reverse-login.mjs --platform <平台id>    # 反代登录(不打印 token)
node scripts/reverse-cosy-vectors.mjs                 # 签名与参考实现逐字节对拍

API

内部端点前缀 /_team;对外入口裸路径 /v1(默认关闭)。

方法路径说明
GET/_team/groups群列表(含摘要)
POST/_team/groups加群
PATCH/_team/groups/:id部分更新
DELETE/_team/groups/:id删群
GET/_team/groups/:id/models该群模型列表
POST/_team/groups/:id/verify校验凭证
GET/PUT/_team/session/:id/target读写会话目标
GET/_team/stats/session/:id请求行 + 会话速率
GET/_team/stats/global全局总量
GET/_team/reverse/accounts反代账号(脱敏)
POST/_team/models/probe探测模型
GET/POST/_team/export、/_team/import备份与还原
GET/v1/models、POST /v1/chat/completions外部兼容入口(需开启)
curl -s http://<host>:<port>/_team/groups
# {"groups":[{"id":"…","name":"…","driver":"openai-compatible","summary":"已连接 · https://…"}]}
curl -s -X POST http://<host>:<port>/_team/groups \
  -H 'content-type: application/json' \
  -d '{"name":"示例群","driver":"openai-compatible","baseURL":"https://api.example.com/v1","auth":{"apiKeyRef":"env:EXAMPLE_KEY"},"models":{"endpoint":"/models"}}'
# {"group":{"id":"…","name":"示例群","driver":"openai-compatible", …}}

状态

0.4.2 起进入「维护暂停」状态:代码可用,但以下功能未经真实使用环境验证,按现状发布:

项状态
加群页选平台后加载账号已修,未在重启后的主实例验收
网络失败文案(不再出现 signal is aborted without reason)已改,未验证
登录成功后自动关闭授权页已修,未验证
账号列表脏数据(.state.json 被当账号)已修,需宿主重启后复验
max_tokens 超过上游上限仍会先失败一次再降级重试,未修

完整待办与接手须知见 docs/26-待办清单.md;已知缺陷见 docs/13-差异与已知问题.md。

界面:0.4.0 起界面完全由主题渲染,ui/ 下没有 HTML 骨架、也没有独立 CSS,界面与样式都在 ui/themes/*.tsx 里,构建期编译进 lib/client.js。默认主题 tim,classic 为对照主题。

文档索引

Plugins relacionados