语言模型
语言模型接入 DSH 的模型路由系统。它不是只能选择一个的能力服务:所有已加载提供方的已配置路由都会同时可用。聊天以 路由/模型 的形式选择模型。
DSH 配置档案设置
这些路由用于取代 DSH 默认模型适配器提供的路由。请在目标配置档案中禁用 @deepseek-ai/dsh-llm-pi-ai 插件行及默认的 ui-settings-models 设置页面,以免出现重复路由和两个相互竞争的模型配置界面。请保留 DSH 核心 llm 服务;本项目正是向该服务注册适配器。
配置路由
在 设置 > 语言模型 中创建具有稳定 ID 和显示名称的路由,选择可复用连接,再添加模型。模型发现调用 GET /models,也可手动输入模型。
每个模型可以声明显示名称、上下文窗口、默认输出 token 上限、图像输入支持、具名推理等级(按推理强度从低到高排列;DSH 会把第一个等级用于会话标题等轻量任务)及默认等级,以及采样覆盖设置。
如果模型的聊天模板会把对话中任意位置改变的系统提示当作完整的系统提示,可勾选 systemInHistory;模板要求系统消息必须放在最前面时请保持关闭。
路由级采样设置应用于所有模型,除非模型或单次请求覆盖它。支持温度、top-p、top-k、min-p、频率与存在惩罚、重复惩罚、随机种子、停止字符串、输出上限、工具选择及额外 JSON 请求字段。提供方可以在同一个对象中加入自己的控制项,例如 Ollama 的 numCtx、keepAlive 和 think;参见厂商控制项。
OpenAI 兼容行为
本项目维护的 OpenAI 提供方以流式方式调用 POST /chat/completions,并转换 DSH 消息、图像、工具定义、工具调用、推理内容、用量和结束原因。
| 设置 | 用途 |
|---|---|
maxCompletionTokens | 使用 max_completion_tokens 代替 max_tokens |
replayReasoning | 将先前回答的推理内容重新发送给模型 |
reasoningTags | 从独立字段、显式标签或隐式前缀读取推理内容 |
headers | 添加路由专属请求头 |
retry | DSH 如何重试此路由失败的请求(见下文) |
body | 添加提供方专属的顶层请求字段 |
调用前会合并路由、模型、请求和已注册策略的设置,其中 DSH 请求值最为具体。
模型标记为支持图像后,提供方会通过 DSH 读取可用的图像附件,并以 data URL 发送。已卸载或无法读取的图像会变成文本占位符。文件同样以占位符表示;此集成不会向模型端点上传任意文件。
路由向 DSH 报告的内容
除模型外,每个路由还会向 DSH 报告下列信息。除特别说明外无需额外设置。
- 重试策略。 可选的路由设置
retry与 DSH 自己的策略结构相同:mode(normal在最多maxRetries次内重试暂时性失败,always重试所有失败)、retryableCodes和backoff(initialDelayMs、maxDelayMs、jitterRatio)。不设置时使用 DSH 的默认值。策略有误会使该路由不可用,原因显示在路由上;保存后立即生效。Anthropic 提供方在路由 JSON 中使用同样的设置。 - 每次调用只读取一次。 DSH 先准备调用,再发送请求。模型信息与请求来自同一次对路由的读取,因此中途编辑路由不会把旧的模型信息与新的端点设置混在一起。
- 可配置提供方。 每个路由都会作为“由配置声明”的路由列入 DSH 的可配置提供方目录,附带其连接的地址以及妨碍它提供服务的问题,并指向保存该路由的插件设置区域。
- 模型发现。 DSH 可以向某个设置区域询问模型。已配置的路由用自己的模型作答;仍在编辑的草稿端点则通过
GET /models询问,使用仅为这一次提问提供的密钥,不会保存。OpenAI 兼容提供方、LocalAI、Anthropic 和 Ollama 都支持。 - 图像与工具。 图片按存储原样发送,因此适用 DSH 默认的请求图像尺寸,也不声明图像计费,DSH 使用其中性估算。每个请求都携带完整的工具列表,因此提供方不声明对话中途的工具更新。
策略
了解请求用途的插件可以通过 ctx.aiProviders.policy() 注册 LlmPolicy。策略可调整采样参数和并发优先级,同时不让调用方依赖 OpenAI 提供方。
可选模型管理
提供方可以通过语言模型服务暴露模型生命周期操作。消费方插件先用 ctx.aiModels.operations(route) 检测路由支持的操作,再调用 status(route, model)、load(route, model) 或 unload(route, model)。不能管理模型的提供方不会实现这项可选能力;调用方不得假定它一定存在。
这些操作影响的是提供方进程,而非单个聊天。卸载模型尤其可能中断其他用户或请求。因此,运行时只会执行插件明确请求的操作,绝不会在推理后自动卸载模型。可选的 AbortSignal 可以取消请求,但不能保证远程服务器会撤销已经接受的工作。
Anthropic 原生行为
本项目维护的 Anthropic 提供方使用 POST /messages,原生映射系统提示、内容块、工具声明、工具调用和工具结果。流式文本、思考、工具输入 JSON、用量、缓存用量和停止原因会转换为 DSH 数据块。图像块从 DSH 附件服务读取并作为 base64 图像来源发送;已卸载的图像仍使用文本占位符。
此插件只注册 Anthropic 的语言模型能力,不注册嵌入、重排、语音或图像生成服务。