Skip to content
dsh.fish
Bundle

@local/dsh-image-describe

DeepSeek Harness 宿主插件:让不支持图片输入的纯文本主模型也能"看图"(describe_image 工具 + 图片标记替换)

Source
sd1g1
stars
1 stars
License
MIT
Updated
Updated 3 days ago

Readme

# dsh-image-describe

DeepSeek Harness 宿主插件:让不支持图片输入(纯文本)的主模型也能通过 `describe_image` 工具“看图”。

## 安装

```bash
npx @deepseek-ai/dsh plugin --profile web add github:sd1g1/dsh-image-describe
```

## 配置

首次启动会自动创建 `~/.dsh/image-describe.json`(路径遵循 `$DSH_HOME`)。模板把 `vision.provider` / `vision.model` 留空,此时插件休眠,不影响正常请求;填写视觉模型后保存即热生效,无需重启:

```json
{
  "vision": { "provider": "my-vision-provider", "model": "vision-model" },
  "prompt": "请详细描述这张图片的内容",
  "maxTokens": 1500,
  "image": { "autoResize": true }
}
```

- `vision.provider` / `vision.model`:必填;留空 = 休眠
- `prompt`:可选,默认兜底指令
- `maxTokens`:可选,默认 1500
- `image.autoResize`:可选,默认 `true`。发送给视觉模型前沿用 pi-coding-agent 的图片处理方法:大图先缩到 2000x2000,再在 PNG/多档 JPEG 中选最小编码;处理失败时回退原图,不影响看图。设为 `false` 关闭

## 调用方式

`describe_image` 的 `attachment` 和 `path` 二选一:

- `attachment`:使用之前标记里出现过的 `attachmentId`,无需用户重新发送图片。插件会依次搜索当前会话的派生消息、完整事件日志(被压缩的历史仍可解析)以及当前已加载的其他会话。
- `path`:直接描述本地图片文件(绝对路径,或相对会话 cwd 的相对路径;支持 png/jpeg/webp/gif)。插件通过宿主 `fs` 服务读取文件,再交给附件服务校验并转为视觉模型可读的引用;与 `attachment` 一样,描述前会按 `image.autoResize` 预处理。

## 验证

- 给纯文本模型发送一张图片:请求会被替换为 `attachmentId` 标记,模型可调用 `describe_image` 获取图片描述;之后让模型直接凭该 `attachmentId` 再次调用,也应成功。
- 让模型调用 `describe_image({ path: "/绝对路径/图片.png" })`,应返回该图片的描述。

## 卸载

```bash
npx @deepseek-ai/dsh plugin --profile web remove @local/dsh-image-describe
```

Install

dsh plugin --profile web add github:sd1g1/dsh-image-describe

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source