DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

leolee9086 /

leolee9086/dsh-tool-image

Verified

DeepSeek Harness 的远程文生图/参考生图 Cordis 插件:接入 OpenAI 兼容中转站,出图落盘并注册为附件,自带工具卡与中转站查询

★ 2 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@f51c048d

dsh-tool-image

DeepSeek Harness 的远程图像生成 / 参考生图插件,挂载在 HOST 平面,供不同 agent 预设下的会话共用。支持 OpenAI 兼容的图像接口、图像聊天接口和 Gemini 原生接口;出图同时保存为文件,并注册为会话附件,让模型和界面都能看见结果。

站点地址和凭据名来自运行时配置,插件不内置供应商地址或密钥。当前版本 0.4.0,更新内容见 CHANGELOG。

工具

工具 用途 必填参数
image_generate 文生图 prompt
image_edit 参考生图 / 改图,支持一次传多张参考图 prompt、image_path(路径或路径数组)
image_providers 查询已配置 provider,按需探测当前凭据可见的模型目录 无

生图工具共用的可选参数:

参数 说明
provider DSH 中已配置的 provider id;从运行时读取其 baseURL、apiKeyEnv 和协议类型
base_url、api_key_env 显式指定 API 基址和保存密钥的变量名,可覆盖 provider 中对应的配置;密钥值不作为工具参数传入
model 默认 gpt-image-2。具体模型 id 以目标站点为准,插件不会把名称当成可用性保证
api auto(默认)、images、chat 或 gemini;自动选择仅是路由建议,可显式覆盖
count 图像接口支持 1–8,默认 1;chat / gemini 只接受 1,禁止自动拆成多个付费请求
size 如 1536x2048。图像接口直接传尺寸;chat / gemini 转成标准宽高比,非标准比例在请求前报错
resolution 1K、2K、4K,仅适用于 chat / gemini;模型是否支持对应档位由站点决定
transparent 仅 images 支持,设置 background=transparent;其它协议在请求前拒绝,避免悄悄忽略
save_dir 长期保留素材时显式指定。默认 <系统临时目录>/dsh-image,也可用插件配置 saveDir 设置默认值

自动路由:provider 的协议类型为 google-generative-ai 时使用 Gemini 原生接口;否则 Gemini image / nano-banana 名称走 chat,其它名称走 images。显式覆盖 base_url 后不沿用原 provider 的协议类型。自动路由不会在失败后尝试另一种收费接口。

选择接口

api 文生图和参考生图的请求 返回图片形态
images /images/generations JSON、/images/edits multipart,多张参考图使用重复的 image 字段 data[].b64_json 或 data[].url
chat /chat/completions,提示词和全部参考图放进用户消息 message.images、内容中的图像块,或 Markdown 图片链接
gemini /models/{model}:generateContent,提示词和参考图以 parts / inlineData 传入 candidates[].content.parts[].inlineData,兼容 inline_data

OpenAI 兼容站的 base_url 应包含该站的 API 前缀,例如 https://relay.example/v1;Gemini 原生基址未带版本时会补 /v1beta,已带 /v1 或 /v1beta 时保留。请求失败会返回原接口错误,不自动重试、不切换站点,也不追加付费生成。

例如,工具参数可以这样填写(provider id 和 model 需换成自己的配置):

{
  "provider": "my-image-provider",
  "model": "gpt-image-2",
  "api": "images",
  "prompt": "一张适合手机阅读的竖版漫画",
  "size": "1536x2048",
  "save_dir": "./image-out"
}

参考生图在同一组参数中加 image_path:

{ "image_path": ["./reference-a.png", "./reference-b.png"] }

查询模型与判断依据

先调用 image_providers 查看运行时站点;probe=true 查询当前凭据能访问的模型目录,不调用收费生图。目录协议 api 可选 auto、openai 或 gemini,Gemini 目录支持分页。

