dsh-agnes-image:在 DSH 会话里生成并落盘 Agnes Image 2.5 Flash 图片

前言

在 DeepSeek Harness(DSH)里让智能体「画图」,常见难点不在提示词本身,而在链路是否可靠:接口返回的是外链还是字节、生成成功后第二跳下载是否失败、IPv6 与 happy-eyeballs 导致的长时间连接超时,以及错误信息是否足够让模型继续推理。许多图片类插件只做一层 fetch 封装,智能体拿到 URL 或空错误,难以在会话工作区里直接展示、对比或再次引用。

下面介绍社区插件 dsh-agnes-image(维护者 Lijianan-123)。它在 DSH 中暴露单一工具,对接 Agnes Image 2.5 Flash(agnes-image-2.5-flash),支持文生图、单图参考编辑与多图合成,并把结果写成会话工作区内的 PNG 文件,便于后续用 read_image 查看或再传入 image 参数。

这是什么

dsh-agnes-image 是 npm 包 @dsh-external/dsh-agnes-image(当前版本 0.2.0,MIT 许可证)对应的 DSH 插件。源码与说明见 GitHub:Lijianan-123/dsh-agnes-image;社区目录页:skillhub.cn/plugins/Lijianan-123/dsh-agnes-image。目录站为社区独立站点,与 DeepSeek / 幻方无官方从属关系。

插件面向已使用 DSH 的 web、desktop 或 headless 配置文件的开发者:在智能体侧用自然语言或工具参数调用即可,无需额外运行时 npm 依赖(实现仅依赖 node:https 与 harness SDK)。

核心功能

三种模式,一套参数

是否传入参考图由参数 image 决定,模型不必在多个工具之间选择:

行为 条件
文生图 省略 image
图生图 提供一张参考图(公网 https URL 或 data: URI)
多图合成 提供多张参考图

文件落盘,而非仅返回 URL

生成结果以 inline base64 从 API 取回,写入当前会话工作区内的 PNG 路径(默认可落在 agnes-images/ 下)。智能体得到的是本地路径,便于渲染、diff 或作为下一轮 image 输入。

连接与重试(实现侧要点)

作者在 README 中记录了实测结论(非泛泛而谈):对 Agnes 端点固定 IPv4、关闭 happy-eyeballs,可将易出现的 20s+ 全地址 ETIMEDOUT 收敛到约 9s 的稳定连接;仅在未收到 HTTP 响应的连接级失败上有限次重试(默认 3 次,退避 600/1200 ms),HTTP 状态码与 AbortError 不重试;错误会归一化为带尝试次数的单行说明。默认走单跳 inline base64,避免「生成成功、下载第二跳失败」的两段式链路。

密钥热更新

API Key 每次调用按顺序解析,不缓存:插件内联配置 → harness 凭据存储 → 环境变量(AGONES_API_KEY / AGNES_API_KEY)→ 密钥文件。轮换密钥后下一次调用即生效,无需重启 harness。

环境与安装

需要 Node.js 22+ 以及已配置的 DSH profile(web、desktop 或 headless 之一)。

从 GitHub 安装(以 README 原文为准,web 仅为示例 profile,请按你的环境替换):

dsh plugin --profile web add github:Lijianan-123/dsh-agnes-image

安装后重启 harness,再配置 API Key(任选其一):

# 环境变量
export AGNES_API_KEY=sk-...

或通过 harness 凭据存储 ~/.dsh/.credentials.yaml 中的 refs.AGONES_API_KEY,或密钥文件 ~/.dsh/agnes-image.json(形如 {"apiKey": "sk-..."})。

插件以当前 dsh 进程权限运行;安装前建议自行审阅 仓库源码 与许可证,并妥善保管密钥。

典型用法

安装完成后,在对话中用自然语言描述即可,例如 README 中的示意:

Generate a 16:9 hero image for my landing page: a glass-and-steel medical device on a dark background, soft rim light, product photography style.

Take this UI screenshot and this logo, compose them into a clean App Store preview card.

工具参数(摘要,完整说明见仓库 README):

参数 必填 说明
prompt 是 画面或编辑意图;建议结构:主体 + 场景 + 风格 + 光照 + 构图 + 质量
size 否 1K / 2K / 3K / 4K,默认 2K
ratio 否 1:1、3:4、4:3、16:9、9:16、2:3、3:2、21:9,默认 1:1
image 否 参考图;一张为图生图,多张为合成
model 否 默认 agnes-image-2.5-flash
output_path 否 相对会话工作区的输出路径;默认 agnes-images/<timestamp>-<prompt-slug>.png

官方文档对齐的示例分辨率(README 实测表):例如 1:1 在 2K 为 2048×2048,16:9 在 2K 为 2624×1472。

可选配置

Loader 可在默认值上覆盖以下字段(均可选):

{
  "apiKey": "",
  "credentialRef": "AGONES_API_KEY",
  "endpoint": "https://apihub.agnes-ai.com/v1/images/generations",
  "model": "agnes-image-2.5-flash",
  "defaultSize": "2K",
  "defaultRatio": "1:1",
  "outputDir": "",
  "timeoutMs": 300000,
  "attempts": 3
}

outputDir 为空时,输出目录为 <session cwd>/agnes-images。

适用场景与注意

适合:已在 DSH 中开发智能体、需要 Agnes Image 2.5 Flash 文生图 / 参考图编辑 / 多图合成,且希望结果直接落在会话工作区、减少外链与第二跳下载失败的情况。

注意:

  • 需自行申请并配置 Agnes API Key;网络行为(固定 IPv4、重试策略)针对作者文档中的端点实测,若上游变更需关注插件更新。
  • 参考图需为公网 HTTPS 或 data: URI;生成耗时受 timeoutMs(默认 300000 ms)约束。
  • 社区插件星标与演进以 GitHub 为准;使用前阅读 README 中的 Engineering deep-dive 有助于理解失败面与 payload 细节(例如 reference 模式下 response_format 须放在 extra_body 内)。

结尾

dsh-agnes-image 把 Agnes Image 2.5 Flash 的三种生成方式收敛到一个 DSH 工具里,并把 PNG 写入会话工作区,同时在连接与取图路径上做了可核对的技术取舍。若你在 harness 生态中扩展「可落地的图像能力」,可从社区目录或 GitHub 获取插件并按 README 安装、配置密钥后直接在对话中试用。

  • 目录页:https://www.skillhub.cn/plugins/Lijianan-123/dsh-agnes-image
  • GitHub:https://github.com/Lijianan-123/dsh-agnes-image
羽毛球分组比赛记分
小程序二维码

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

小夜