前言¶
在 DeepSeek Harness(DSH)里让智能体「画图」,常见做法是接 OpenAI DALL·E、Midjourney API 或各家云厂商的图像服务:要申请 Key、可能要付费,还要在插件或环境里妥善保管凭证。若你只是希望 Agent 在对话里按需生成一张示意图、封面草图或 UI 占位图,而不想为此单独开账号,dsh-free-image 走的是另一条路:通过 HTTP GET 向「把 prompt 写在 URL 里、直接返回图片字节」的端点发请求,默认对接公开的 Pollinations 端点,无需配置 API Key,也无需付费账户。
下面介绍这个由 ozanstn1-stack 维护的联网工具类插件:它做什么、怎么装、默认行为与配置边界,以及使用公开端点时需要注意的限制。
这是什么¶
dsh-free-image 是 DSH 社区插件(当前 GitHub 星标为 0,版本 0.1.0,MIT 许可证)。它为 Harness 注册两个工具:generate_image 负责根据 prompt 生成一张图并写入本地目录;list_image_models 只读列出当前配置的 provider、尺寸上限、 pacing、超时与输出目录等信息。
Provider 在实现上就是一个 HTTP GET 端点:请求里只带 prompt 与宽高参数,不存储、不发送任何 Key。插件开箱即用默认指向免 Key 的公开端点;若你自建 Automatic1111、ComfyUI 等前端(同样接受 URL path 中的 prompt 并返回 image/*),只需改配置里的 baseUrl, prompt 可不出本机,且不受公开端点约 45 秒一次的 pacing 约束。
核心功能¶
工具一览¶
| 工具 | 类型 | 作用 |
|---|---|---|
generate_image |
写文件 | 按 prompt 生成一张图,保存到配置目录,返回绝对路径、真实像素尺寸与字节大小 |
list_image_models |
只读 | 列出已配置的 providers 及 endpoint、model、尺寸限制、pacing、timeout、输出目录 |
请求与落盘流程¶
智能体调用出图工具后,插件大致按下列方式工作(默认 provider 为 Pollinations):
prompt ──▶ GET <baseUrl>/<url-encoded prompt>?width=…&height=…&nologo=true
◀── image bytes
saved to <output.dir>/<YYYYMMDD-HHMMSS>-<slug>.<ext>
要点如下:
- 响应在写入前会校验为
image/*。 - 超过
output.maxBytes的图片会被拒绝,不会落盘。 - 公开免费端点按 IP 限流;插件同一时刻只发起一次调用,并在 bounded budget 内尊重端点返回的「retry after N s」。若等待时间超出
retry.budgetMs,工具会告知剩余等待时间,而不是盲目失败或无限重试。 - 对
402/429/503等应答,在 budget 允许范围内会按端点要求等待后重试。
安装与启用¶
官方安装步骤如下。安装命令以 README 为准,不要自行拼接 github:owner/repo 形式。
dsh plugin --profile web add dsh-free-image
systemctl restart dsh-web # or restart your DSH process
环境要求:
- DSH
>= 0.2.1-rc.4 - Node
^22.19.0 || >=24.0.0 - 出站到所配置 endpoint 的 HTTPS(使用默认公开端点时即需能访问 Pollinations)
无需配置即可使用:默认 provider 即为免 Key 的公开端点。插件以当前 DSH 进程权限运行;安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证,确认可接受其行为与依赖。
配置(可选)¶
若要更换 endpoint、默认尺寸、输出目录或重试策略,可在 DSH 插件配置中增加类似片段(字段含义见 README 配置表):
- id: free-image
config:
providers:
- id: pollinations
label: Pollinations (keyless)
baseUrl: https://image.pollinations.ai/prompt
model: ''
maxWidth: 1024
maxHeight: 1024
rateLimitMs: 45000
timeoutMs: 120000
defaults:
provider: pollinations
width: 512
height: 512
output:
dir: /root/work/generated/images
maxBytes: 10485760
retry:
budgetMs: 90000
maxAttempts: 3
常用默认值(未改配置时)包括:baseUrl 为 https://image.pollinations.ai/prompt;默认宽高 512;输出目录 <DSH_HOME>/generated/images;单张最大 10485760 字节;retry.budgetMs 为 90000,maxAttempts 为 3。
典型用法¶
在 DSH Web 或其它已加载该插件 profile 的环境中,智能体通过工具调用即可出图,无需你在对话里粘贴 Key。可先调用 list_image_models 查看当前 provider 与默认尺寸,再调用 generate_image 并传入 prompt(及可选的宽高、provider id)。具体参数以插件在 Harness 中注册的工具 schema 为准;逻辑上就是向配置的 GET 端点请求一张图并保存到 output.dir。
自建场景:将 providers[].baseUrl 指向本机或内网的生成服务(URL path 携带编码后的 prompt,响应为图片字节),即可在不使用公开端点的情况下同样免 Key 出图。
适用场景与注意¶
适合:本地或 Web 上的 DSH 智能体需要 occasional 配图、占位图、简单示意图,且可接受公开端点的质量与限流;或已有自建出图 HTTP 前端、希望 Agent 统一通过 generate_image 落盘。
务必知晓的限制(README「Honest limits」):
- 公开免费端点按 IP 限流(编写时约每 45 秒一张),可能返回
503,条款也可能变更。 - 画质取决于端点默认模型,插件不保证特定风格或分辨率以外的效果。
- Prompt 会发送到所配置的 endpoint;敏感内容不要使用公开端点,应改用自建
baseUrl。
DSH 生态强调「一切皆插件」;社区目录站点 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系,本文仅作技术介绍。
结尾¶
dsh-free-image 把「GET prompt 端点 → 校验 → 落盘」封装成 Harness 工具,默认免 Key、免付费账户,并对公开端点的限流做了 pacing 与重试预算处理。需要零配置试用时可按上文安装;要私有化或放宽 pacing 时,改 baseUrl 指向自建服务即可。