dsh-model-manager
v0.2.1
Published
Model tags, reasoning capabilities, image routing, and vision proxy support for DeepSeek Harness
Maintainers
Readme
dsh-model-manager
English | 中文
dsh-model-manager 提供独立的“模型中心”设置页,并与 DeepSeek Harness 官方模型设置页和模型选择器共享模型元数据。第一阶段不替换 llm-pi-ai、凭据、首次引导、官方模型选择器或 @deepseek-ai/dsh-tool-fs。
功能
- 为模型增加标签;比较时不区分大小写,显示时保留第一次输入的写法。
- 在 设置 → 模型中心 中按提供方集中维护标签和图片代理;它与官方模型页并存,并写入同一份 manager 元数据。
- 通过官方
reasoningEfforts字段配置off、minimal、low、medium、high、xhigh和max。 - 通过模型官方
input字段修改图片输入能力。 - 为纯文本模型指定一个明确且原生支持图片的代理模型。
- 在官方模型选择器中按一个或多个标签筛选,多个标签采用任一匹配。
- 上传转录与
read_image在会话、图片、路由、关注点和提示模板版本相同时共用代理结果。
宿主的模型发现弹窗会让每次新发现的模型默认全部不选,并提供“全选”和“清空”。这些交互属于兼容宿主,不写入本插件元数据。
兼容性
本插件要求 DeepSeek Harness 提供 ctx.imageInput、可叠加的模型设置扩展槽和模型选择筛选扩展槽。不包含这些 API 的已发布旧宿主不兼容,启用插件前需要升级宿主。Host 服务显式依赖 imageInput、attachments 和 llm,缺少公开服务时 Cordis 不会激活插件。
演进边界
模型中心目前只拥有本插件的标签和图片路由元数据,运行时模型目录仍由已加载的 LLM 适配器公开。它不会复制模型路由、OAuth 令牌或宿主凭据;后续 OAuth 提供方将以独立贡献方式接入模型中心,保留各自的协议和模型适配器实现。
提供方插件可以从 dsh-model-manager/client 注册 registerModelCenterExtension(),把登录、账号或提供方专属配置渲染到独立页面;manager 核心不需要增加提供方分支。
图片路由
模型原生图片能力始终优先。来源模型不支持图片时,插件只使用为它明确配置的代理,不搜索或猜测其他模型。代理目标必须存在、不能是来源模型本身,并且必须直接声明支持图片;不允许代理链或递归代理。
上传的原图原样保留在持久用户消息中。发送给供应商之前,插件记录一条可回放的代理观察,并且只从纯文本模型收到的出站副本中移除图片块。read_image 接受可选 focus,代理模式返回文字观察,不把原图注入纯文本模型上下文。
代理调用复用 Harness 的 LLM 和凭据服务。当前轮次取消会传递到代理请求,proxyTimeoutMs 提供额外超时上限。代理失败时明确报错,不换其他模型重试。
配置
- insert:
- id: dsh-model-manager
name: dsh-model-manager
config:
proxyTimeoutMs: 60000
# metadataPath: D:/dsh/model-manager.json
# dshHome: D:/dsh-home元数据默认保存在 <DSH_HOME>/plugins/dsh-model-manager/config.json。写入采用原子替换和单调递增的 revision;旧页面提交时会被拒绝,不会覆盖新页面已经保存的内容。
浏览器持久化
标签筛选属于普通的全局界面状态,使用键 dsh.model-manager.selector.global.tags.v1。浏览器存储无效或不可用时降级为不筛选。模型标签、思考档位、图片能力、代理路由、凭据和表单草稿都不会写入浏览器存储。
开发验证
pnpm run typecheck
pnpm test
pnpm run build
pnpm run pack:check