dsh-imgdraw

前言

DeepSeek Harness (DSH) 的插件化架构允许开发者扩展其能力。dsh-imgdraw 是一个为 DSH 提供文生图功能的插件,由 ninjasln 维护。它解决了在 DSH 环境中直接调用大模型生成图片的需求,提供了模型工具接口、浏览器交互弹窗以及持久化的图片存储与访问路由。

核心能力

该插件主要包含以下能力:

  • 模型工具:注册了 draw_image 工具,支持通过参数控制提示词、数量、尺寸、后端和标签。
  • 浏览器交互:在输入框左侧提供「🎨 生图」按钮,点击后弹出交互窗口。支持选择尺寸(1:1, 16:9 等)、数量(1-4 张)、后端,并实时显示配额。
  • 异步生成与预览:支持异步生成图片,结果以 4 格网格展示。每张图片支持下载、选定保留(永不清理)或删除。
  • 图片路由:提供 /imgdraw 路由,支持通过直链访问生成的图片文件。
  • 持久化历史:生成记录保存在 ~/.dsh/imgdraw/index.json,跨重启保留。
  • 多后端支持:默认支持 DashScope 的 wan2.7-image(免费额度),可选 SiliconFlow 的 Qwen-Image。

安装与启用

通过 npm 发布的版本,可以使用以下命令安装:

dsh plugin add dsh-imgdraw

安装后,插件会随 profile 自动加载,属于正式 bundle,重启进程不会丢失状态。

配置项

插件支持通过 cordis.patch.yml 或 profile overlay 进行配置。主要配置项如下:

字段 默认值 说明
outDir ~/.dsh/imgdraw 图片输出目录
keysPath ~/.dsh/image-api-keys.json API keys 配置文件路径
routePrefix /imgdraw 图片路由前缀
rpcPath /imgdraw-rpc 浏览器 RPC 交互路由
keepLatest 24 每轮清理后保留的最新文件数(选定保留的文件不受此限制)
maxCount 4 单次最大生成数量
defaultBackend dashscope 默认后端:dashscope 或 siliconflow
dashscopeModel wan2.7-image DashScope 使用的模型
siliconflowModel Qwen/Qwen-Image SiliconFlow 使用的模型
historyCap 50 历史记录条数上限

使用方法

1. 浏览器端操作

  1. 在对话框输入框左侧找到「🎨 生图」按钮并点击。
  2. 在弹窗中输入提示词,选择尺寸、数量及后端。
  3. 提交后系统异步生成,结果以 4 格网格展示。
  4. 对每张图片执行下载、选定保留或删除操作。

2. 模型工具调用

AI 可以直接在对话中调用 draw_image 工具。参数包括:
* prompt:提示词
* count:生成数量
* size:图片尺寸
* backend:后端选择
* tag:标记(用于文件命名)

3. 直链访问

生成成功的图片可通过直链访问:

http://127.0.0.1:3080/imgdraw/<文件名>

注意事项

  • 正式 Bundle:本插件为正式 bundle,而非动态插件。重启 DSH 进程不会导致数据丢失。
  • 异步机制:浏览器 fetch 有 30 秒超时限制,因此生成过程必须异步进行。draw_image 工具支持同步等待,但超时设置为 180 秒。
  • RPC 通信:Client 与 Host 之间的通信走同源 /imgdraw-rpc HTTP 路由,而非 DSH 原生的 harness.handle。
  • 配额逻辑:插件使用本地计数作为配额管理,不提供 API 账单查询接口。用尽免费额度后需切换后端或手动核对。
羽毛球分组比赛记分
小程序二维码

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

小夜