dsh-agnes-gen
Agnes AI 图像 / 视频生成插件:注册 agnes_image 与 agnes_video 工具,内置跨进程 RPM 限流、429 退避与本地 ffmpeg 转 GIF;带 Web 配置卡(API Key / RPM 预设 / ffmpeg 检测)。 适合需要在 DSH 中调用 Agnes AI 生成图文视频,并进行限流管理的用户。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Ylhow06/dsh-agnes-gen配置
推荐用图形界面:DSH Web GUI → 侧栏「插件」→ 点开 dsh-agnes-gen。配置写在哪里取决于你的 DSH 版本(见 DSH 版本适配):
| DSH 版本 | 界面 | 落点 |
|---|---|---|
0.1.6-alpha.x | 本插件自带的配置卡 | DSH 的 settings.yaml 中 agnes-gen: 分节 |
0.1.7-alpha.x | DSH 生成的原生表单 | profile 的 cordis.patch.yml 中本插件条目的 config: |
两者都改完立即生效,无需重启。也可以直接编辑文件。
DSH 0.1.6 — 编辑 DSH 的 settings.yaml:
agnes-gen:
site: cn
apiKeyCn: sk-...
plan: free
rateLimit: true
outDir: ''
DSH 0.1.7 — 编辑当前 profile 的 cordis.patch.yml:
- id: agnes-gen
name: dsh-agnes-gen
config:
site: cn
apiKeyCn: sk-...
plan: free
rateLimit: true
outDir: ''
0.1.7 上「配置界面不显示本插件」:这通常说明
Config的.volatile()标记被改动过,重新安装即可恢复。实现细节见docs/DEVELOPMENT.md。
完整配置项
默认值全项目只有一处来源(lib/config-schema.js 里的 Schemastery .default(...)),所以下表默认值就是「恢复默认」回到的值。字段名在两个 DSH 版本下完全一致,只是落点不同。
| 字段 | 默认 | 说明 |
|---|---|---|
site | cn | Agnes 站点:cn / intl。决定请求主机与用哪个 Key |
apiKeyCn | 无(缺省) | 中国站的 Key,机密字段。仅 site: cn 时使用 |
apiKeyIntl | 无(缺省) | 国际站的 Key,机密字段。仅 site: intl 时使用 |
apiKey | 无(缺省) | 已弃用:旧版单键字段,仅保留作脱敏槽位,不再生效 |
plan | free | 密钥档位预设:free / token-plan,决定各档位基线 RPM |
imageRpm1K–4K | 0 | 逐档位覆盖,0 = 跟随预设。注意 3K/4K 恒为 1 RPM |
videoRpm | 0 | 视频 RPM 覆盖,0 = 跟随预设。创建与轮询共用该池 |
rateLimit | true | 是否启用本地跨进程限流 |
ffmpegPath | '' | ffmpeg 路径,留空 = 按 PATH 查找 |
gifWidth | 480 | GIF 默认宽度,单次调用可用 gif_width 覆盖 |
gifFps | 12 | GIF 默认帧率,单次调用可用 gif_fps 覆盖 |
outDir | '' | 输出根目录,留空 = /out/agnes-* |
imageModel | agnes-image-2.5-flash | 该站的生效图像模型 |
videoModel | agnes-video-2.5-flash | 该站的生效视频模型 |
imageModels | ["agnes-image-2.5-flash"] | 该站的可选图像模型集(白名单) |
videoModels | ["agnes-video-2.5-flash"] | 该站的可选视频模型集(白名单) |
`` ∈
Cn/Intl。以下三项不在配置界面、也不参与「恢复默认」,只能手工编辑配置文件(0.1.6 写进settings.yaml的agnes-gen:分节,0.1.7 写进 profilecordis.patch.yml的条目config:):imageTimeoutMs(默认 300000,图像请求超时)、videoTimeoutMs(默认 1800000,视频任务超时)、videoPollMs(默认 2500,视频轮询间隔)。
自定义模型
插件支持每站一套自定义模型白名单。「Agnes 站点」区、Key 框下方有模型下拉(当前站的图像 / 视频模型各一个):
- 下拉即生效:选中哪项,
model参数不传时默认就用哪项。 - 自定义:下拉选「自定义…」可输入任意模型 ID。
- 一键导入(仅 0.1.6):填好 API Key 后点 Key 框旁的「校验 Key & 拉取模型」,自动从
/v1/models导入当前站模型并按类型(图像 / 视频)分类进白名单。0.1.7 的原生表单没有这个按钮,模型集需手动填写(imageModels/videoModels)。 - 白名单校验:
model参数须落在当前站白名单内,取集外的 ID 会立即报错并列出可选值。
一键恢复默认
配置界面底部的「恢复默认」会清除用户层里所有覆盖,让字段重新继承组合层与出厂默认值:
- 两段式确认:第一下只变成「确认恢复默认?」,第二下才提交;任何编辑都会撤销。
- 一次原子写入:所有
unset在同一个mutate里提交,共享 revision 栅栏。 - 不碰 API Key 与站点 / 模型:刻意逐字段清除,而不用整节清空,已存的 Key、站点选择与模型白名单全部保留。
完整配置项
默认值全项目只有一处来源(lib/config-schema.js 里的 Schemastery .default(...)),所以下表默认值就是「恢复默认」回到的值。字段名在两个 DSH 版本下完全一致,只是落点不同。
| 字段 | 默认 | 说明 |
|---|---|---|
site | cn | Agnes 站点:cn / intl。决定请求主机与用哪个 Key |
apiKeyCn | 无(缺省) | 中国站的 Key,机密字段。仅 site: cn 时使用 |
apiKeyIntl | 无(缺省) | 国际站的 Key,机密字段。仅 site: intl 时使用 |
apiKey | 无(缺省) | 已弃用:旧版单键字段,仅保留作脱敏槽位,不再生效 |
plan | free | 密钥档位预设:free / token-plan,决定各档位基线 RPM |
imageRpm1K–4K | 0 | 逐档位覆盖,0 = 跟随预设。注意 3K/4K 恒为 1 RPM |
videoRpm | 0 | 视频 RPM 覆盖,0 = 跟随预设。创建与轮询共用该池 |
rateLimit | true | 是否启用本地跨进程限流 |
ffmpegPath | '' | ffmpeg 路径,留空 = 按 PATH 查找 |
gifWidth | 480 | GIF 默认宽度,单次调用可用 gif_width 覆盖 |
gifFps | 12 | GIF 默认帧率,单次调用可用 gif_fps 覆盖 |
outDir | '' | 输出根目录,留空 = /out/agnes-* |
imageModel | agnes-image-2.5-flash | 该站的生效图像模型 |
videoModel | agnes-video-2.5-flash | 该站的生效视频模型 |
imageModels | ["agnes-image-2.5-flash"] | 该站的可选图像模型集(白名单) |
videoModels | ["agnes-video-2.5-flash"] | 该站的可选视频模型集(白名单) |
`` ∈
Cn/Intl。以下三项不在配置界面、也不参与「恢复默认」,只能手工编辑配置文件(0.1.6 写进settings.yaml的agnes-gen:分节,0.1.7 写进 profilecordis.patch.yml的条目config:):imageTimeoutMs(默认 300000,图像请求超时)、videoTimeoutMs(默认 1800000,视频任务超时)、videoPollMs(默认 2500,视频轮询间隔)。