dsh-vision-tool:为文本模型添加 Kimi 视觉能力的 DeepSeek Harness 插件

前言

DeepSeek Harness (DSH) 的插件化架构允许为文本模型添加视觉能力。dsh-vision-tool 是一个插件,它为仅限文本的模型提供视觉路由。它通过自动重写粘贴的图片为内容寻址附件引用并调用 Kimi 视觉模型来实现这一点。

核心功能

该插件通过两个主要组件协调工作:

  1. vision-prompt:拦截 POST /api/session.prompt。当活跃会话模型不支持图片输入时,粘贴的图片会被持久化为内容寻址附件,并在文本提示中被重写为完整的附件引用 JSON。其他请求(无图片或模型已支持图片)会被原样转发,并重新实现了官方 /api 信任护栏(DNS 重绑定 / 跨站防御)。
  2. 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

典型用法

  1. 粘贴图片:在聊天框中粘贴图片。
  2. 自动重写:vision-prompt 会将图片持久化到 Harness 附件存储,并重写提示以包含附件引用。
  3. 模型调用:模型调用注册的 analyze_image 工具,传入附件引用或本地文件路径。
  4. 配置模型:通过配置 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)。

插件目录
GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