xiaoxianyu-office/dsh-image-tools ↗★ 2
@dsh-external/dsh-image-tools
Dynamic chat-image bridge, recognition tool, onboarding wizard and failure self-check for text-only models on DeepSeek Harness
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:xiaoxianyu-office/dsh-image-tools说明文档
阅读完整 README ↗dsh-image-tools
让纯文本模型(deepseek-v4-pro / flash)具备识图能力的 DSH 插件包:
聊天发图自动落盘 + 原生 read_image 动态禁用 + 对话式 image_recognize 识图工具(委派视觉子 agent,如 xiaomi/mimo-v2.5)。
宿主层全局生效,四个 preset(standard / code / minimal / cordis)的会话通用。
动态桥接原理(v0.2.0)
不再配置任何路由列表。插件按会话当前模型的真实声明动态判定是否拦截:
- 桥接条件:模型解析出 image 能力,且该能力来自你在
settings.yaml里的显式声明 (路由defaultInput、模型条目input、或modelOverrides的input含image)。 手写 image 声明的唯一用途就是放行上传准入,所以声明即桥接意图。 - 原生条件:模型能力来自目录(catalog,如 qwen3.6-plus / grok-4.5 / mimo-v2.5),
无需任何声明 → 原生多模态链路,不转存、不拦截
read_image。
规则:真多模态模型不要手写 input 声明(目录已提供);移除声明即关闭该模型的桥接
(恢复纯文本,上传会被准入拒绝)。
安装
前置条件:
dsh plugin需要 pnpm:npm i -g pnpm- 模型路由(插件只挂载插件行,路由在设置层,需已存在):
# ~/.dsh/settings.yaml
llm-pi-ai:
providers:
xiaomi:
displayName: 识图模型(MiMo) # 识图模型分组(目录原生多模态)
apiKeyEnv: XIAOMI_API_KEY # key 可自由更换
baseURL: https://opencode.ai/zen/go/v1
models:
- id: mimo-v2.5
name: MiMo-V2.5
opencode-go:
apiKeyEnv: OPENCODE_GO_API_KEY
modelOverrides: # 只覆写这两个模型,其余目录模型(qwen/grok)保持原生
deepseek-v4-pro:
input: [ text, image ] # 桥接声明:仅用于放行上传准入
deepseek-v4-flash:
input: [ text, image ]
agent-default-model:
provider: opencode-go
model: deepseek-v4-flash
- 识图 token:
~/.dsh/.credentials.yaml中XIAOMI_API_KEY
安装(始终使用最新发布 tag,见仓库 Releases;示例为当前最新 v0.3.3):
dsh plugin --profile web add -w github:xiaoxianyu-office/dsh-image-tools#v0.3.3
安装后重启 dsh web 服务生效(插件代码在进程内)。
升级(始终切到最新 tag)
升级 = 重复 add 并指定最新的 tag,不要用 update 选择 Git 引用:
dsh plugin --profile web add -w github:xiaoxianyu-office/dsh-image-tools#v0.3.3