DeepSeek Harness 插件:dsh-auto-prompt

前言

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:

  1. 复制插件到 ~/.dsh/profiles/<profile>/plugins/dsh-auto-prompt;
  2. 在 <profile>/node_modules/dsh-auto-prompt 建一个软链指向它(Windows 用 junction);
  3. 在 profile 的 package.json 里登记依赖 dsh-auto-prompt 与 bundle,让包的 cordis.patch.yml 负责插入 Loader 条目;
  4. 把旧的 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

羽毛球分组比赛记分
小程序二维码

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

Xiaoye