dsh-generation-image:DeepSeek Harness 图像生成插件

前言

DeepSeek Harness (DSH) 是一个插件化的智能体开发框架。由于文本模型无法直接处理图像数据,在开发基于文本模型的 Agent 时,如果需要生成或编辑图片,通常需要跳转到外部工具。

sfyyy/dsh-generation-image 插件解决了这个问题。它为 DSH 会话提供了一个 generate_image 工具,允许 Agent 调用用户指定的 OpenAI 兼容图像 API(如 xiaoyaoapi 或本地网关),并将生成的图片持久化保存为 DSH 附件,在会话 UI 中以缩略图形式展示。

核心能力

该插件主要提供以下功能:

  1. 文本与图像生成:支持纯文本生成图片(Text-to-Image),也支持通过 referenceImageIds 参数基于已有附件进行编辑(Image-to-Image)。
  2. 会话集成:生成的图像会自动保存为 DSH 附件,并在对话界面的右侧(助手侧)渲染为可点击的缩略图。
  3. 模型安全隔离:DeepSeek 文本模型在处理消息时,会将图片块重写为文本标记,确保模型不会直接接触图像数据。
  4. 多格式支持:支持 API 返回 b64_json 格式,也支持返回远程 url 格式(插件会自动下载字节流)。

安装与启用

插件通过 npm 安装。安装后需重启 dsh web 以使 UI 生效。

# 使用 dsh CLI 安装
dsh plugin --profile web add @dsh-extension/dsh-generation-image

安装完成后,在 DSH Web 的设置中找到 “Generation Image” 选项进行配置。

配置

插件默认不提供凭证,需要用户自行配置 API 端点和密钥。配置优先级为:设置页面 > 环境变量 > 配置文件。

配置文件路径为 ~/.dsh/generation-image.json:

{
  "enabled": true,
  "baseUrl": "https://your-image-endpoint.example/v1",
  "apiKey": "sk-xxxx",
  "model": "gpt-image-2",
  "size": "",
  "quality": "auto"
}

主要配置项说明:
* baseUrl:OpenAI 兼容接口的根地址(需包含 /v1),默认为空。
* apiKey / apiKeyEnv:API 密钥,互斥,直接填入或通过环境变量覆盖。
* size:默认尺寸,留空表示不限,或设为 "auto"。
* quality:默认质量,默认为 "auto"。

环境变量覆盖支持:
* DSH_GENERATION_IMAGE_BASE_URL
* DSH_GENERATION_IMAGE_API_KEY
* DSH_GENERATION_IMAGE_MODEL
* DSH_GENERATION_IMAGE_SIZE
* DSH_GENERATION_IMAGE_QUALITY

典型用法

Agent 调用 generate_image 工具。该工具接收以下参数:

  • prompt (必需):图片描述。
  • size (可选):尺寸限制,默认为空(不受限)。
  • quality (可选):质量设置,默认为 auto。
  • count (可选):生成数量,限制为 1-4。如果请求数量超过 1,插件会自动将其拆分为多次 n=1 的请求。
  • referenceImageIds (可选):用于 /images/edits 端点的图片附件 ID。

示例:
Agent 可以通过提供 referenceImageIds 来请求修改一张图片,或者不提供该参数仅进行文本生成。

注意事项

  1. BYO Credentials:插件不内置 API Key,必须自行配置。
  2. 会话重启:安装新插件后,务必重启 dsh web 进程,UI 才会加载新的缩略图渲染逻辑。
  3. 环境变量覆盖:配置优先级遵循官方说明,环境变量可用于在不修改配置文件的情况下灵活切换环境。
  4. 生态归属:该插件属于 DSH 生态的一部分,由社区维护,目录地址为 skillhub.cn,与 DeepSeek 官方无直接隶属关系。

结语

dsh-generation-image 是在 DSH 中扩展多模态能力的基础组件。它通过标准的 OpenAI 兼容接口,将图像生成能力无缝集成到现有的智能体工作流中,同时通过附件机制解决了数据持久化的问题。

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

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

小夜