show_all 默认 true,输出目录与配置模型的并集,保留陌生名称和仅配置的别名;设为 false 时只显示图像候选。每项标明来自目录、配置或两者,并区分:

  • 输出模态 / 端点元数据:站点明确声明图像输出或图像生成接口。
  • 名称推断:名称像已知图像模型家族,仍需确认实际接口与权限。
  • 未确认图像输出:不因名字陌生而删掉,也不把能输入图片的视觉模型当成能生成图片。

显式文本输出信息会阻止仅凭模型名认定为图像模型。普通 generateContent 方法本身也不是图像输出的证据。同地址的不同 provider 可能使用不同凭据分组;目录里有某模型,不等于当前分组有生图权限。

文件、附件与尺寸

每次生成先保存真实图片,再向可选的 attachments 服务注册。返回 summary、files 和 images;output.render 为每张附件提供 image block。附件服务不可用时保留文件路径,不把已生成的图片当成生成失败。

附件服务可能缩小预览。插件保留 originalDimensions,在结果中分别说明原图尺寸与预览尺寸,输出契约严格声明这些字段并继续拒绝未知字段。原文件不会因预览缩小而被覆盖;4K 文件尺寸也不代表插件能证明模型的内部采样分辨率。

返回图片的格式优先按 PNG / JPEG / WebP / GIF 文件特征识别。API 返回的图片下载链接不携带模型端点的 API 密钥。无图响应会报告拒绝或结束原因,避免只说“成功但没图片”。

安装与运行时配置

本仓库是可安装的 Cordis bundle,package.json 的 dsh.bundle.patch 指向 cordis.patch.yml。通过 DSH 的插件安装入口安装,挂载到 HOST 平面;不要把跨会话图片工具当作某个 agent 预设独占的服务。

凭据优先读取 api_key_env 或 provider 的 apiKeyEnv 指定的同名环境变量,再读取 DSH_HOME 下的凭据文件(默认 ~/.dsh/.credentials.yaml)。插件仅报告凭据名,不返回密钥值。

无 provider 时可通过 base_url + api_key_env 完整指定。DSH_IMAGE_BASE_URL 可作为地址后备;如果密钥保存在 DSH_IMAGE_API_KEY,显式传 api_key_env: "DSH_IMAGE_API_KEY" 即可使用。

本地开发时 Host 入口是 lib/index.js,Client 入口是 src/client.js。修改后按当前部署的插件重载 / 构建机制处理,并验证既有 GUI;单改文件或另开服务器不能保证现有页面已更新。

界面与工具检索

浏览器侧为 image_generate / image_edit 提供专属工具卡,显示全部附件,支持复制图片和存文件;透明区域以棋盘格呈现。图片由会话授权的 loadImage 加载。

工具描述包含“生成图片”“画图”“图生图”“模型查询”等检索词,适合配合 dsh-tool-gateway 的 find_tools 工具箱方式使用。

验证与限制

pnpm test

测试不依赖 DSH 内部包,也不发收费请求;覆盖输出契约的宿主关键词子集、严格返回值、原尺寸 / 缩小预览、模型目录合并与分页、多参考图传输、图片解析及失败不重试。受限环境中也可直接执行 node test/output-schema.test.mjs、node test/image-tool.test.mjs、node test/prompt-copy.test.mjs。

图像接口已做实际生成验证;新增聊天 / Gemini 原生适配的自动化验证使用模拟服务,不宣称所有站点和型号都已端到端实测。尺寸、分辨率档位、透明选项和多张生成仍取决于模型及站点适配。插件未实现取消之外的全局并发调度。

交流群

欢迎加个人讨论群【工具软件爱好者折腾群-综合讨论】:点击加入(群号 1017854502)。

赞赏

如果这个项目帮到了你,可以请我喝杯咖啡:

赞赏码

也欢迎通过 爱发电 支持。

—/ 5

No ratings yet

Verified DSH bundle

Commit f51c048d3e72

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout