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
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install local-dsh-image-describe from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.