dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
English | 中文
为 DeepSeek Harness 接入 Agnes AI 的图像与视频生成,提供两个模型可调用的工具:
| 工具 | 端点 | 说明 |
|---|---|---|
agnes_image | POST /v1/images/generations | 文生图、图生图、多图合成 |
agnes_video | POST /v1/videos + GET /agnesapi | 异步视频任务:文生视频、首尾帧、多模态参考 |
Harness 的 LLM 接缝只说 chat 协议(completions / responses / messages)。Agnes 的文本模型可以照常做成 llm-pi-ai 路由,但图像和视频是生成端点——它们不返回对话,所以做成工具而不是模型。两者可以并存:文本走路由,图像/视频走本插件。
dsh plugin --profile <profile> add dsh-agnes-media
或以 bundle 形式声明在 profile 的 package.json:
{
"dsh": { "profile": { "bundles": ["dsh-agnes-media"] } }
}
安装后重启 Harness。
插件不保存密钥。它在每次调用时通过 harness 凭据接缝解析 apiKeyEnv(默认 AGNES_API_KEY):
# $DSH_HOME/.credentials.yaml
refs:
AGNES_API_KEY: sk-...
未配置时调用会以点名该引用的错误失败,而不是发出一个注定 401 的请求。
在 profile 的 patch 层里按 id 覆盖:
- id: agnes-media
config:
baseURL: https://apihub.agnes-ai.com/v1
apiKeyEnv: AGNES_API_KEY
imageModel: agnes-image-2.5-flash
videoModel: agnes-video-2.5-flash
outputDir: agnes-media
requestTimeoutMs: 300000
imageTimeoutMs: 360000
videoTimeoutMs: 1800000
videoPollIntervalMs: 3000
| 字段 | 默认值 | 含义 |
|---|---|---|
baseURL | https://apihub.agnes-ai.com/v1 | 国际站。中国站为 https://api.agnes-ai.cn/v1,国际备用为 https://apihub.agnes-ai.cn/v1 |
apiKeyEnv | AGNES_API_KEY | 每次调用解析的凭据引用 |
imageModel | agnes-image-2.5-flash | 调用未点名模型时使用 |
videoModel | agnes-video-2.5-flash | 默认选免费档,未配置的调用不会静默花钱 |
outputDir | agnes-media | 相对调用方工作区;绝对 outputPath 可绕过 |
默认写入发起调用的 agent 会话工作区下的 outputDir:
<工作区>/agnes-media/image-<UTC时间戳>.png
<工作区>/agnes-media/video-<UTC时间戳>.mp4
扩展名按下载回来的字节头嗅探决定,不是写死的。调用时传 outputPath 可覆盖(相对路径按工作区解析,绝对路径原样使用)。
Agnes 还会返回一份自己托管的 URL(结果里的 sourceUrl),那份可能过期——所以插件把字节下载到本地,本地文件才是准的。
按 Agnes 定价页:三个图像模型的所有分辨率档当前免费;agnes-video-v2.0 与 agnes-video-2.5-flash 当前 $0/秒;agnes-video-2.5 按秒计费。免费档有账号级限流。
这些是实测得出的,都影响正确性,所以写在这里而不是埋在代码里注释中:
url,文档写的 metadata.url 在实测响应里根本不存在。插件优先读顶层、保留文档形态作为回退。pending,文档写 queued。因此按终态判断(completed / failed),不枚举在途状态。video_queue_full。同样退避重试。通用 500 故意不重试——无法与"任务已创建后才失败"区分,重试会导致重复计费。input 模态依赖 Agnes 对 data URI 的支持(已实测),不是所有兼容网关都如此。timeoutMs,并全程观测 exec.signal 以支持协作式取消。MIT