前言¶
DeepSeek Harness (DSH) 的插件化架构允许为文本模型添加视觉能力。dsh-vision-tool 是一个插件,它为仅限文本的模型提供视觉路由。它通过自动重写粘贴的图片为内容寻址附件引用并调用 Kimi 视觉模型来实现这一点。
核心功能¶
该插件通过两个主要组件协调工作:
- vision-prompt:拦截
POST /api/session.prompt。当活跃会话模型不支持图片输入时,粘贴的图片会被持久化为内容寻址附件,并在文本提示中被重写为完整的附件引用 JSON。其他请求(无图片或模型已支持图片)会被原样转发,并重新实现了官方/api信任护栏(DNS 重绑定 / 跨站防御)。 - vision-tool:注册全局
analyze_image工具。模型调用此工具时,传入附件引用(或本地文件路径),工具将图像路由至 Kimi 视觉模型并返回文本描述。
安装与启用¶
使用以下命令安装插件(需要指定 SHA 以锁定版本):
dsh plugin --profile <name> add github:<you>/dsh-vision-tool#<sha>
安装后,重启 profile 使配置生效:
dsh --profile <name>
确认插件层已加载(查看配置输出中是否包含 # == dsh-vision-tool):
dsh --profile <name> --dump-config
典型用法¶
- 粘贴图片:在聊天框中粘贴图片。
- 自动重写:
vision-prompt会将图片持久化到 Harness 附件存储,并重写提示以包含附件引用。 - 模型调用:模型调用注册的
analyze_image工具,传入附件引用或本地文件路径。 - 配置模型:通过配置
cordis.patch.yml切换视觉模型(baseURL, model, apiKeyEnv)。
配置与依赖¶
必要依赖:
* dsh CLI
* KIMI_CODE_API_KEY(从 $DSH_HOME/.credentials.yaml 或环境变量读取)
* 依赖包:@deepseek-ai/dsh-tools, @deepseek-ai/dsh-credentials, @deepseek-ai/dsh-host-apiproxy
配置示例(在 cordis.patch.yml 中):
- id: vision-tool
name: dsh-vision-tool
config:
baseURL: https://api.kimi.com/coding/v1
model: kimi-for-coding
apiKeyEnv: KIMI_CODE_API_KEY
maxImageBytes: 20971520
timeoutMs: 120000
注意:
kimi-for-coding仅接受temperature: 1(其他值会返回 HTTP 400),该插件默认硬编码了该值且不可配置。
注意事项¶
- 安全与存储:请求体上限为 160MB。插件不存储提示或图片内容,仅使用 Harness 的附件存储。任何失败均降级为直通(passthrough)。
- 日志:操作日志写入
$DSH_HOME/vision-trace.log。 - 格式支持:支持 png, jpg, jpeg, webp, gif。
总结¶
dsh-vision-tool 通过重写提示和注册全局工具,为 DSH 中的文本模型提供了调用 Kimi 视觉模型的能力。安装前请检查源码与许可证(MIT)。