前言¶
DeepSeek Harness(DSH)的插件生态将大部分功能封装成独立的模块,通过组合拼装形成可扩展的工作流。dsh-auto-prompt 是其中一个专注于提示词工程的插件:它接收自然语言描述,先调用大模型改写成可执行的提示词,再由图片或视频服务生成实际文件。
很多工具在做这件事时会绑定特定的服务商,导致迁移成本高。这个插件不绑定任何服务商:只要接口是 OpenAI 兼容的,或者你能用 JSON 路径描述它的异步任务格式,云 API、Ollama、LM Studio、vLLM、ComfyUI 桥接、自建服务都能接。
插件定位¶
dsh-auto-prompt 是 DeepSeek Harness 的一个插件,由 Kaitox326 维护。它解决的是「如何把口语描述变成专业提示词,再变成图片或视频」这一链路中的重复劳动。插件本身不提供生成能力,只负责把前一步的描述交给「你自己配置的大模型」改写,再交给「你自己配置的图片/视频服务」产出文件。
插件出现在两个地方:左下角「个人 → 设置 → 自动提示词」(开关 + 可直接填写的模型地址/API 链接/密钥/模型名)和插件列表(显示名字「自动提示词」、一句简介和图标,可整包停用)。
核心功能¶
插件提供三个工具,根据你说的话自动选择:
auto_prompt:只生成提示词,不生成画面。适合「帮我想个提示词」「这段话怎么写进 Stable Diffusion / Midjourney」这类场景。auto_media:提示词 →(生成开关打开时)调用后端 → 落地成图片/视频;开关关着就只出提示词。适合「画一张…」「生成段视频」「帮我出个画面」这类场景。auto_config:查看 / 修改 / 体检配置。适合「怎么配」「配好了吗」「为什么报错」「测一下通不通」「打开开关」这类场景。
插件内部做了适配层,兼容 Harness 0.1.x 与 0.2.x,配置文件与字段名不随版本变化。
生成开关¶
「理解你的话、写提示词」和「真的出图/出片」是两件事,所以后一步单独有一个开关。
generateMedia |
行为 |
|---|---|
| 关(默认) | 只产出提示词,并落盘成一份 .md 提示词单。不会向任何图片/视频服务发请求,不消耗额度。 |
| 开 | 提示词 → 调用后端 → 真实图片/视频文件。 |
默认关闭是有意的:新装先看清楚它会怎么理解你,确认提示词对味了再打开开关,避免上来就烧额度。
打开方式任选一种:
打开生成开关
或点界面:左下角「个人」→「设置」→ 左侧导航「自动提示词」→ 打开「生成开关」。
配置¶
提示词模型¶
在「自动提示词」页面填写提示词模型的地址、密钥和模型名。地址填到版本前缀,如 https://api.deepseek.com/v1。旁边有 DeepSeek / Ollama / LM Studio 三个常用预设,点一下即填入。
图片服务¶
图片服务使用 OpenAI 兼容的 /images/generations 接口。填写 API 链接、模型名、密钥和图片尺寸即可。
视频服务¶
视频没有统一标准,所以这里用「提交任务 → 轮询状态 → 取结果」的通用模型。需要填写提交地址、查询模板、JSON 模板,以及 JSON 路径把服务商的返回结构描述清楚。改代码可以适配新服务商。
产物保存¶
输出目录默认存到 ~/.dsh/outputs/auto-prompt,支持 ~。图片会同时以附件形式显示在对话里;视频给出绝对路径(点开即可播放)。
零配置先跑一遍¶
什么都不填也能用。默认(生成开关关着)时,提示词用内置模板组装(不需要联网,也不花钱),产出一份 .md 提示词单,包含所有方案、反向提示词、画幅、时长、以及每条为什么这么写。结果里会明确告诉你「开关关着,想说一声就能打开」。
打开生成开关、但后端还没配齐时,进入演示模式:图片产出一张真实可解的 PNG 占位图(走完整的落盘 + 附件链路),视频产出一份 .json 分镜脚本,并标注「演示模式」。
安装¶
方式零:从 GitHub 克隆¶
git clone https://github.com/Kaitox326/dsh-auto-prompt.git
cd dsh-auto-prompt
node scripts/install.mjs
之后完全退出并重新启动 DSH。
方式一:本地安装脚本(推荐)¶
node scripts/install.mjs # 默认装到 desktop profile
node scripts/install.mjs --profile=web # 装到别的 profile
node scripts/install.mjs --dry-run # 只看会做什么
脚本做四件事,本质上是把插件「当成一个包」挂进 profile:
- 复制插件到
~/.dsh/profiles/<profile>/plugins/dsh-auto-prompt; - 在
<profile>/node_modules/dsh-auto-prompt建一个软链指向它(Windows 用 junction); - 在 profile 的
package.json里登记依赖dsh-auto-prompt与 bundle,让包的cordis.patch.yml负责插入 Loader 条目; - 把旧的
cordis.patch.yml里手写的insert行删掉,避免同名条目被组合两次。
重复执行只会更新文件,并就地修正已有条目。
方式二:手动挂载¶
把插件复制进 profile,然后改该 profile 的 package.json:
{
"dependencies": { "dsh-auto-prompt": "file:plugins/dsh-auto-prompt" },
"dsh": { "profile": { "bundles": ["…", "dsh-auto-prompt"] } }
}
排错¶
| 现象 | 原因 / 处理 |
|---|---|
| 只出提示词、不出图 | 生成开关没打开。说「打开生成开关」,或 auto_config(action="set", values={"generateMedia":true}) |
HTTP 404 |
基础地址少了 /v1 之类的版本前缀,或模型名写错 |
HTTP 401/403 |
密钥无效或无该模型权限;本地服务不要误填密钥 |
连不上 127.0.0.1:xxxx |
本地模型服务没启动,或端口不对(Ollama 11434、LM Studio 1234) |
| 返回「不是 JSON」 | 填的是网页地址而不是 API 地址 |
| 视频「没找到任务 ID / 视频地址」 | 按报错里附的原始返回,改对应的 videoIdPath / videoResultPath |
| 视频等待超时 | 任务可能仍在服务端跑;调大 videoTimeoutMs,或按报错里的任务 ID 去控制台看 |
| 图片返回了但没显示 | 附件策略可能拒绝该格式/尺寸;文件仍已落盘,路径会在结果里列出 |
| 插件没出现在设置里 | 重启 DSH;确认启动日志出现 [dsh-auto-prompt] 已加载。仍看不到时用 DSH_AUTO_PROMPT_DEBUG=1 启动,日志会列出所有可配置条目 |
适用场景¶
适合需要把自然语言描述转化为专业提示词,再生成图片或视频的用户。插件特别适合已经部署了本地模型或云 API 的场景,可以统一管理提示词生成和媒体生成的链路。
注意事项¶
插件以当前 DSH 进程权限运行。安装前应检查源码与许可证。
结尾¶
dsh-auto-prompt 将口语描述转化为可执行的提示词,再交给配置好的图片或视频服务,完成整个链路。如果你已经在使用 DeepSeek Harness,并且需要统一管理提示词工程和媒体生成,这个插件提供了一个低耦合的解决方案。
插件目录页:https://www.skillhub.cn/plugins/Kaitox326/dsh-auto-prompt
GitHub:https://github.com/Kaitox326/dsh-auto-prompt