dsh-ujn-image:在 DSH 里调用济大词元做文生图与图生图

前言

DeepSeek Harness(DSH)自带 read_image,只能读已有图片,不能在对话里直接「画一张图」或按参考图改场景。济南大学的大模型公共服务平台 济大词元(llm.ujn.edu.cn)提供 OpenAI 兼容接口,其中包含 Qwen-Image 等生图能力;接口可以单独调,但和 DSH 的工具注册、base64 落盘、持久附件、凭据存储并不自动打通。

下面介绍社区插件 dsh-ujn-image(维护者 Jia-HuaWu):在 DSH 设置页填一次 API Key,对话里用自然语言触发文生图或图生图,生成结果存成 PNG 并作为持久图片附件回传,便于后续在会话里继续用。

这是什么

dsh-ujn-image 属于 DSH 社区插件目录中的「模型推理」类项目(目录页:skillhub.cn/plugins/Jia-HuaWu/dsh-ujn-image)。它补了三块缺口:

缺口 插件做法
DSH 没有内置「生成图」工具 注册 ujn_generate_image、ujn_edit_image
平台返回 base64,对话需要持久附件 解码 → 落盘 → ctx.attachments.saveImage() → 回传 ImageBlock
API Key 不宜写在明文配置里 走 DSH 官方凭据域,设置页填写,响应不回传明文

一句话:让 DSH 会调用校内平台画画,并把图画进对话附件链路。

核心功能

文生图

在对话里描述画面即可,例如:

画一只戴着宇航员头盔的橘猫,漂浮在太空中,细腻写实风格

工具主要参数(摘自 README):

参数 必填 说明
prompt 是 画面描述,中文可直接写
size 否 square / landscape / portrait / wide / tall
enhance 否 是否先用 Qwen-Image-PE-T2I 扩写提示词(约多 15 秒;失败会回退原提示词)
steps 否 采样步数,默认 40
fileName 否 自定义文件名(同名不覆盖,自动加序号)

图片编辑 / 图生图

需要保留角色或物体外观时,应附 1–4 张参考图,并写清「保持…不变」。纯文生图无法知道参考图里的角色长什么样。

示例:

让她在玩电脑            [附上一张角色图]

对应平台 /v1/images/edits(multipart)。images 可填 DSH 附件目录里无扩展名的只读副本路径,插件按文件 magic bytes 识别格式。

编辑场景下 README 建议 enhance 默认关闭:PE-I2I 改写实测约 70 秒,且有时不改写中文;指令写清楚时通常不必开。

设置页

安装并重启 DSH 后,在 设置 → 济大词元文生图 中可:

  1. 填写 API Key(保存后仅显示「已配置」)
  2. 测试连接:列平台模型,确认密钥与生图模型可用
  3. 试跑:不打开对话即可预览生成;填参考图路径则自动进入编辑模式
  4. 调整接口地址、生图模型、默认画幅、采样步数、保存目录等

若已在「设置 → 模型」为同一平台配置过密钥,插件默认复用 UJN_API_KEY 凭据名。

安装与启用

README 给出的安装方式如下(本地路径示例需改成你机器上的插件目录):

# 桌面端(DeepSeek Harness 桌面应用)
dsh plugin --profile desktop add link:E:/DeepseekHarness/dsh-ujn-image

# 网页版(dsh web)
dsh plugin --profile web add link:E:/DeepseekHarness/dsh-ujn-image

# 或从 git 安装
dsh plugin --profile desktop add git+https://github.com/Jia-HuaWu/dsh-ujn-image

安装后重启 DSH:宿主侧工具注册与浏览器侧设置页装配在启动时完成。README 徽章标明面向 DSH 0.2.0-rc.2 生态;package.json 中插件版本为 1.0.0,许可证 MIT。

卸载示例:

dsh plugin --profile desktop remove dsh-ujn-image

卸载不会删除已生成图片,也不会清除凭据文件。

拿到 API Key

  1. 打开 https://llm.ujn.edu.cn ,用统一身份认证登录(学生用学号)
  2. 进入「密钥 / Tokens」,创建密钥
  3. 复制 ujn- 开头的字符串(只显示一次,需当场保存)
  4. 粘贴到插件设置页

README 说明:生图模型与聊天模型配额独立,出图不挤占日常对话额度。

典型用法

只做文生图:在对话里用中文描述画面,必要时在工具参数里指定 size、steps 或开启 enhance。

角色进新场景:先附上角色参考图,再发类似「让这个角色坐在电脑桌前玩电脑游戏…保持发型、发饰、服装完全一致」的指令,由 ujn_edit_image 调用编辑接口。

不在对话里试:用设置页的「试跑」,可单独验证文生图或带参考图的编辑。

让模型「看见」生成的图(可选)

插件会把图写成持久附件,但 DSH 的 llm-pi-ai 适配器在模型未声明 input 时,默认可能只接受文本,图片会被替换成占位说明,模型读不到像素。README 建议在 profile 的 cordis.patch.yml 里为 ujn 路由增加 defaultInput: [text, image],并注明需实测平台模型确实支持读图后再改。不做这一步时,图仍会生成并在界面显示,只是模型可能无法基于画面内容继续追问或修改。

适用场景与注意

适合谁:已在或可访问济南大学大模型平台(济大词元)、希望在 DSH 对话/agent 流程里直接文生图、图生图的用户。

运行方式:与其它 DSH 插件一样,代码在 当前 dsh 进程权限 下执行;安装前请自行查看 GitHub 仓库 源码与 MIT 许可证,确认密钥与生成图片的落盘位置(默认相关目录见 README 工作原理:ujn-images/、设置存于 $DSH_HOME/dsh-ujn-image/settings.json)。

安全相关(README 摘要):密钥进 $DSH_HOME/.credentials.yaml;设置页写密钥的接口仅接受本机回环请求,反代或局域网访问可通过 DSH_UJN_IMAGE_TRUSTED_HOSTS 声明可信 Host。

已知限制:依赖校内平台可用性与配额;图生图依赖参考图与提示词质量;第三方插件未使用 @deepseek-ai/dsh-tools 的 defineTool,而是手写与注册表等价的工具定义(README 有说明原因)。

结尾

dsh-ujn-image 把济大词元的 Qwen-Image 文生图、图生图能力接进 DSH 工具与附件链路,并配套设置页、连接测试与试跑。社区目录:https://www.skillhub.cn/plugins/Jia-HuaWu/dsh-ujn-image ;源码与完整说明:https://github.com/Jia-HuaWu/dsh-ujn-image。

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

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

Xiaoye