DeepSeek Harness 插件:dsh-tool-imagegen

前言

DeepSeek Harness (DSH) 的插件机制允许开发者通过扩展功能来增强工作流。对于需要视觉输出的智能体或工作流,dsh-tool-imagegen 插件提供了一个解决方案。它通过 OpenRouter 的统一图片生成 API,将文本转图片和图片转图片的能力集成到 DSH 中。

核心定位

  • 作者: Pappet
  • 许可证: MIT
  • 功能: Text-to-image 和 image-to-image 生成
  • 依赖: Node.js >= 22.19
  • 接口: OpenRouter 的 POST /api/v1/images (非 OpenAI 兼容接口)

安装

在终端中运行以下命令将插件安装到 web profile:

dsh plugin --profile web add dsh-tool-imagegen

安装完成后,插件会出现在 dsh.profile.bundles 中,并自动插入插件行。

配置与启用

插件安装后需要配置 API 密钥。推荐将密钥存储在凭证文件中,环境变量次之。

  1. 设置凭证: 在 $DSH_HOME/.credentials.yaml 中添加:
   refs:
     OPENROUTER_API_KEY: sk-or-...

或者在 shell 中导出环境变量:

   export OPENROUTER_API_KEY=sk-or-...
  1. 配置别名与参数: 在 cordis.patch.yml 中添加配置覆盖。由于配置是整行替换而非深度合并,所有需要覆盖的键都必须显式列出。示例配置如下:
   - id: imagegen
     config:
       apiKeyEnv: OPENROUTER_API_KEY
       baseURL: https://openrouter.ai/api/v1
       outputDir: .dsh/images
       defaultModel: seedream
       capabilityTtlMs: 86400000
       maxImagesPerCall: 4
       maxReferenceBytes: 8388608
       maxReferenceTotalBytes: 33554432
       showInChat: true
       models:
         seedream:
           id: bytedance-seed/seedream-4.5
           defaults: { resolution: "2K", aspect_ratio: "16:9" }

使用方法

在 DSH 的对话或工具调用中,可以通过 JSON 格式调用 generate_image 工具。

基础文本生成

{
  "prompt": "一只在太空中的猫",
  "model": "seedream"
}

图生图

通过 input_references 参数传入路径或 URL:

{
  "prompt": "Turn this into a soft watercolor painting, same composition.",
  "input_references": ["bilder/vorlage.png", "https://example.com/style.jpg"]
}

关键特性与注意事项

1. 模型别名与能力门控

模型别名不仅是词汇表,还是允许列表。插件会根据模型的能力记录 (GET /api/v1/images/models) 动态检查参数,而不是硬编码。如果模型不支持请求的参数(例如不支持某分辨率),会返回具体的错误信息。

2. 输出路径与编码

output_path 中的文件扩展名仅作为建议。实际的编码格式由模型决定。例如,如果你请求生成 .png 但模型返回的是 JPEG,文件名会被重命名为 .jpg。插件不会因为文件名错误而报错。

3. 配置覆盖机制

在 cordis.patch.yml 中的配置覆盖会整行替换配置,而不是深度合并。这意味着如果你不列出某个键,它将使用该行的默认值,而不是继承其他配置的值。

4. 运行时可编辑

插件在浏览器端注册了设置卡片,允许在运行时编辑别名和可调参数,无需重启 DSH 进程。

5. 图片引用处理

图片引用 (input_references) 支持工作区路径或 URL。插件通过读取文件的魔数来判断格式,忽略文件名中的后缀。引用图片的数量和大小受模型能力限制(例如 Seedream 4.5 支持 14 张,GPT-Image 系列支持 16 张)。

总结

dsh-tool-imagegen 是 DeepSeek Harness 中用于集成 OpenRouter 图片生成能力的工具。它通过动态能力检查和灵活的配置方式,为开发者提供了在智能体工作流中直接生成和编辑图片的能力。

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

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

小夜