docs: source templates, split image AUTO chain, headless/desktop installers

- AUTO chain section: chat and image generation are now two independent
  chains (auto / auto_image) toggled in the Priority page; legacy image
  discovery fallback documented
- new Source templates section: multi-key balancing via reusable templates
  (Templates manager, From template / As template in the add-source dialog)
- Desktop GUI section: two installer kinds — Headless (server, plain binary)
  and Desktop (Electron GUI); release artifact naming ModelRouter-Headless-* /
  ModelRouter-Desktop-*; stale 1.0.0 version pins replaced with <ver>
This commit is contained in:
JianFeeeee
2026-08-27 13:02:48 +08:00
parent a5384d9fb6
commit 94cbcb6771
2 changed files with 105 additions and 25 deletions

View File

@ -184,16 +184,24 @@ sources:
### AUTO 链(优先级页)
AUTO 调度****由优先级页保存的规则持久化到 `runtime_file` `auto` 字段决定
源配置里的 `models[].priority` 数字不再参与调度也不再显示
AUTO 调度****由优先级页保存的规则决定源配置里的 `models[].priority` 数字不再
参与调度也不再显示**聊天与生图是两套独立的链**在优先级页面通过聊天 / 生图
按钮切换编辑
- **聊天链**`runtime_file` `auto` 字段服务 `POST /v1/chat/completions`
`model: AUTO` 请求只接受 `kind: chat` 模型配置在链里的生图槽位会被忽略
- **生图链**`runtime_file` `auto_image` 字段服务 `POST /v1/images/generations`
`model: AUTO` 请求只接受 `kind: image` 模型未配置生图链时AUTO 生图回落
所有含生图模型的源按注册顺序的旧行为兼容旧配置
每条规则 = 一个「槽位」:`{ model, source, tier, token_quota, period, hours }`
- 每条规则 = 一个「槽位」:`{ model, source, tier, token_quota, period, hours }`
- `tier` 表示优先级档位同一档的模型并排共享该优先级档位从上到下递减
- 同一模型可配置多个槽位 A 源低配 B 源低配 A 源高配 B 源高配按档位顺延
- `token_quota` > 0 时该槽位在重置周期内用满即顺延到下一槽位;`period` 支持
`hour` / `week` / `month` / `nhour`(配合 `hours`),空 = 不限。
- 生图模型(`kind: image`)不参与 AUTO 链;生图走 `POST /v1/images/generations`
的独立路径
- 同 tier 内按「偏好分」排序,失败槽位冷却后自动跳过;冷却 / 配额耗尽 / hard
错误会顺延到下一 tier全部失败时返回 503 并附上每档失败摘要
### 源Source与适配器Adapter的关系
@ -224,6 +232,23 @@ WebUI 上的"新增/编辑源"、"上传 Lua 适配器"、"改 AUTO 优先级链
`config.yaml` 中定义的基源无法改写配置文件,采用删除标记隐藏(重启后仍隐藏),
在 UI 里重新添加同名源即可恢复。
### 源模板(多 key 负载均衡)
多个上游 key 共享同一套配置URL / 适配器 / 模型列表 / 并发 / rpm逐一复制
整段 source 太冗余。**源模板**保存除 `name``api_key` 以外的全部源字段,
从模板一键创建多个仅 key 不同的源,天然支持多 key 负载均衡(每个展开源独立调度、
独立冷却、独立健康状态)。
- WebUI「源」页右上角「**模板管理**」按钮:列出全部模板,可编辑 / 删除 / 新建。
- 添加源弹窗右上角两个按钮:
- **从模板创建** → 选模板 → 表单自动填充name + key 仍需你填);
- **存为模板** → 把当前表单非 key/name 字段存为新模板。
- 模板持久化在 `runtime_file``source_templates` 字段,与运行时源一样热管理,
改完即时生效。模板本身不含密钥,可以安全共享 / 纳管。
模板不会自己变成源——它只是「配方」。真正承担流量的是从模板创建出来的、带 key
的具体源。
### disable_thinking
请求体带 `"disable_thinking": true`网关透传给各适配器DeepSeek 适配器将其
@ -296,14 +321,23 @@ return {
一键启停、系统托盘常驻、开机自启、静默启动,内容区一比一内嵌完整 WebUI
(状态/对话/密钥/优先级/源/适配器 六个页面,免登录)。服务器用户继续使用纯 Go 二进制。
### 两种安装包Headless 与 Desktop
发布到 Release 的安装包分为两类,面向不同用户:
- **Headless服务器版**:纯核心二进制(无 Electron配置驱动适合服务器、
容器、systemd 等无人值守场景。Linux 为 `.tar.gz`(二进制 + `config.example.yaml`
+ `adapters/` + READMEWindows 为 `.zip`
- **Desktop桌面版**Electron GUI 安装包,内嵌核心,适合个人桌面日常使用。
### 选择 GUI 还是纯后端
| 场景 | 推荐 | 理由 |
| ------ | ------ | ------ |
| 服务器 / 内网网关 / 无人值守常驻 | **纯后端**(单二进制) | 极轻量(~10MB、~15MB RSS零依赖单进程直接跑在 systemd/任意容器里,远程管理 |
| 个人桌面日常使用 / 多设备内网共享 | **GUI**Electron | 免登录内嵌 WebUI、系统托盘一键启停、开机自启、静默后台适合不懂命令行的使用者 |
| Windows 桌面 | **GUI** | 纯后端在 Windows 上需自行注册服务GUI 提供原生托盘/自启体验 |
| CI 一键出三平台安装包 | **GUI 打包脚本** | `make gui-*` 系列出 deb/AppImage/NSIS可进发行流水线 |
| 服务器 / 内网网关 / 无人值守常驻 | **Headless**(单二进制) | 极轻量(~10MB、~15MB RSS零依赖单进程直接跑在 systemd/任意容器里,远程管理 |
| 个人桌面日常使用 / 多设备内网共享 | **Desktop**GUI | 免登录内嵌 WebUI、系统托盘一键启停、开机自启、静默后台适合不懂命令行的使用者 |
| Windows 桌面 | **Desktop** | 纯后端在 Windows 上需自行注册服务GUI 提供原生托盘/自启体验 |
| CI 一键出三平台安装包 | **Desktop 打包脚本** | `make gui-*` 系列出 deb/AppImage/NSIS可进发行流水线 |
两者完全同源GUI 内嵌的就是纯后端的同一份 `llmsproxy` 核心LuaJIT 版),
配置/适配器格式完全一致,可随时互换。
@ -321,8 +355,10 @@ make gui-win-docker # 构建 Windows nsis 安装包(全 docker 自足,无
make gui-dist-dir # 仅解包产物(调试用,不产安装包)
```
产物在 `cmd/build/gui-dist/``ModelRouter-1.0.0.AppImage`
`modelrouter-gui_1.0.0_amd64.deb``ModelRouter Setup 1.0.0.exe`win。rpm 需系统 `rpmbuild`
产物在 `cmd/build/gui-dist/``ModelRouter-<ver>.AppImage`
`modelrouter-gui_<ver>_amd64.deb``ModelRouter Setup <ver>.exe`win。rpm 需系统 `rpmbuild`
发布时会把产物重命名为 `ModelRouter-Desktop-*`GUI`ModelRouter-Headless-*`(纯后端)
两类上传到 GitCode Release。
#### Windows 打包docker 固化方案,推荐)