🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

提示词优化 KukaNo996/dsh-prompt-optimization

DeepSeek 客户端
KukaNo99612 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

DeepSeek Harness提示词优化插件:将自然语言的用户提示词转换为模型易懂且便于理解的专业提示词

30.3/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/KukaNo996/dsh-prompt-optimization.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
  • 读取本地文件
    index.js:140
    const text = await readFile(new URL('./package.json', import.meta.url), 'utf8')
  • 发起网络请求
    index.js:258
    const response = await fetch(url, {
  • 读取本地文件
    index.js:512
    await readFile(target, 'utf8')
  • 读取本地文件
    index.js:519
    const legacy = await readFile(legacyPath, 'utf8')
  • 写入本地文件
    index.js:520
    await mkdir(dirname(target), { recursive: true, mode: 0o700 })
  • 写入本地文件
    index.js:521
    await writeFile(target, legacy, { encoding: 'utf8', mode: 0o600 })
  • 读取本地文件
    index.js:604
    const text = await readFile(settingsPath(), 'utf8')
  • 写入本地文件
    index.js:619
    await chmod(target, 0o600)
  • 写入本地文件
    index.js:627
    await mkdir(dirname(target), { recursive: true, mode: 0o700 })
  • 写入本地文件
    index.js:629
    await writeFile(scratch, `${JSON.stringify(settings, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 })
  • 写入本地文件
    index.js:630
    await rename(scratch, target)
  • 发起网络请求
    index.js:867
    response = await fetch(url, {
  • 发起网络请求
    client.js:460
    ticketPromise = fetch(apiUrl('/status'), {
  • 发起网络请求
    client.js:489
    fetch(apiUrl(path), {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-prompt-optimization · 提示词优化 把输入框里那句「帮我把周报弄一下」,变成一份任务明确、主旨清晰、无歧义、计划合理、目标准确的专业提示词——点一下就完成,不满意一键撤回。 这是一个 DeepSeek Harness(DSH)Web 插件:「优化提示词」按钮位于输入框工具栏、紧挨模型选择器;改写结果直接回填草稿,草稿不被覆盖(改写前后可随时撤回)。插件的设置页可配置模型来源、API Key 与多候选评估,支持本地或在线 OpenAI 兼容接口。 为什么需要它 自然语言需求往往含糊:缺背景、缺范围、缺验收标准,模型只能猜。这个插件把「猜」前置成一次显式改写: - 改写目标:任务明确 / 主旨清晰 / 无歧义 / 条理清晰 / 计划合理 / 目标准确 - 改写原则:忠实原意(不新增需求、不编造事实),信息不足时给标注假设或最多 3 条关键待确认问题,绝不把「反问用户」当成输出 - 深度自适应:短需求给短提示词,复杂需求才展开「目标 / 背景 / 任务 / 约束 / 步骤 / 输出格式 / 验收标准」结构 功能 | 功能 | 说明 | | 一键优化 | 工具栏按钮点击后调用模型改写当前草稿并回填 | | 一键撤回 | 改写后按钮变为「撤回」,点击恢复原文,再点又可优化 |
展开完整文档(README 剩余 1 节)
dsh-prompt-optimization · 提示词优化

把输入框里那句「帮我把周报弄一下」,变成一份任务明确、主旨清晰、无歧义、计划合理、目标准确的专业提示词——点一下就完成,不满意一键撤回。

这是一个 DeepSeek Harness(DSH)Web 插件:「优化提示词」按钮位于输入框工具栏、紧挨模型选择器;改写结果直接回填草稿,草稿不被覆盖(改写前后可随时撤回)。插件的设置页可配置模型来源、API Key 与多候选评估,支持本地或在线 OpenAI 兼容接口。

为什么需要它

自然语言需求往往含糊:缺背景、缺范围、缺验收标准,模型只能猜。这个插件把「猜」前置成一次显式改写:

- 改写目标:任务明确 / 主旨清晰 / 无歧义 / 条理清晰 / 计划合理 / 目标准确
- 改写原则:忠实原意(不新增需求、不编造事实),信息不足时给标注假设或最多 3 条关键待确认问题,绝不把「反问用户」当成输出
- 深度自适应:短需求给短提示词,复杂需求才展开「目标 / 背景 / 任务 / 约束 / 步骤 / 输出格式 / 验收标准」结构

功能

| 功能 | 说明 |
| 一键优化 | 工具栏按钮点击后调用模型改写当前草稿并回填 |
| 一键撤回 | 改写后按钮变为「撤回」,点击恢复原文,再点又可优化 |
| 多候选评估 | 可开启:并行生成 2–5 份结果,再由评审模型选出最优;会明确提示 token 成本 |
| 模型来源可配置 | 跟随输入框(默认)/ 跟随主程序 / 自定义模型(任意 OpenAI 兼容端点) |
| 本地模型支持 | 由主机侧直接请求端点,不受浏览器 CORS 限制,Ollama / LM Studio / vLLM 均可 |
| 显示提示文字 | 默认只显示图标;开启后同时显示「优化提示词」和「撤回」文字 |
| 空输入引导 | 未填写内容时点击优化,提示语会逐字写入输入框,停留 2 秒后逐字删除;开始输入即自动停止 |
| 根据上下文优化(Beta) | 可开启:先压缩当前会话上下文再据此改写,使结果更贴合你的表达习惯;默认关闭 |
| 引用保护 | 草稿含文件/会话引用芯片时自动禁用,避免改写丢失引用 |
| 失败安全 | 草稿在请求期间被修改则不覆盖本次结果;请求可随页面关闭/切会话立即中止 |
| 问题分类改写 | 先判断原文属于六类中的哪类(知识理解/编程实现/内容创作/分析决策/流程方法/表达转换),按类型决定问什么 |
| 问题拆解深入 | 问「什么是 X」时不直接回答,而是拆成至少 3 个分析维度写成提示词 |
| 篇幅分五档 | 按原文字数与问题类型选档:极短/简短/标准/详尽/完整,同一篇不跨档 |
| 可中断优化 | 优化过程中点击转圈即可中断,草稿恢复为原文 |
| 最大等待时长 | 可设置单次优化的最长等待时间,默认 15 秒、最低 10 秒,超时自动中止 |
| 检查更新 | 设置页可检查是否有新版本,更新源可自定义(npm registry / GitHub Releases / 任意镜像),只读版本号、不下载安装 |

插件界面与词典提供简体中文、繁体中文、日语和英语。

安装

方式一:插件管理器(推荐)

在 DSH 中打开「设置 → 插件」安装,或使用包坐标:

plugin_manager install_bundle target=dsh-prompt-optimization

国内网络可指定镜像源:

plugin_manager install_bundle target=dsh-prompt-optimization registry=https://registry.npmmirror.com

需要固定版本时写完整版本号,例如 target=dsh-prompt-optimization@1.1.0。

方式二:源码安装

git clone https://github.com/KukaNo996/dsh-prompt-optimization

plugin_manager install_bundle target=<克隆目录的绝对路径>

安装后:插件行出现在「设置 → 插件」,设置页出现在「设置 → 提示词优化」。

快速开始

1. 在输入框写下需求,例如 帮我把周报弄一下
2. 点击工具栏「优化提示词」
3. 查看改写结果,满意直接发送;不满意点「撤回」
4. 首次使用若提示模型不可用,前往「设置 → 提示词优化」选择模型来源

设置项

| 设置 | 作用 | 默认 |
| 模型来源 | 跟随输入框 / 跟随主程序 / 自定义模型 | 跟随输入框 |
| API 地址 | 自定义模式的 OpenAI 兼容端点,如 http://127.0.0.1:11434/v1 | — |
| 模型名称 | 自定义模式必填;跟随模式留空表示自动 | — |
| Provider(可选) | 跟随模式下覆盖自动选择的 provider | 自动 |
| API Key | 自定义端点密钥;本地模型可留空 | — |
| 温度 | 0–2,越低越稳定 | 0.3 |
| 最大输出 token | 0 表示交给模型默认值 | 0 |
| 优化指令 | 自定义 system prompt,留空用内置指令 | 内置 |
| 多候选评估 | 开关 + 候选份数(2–5) | 关闭 / 1 份 |
| 显示提示文字 | 开启后按钮显示「优化提示词」和「撤回」文字,关闭时只显示图标 | 关闭(仅图标) |
| 更新源 | 检查更新时使用的地址;留空按内置顺序尝试 | 自动 |
| 根据上下文优化(Beta) | 开启后先压缩会话上下文再据此改写提示词 | 关闭 |
| 最大等待时长 | 单次优化的最长等待时间,覆盖上下文压缩、多候选生成与评审 | 15 秒 |

可随时用「测试连接」验证当前配置;配置未保存到可调用状态时,保存仍会成功,但优化会返回可读的错误提示。

问题分类

动笔前先判定原文属于哪一类,类型决定该问什么,不用同一套模板套所有问题:
| 类型 | 典型问法 | 改写重点 |
| 知识理解类 | 什么是、为什么、有什么区别、原理 | 拆成多个分析维度,系统讲透 |
| 编程实现类 | 写、改、修、重构、报错、性能 | 输入输出、语言框架、约束、边界、验收方式 |
| 内容创作类 | 文案、起名、邮件、脚本、翻译 | 受众、用途、语气、篇幅、禁忌 |
| 分析决策类 | 对比、选型、评估、要不要 | 候选对象、评价维度、结论形态、判断标准 |
| 流程方法类 | 怎么做、如何入门、步骤 | 阶段划分、每阶段产出、依赖与检查点 |
| 表达转换类 | 总结、精简、改写、格式化 | 目标形态、保留什么、删掉什么 |

问问题时不回答

用户问「什么是闭包」「React 和 Vue 选哪个」时,插件不会以大模型口吻直接回答。
它做的是把问题改写成一条可执行的提示词,交给别的 AI 去答:

- 问题必须拆成至少 3 个分析维度,只润色成一句问话算不合格改写;
- 六个可选维度:定义与核心概念、原理与机制、分类与对比、应用与示例、优点与局限、实践建议;
- 同时写明读者水平、覆盖粒度、是否要来源,并明确「不要只给一句定义就结束」;
- 知识理解类即使原文只有五六个字,也按详尽档系统展开。

例如原文「什么是闭包」会改写成要求覆盖定义、形成机制、常见形态、典型用途、常见误区、与其它语言同类机制的区别,并每点配最小代码片段的任务说明。

篇幅分五档

改写长度由原文字数 + 问题类型共同决定,不是所有需求都要优化成一大串:

| 档位 | 原文 | 输出 |
| 极短档 | 不足 20 字(如「写个快排」) | 1–2 句,核心任务 + 一个最关键约束;绝不加标题、编号、背景 |
| 简短档 | 20–50 字,单一诉求 | 2–4 句或最多 3 条短要求,不设小标题 |
| 标准档 | 50–150 字,或含 2–3 个并列诉求 | 4–8 行,可加 1–2 个小标题 |
| 详尽档 | 150–400 字,或类型要求系统回答(知识理解/分析决策/流程方法) | 结构化多段:目标 / 覆盖维度 / 约束 / 输出形态 / 验收标准 |
| 完整档 | 超过 400 字,或多条并列且彼此依赖 | 才用含背景、执行步骤、风险与检查点的完整结构 |

同一篇内不跨档:原文是极短档,就不会写到详尽档。知识理解类即使原文很短也落到详尽档。
判据是「原文写了多少、问题需要多深」,不是你还能补充多少。宁可偏短一档。

中断与等待时长

优化过程中点击转圈即可中断,草稿会恢复为原文。
中断会同时结束客户端请求与主机侧的模型调用,不会让模型在后台继续生成。

「最大等待时长」限制单次优化的总耗时,默认 15 秒,最低 10 秒。
该时长覆盖整个流程——上下文压缩、多候选生成与评审都在其中,而不是只算最后一次模型调用。超时后插件会自动中止并明确提示。

根据上下文优化提示词(Beta)

设置页的「根据上下文优化(Beta)」默认关闭。开启后:

1. 读取当前会话中你真正输入过的消息(宿主注入的运行时上下文等不参与);
2. 交给模型压缩成一份简短偏好简报——表达习惯、常用措辞、关注的主题、已排除的做法;
3. 用这份简报作为参考改写提示词。

只有压缩后的简报会进入改写请求,原始对话不会直接发给模型。 压缩本身会多调用一次模型,因此 token 消耗相应增加;压缩失败时会退回普通改写,不会让整个操作失败。

该功能仍处 Beta:它会改变改写结果,介意可随时关闭。

检查更新

设置页底部有「检查更新」区块,点击后查询是否有新版本。它只读取版本号,不下载、不安装,也不会写入设置文件。

更新源支持三种写法,填在「更新源」输入框即可:

| 写法 | 示例 |
| 内置别名 | npm、npmmirror、github |
| npm registry 包地址 | https://registry.npmmirror.com/dsh-prompt-optimization |
| GitHub Releases API 地址 | https://api.github.com/repos/KukaNo996/dsh-prompt-optimization/releases/latest |

留空时依次尝试 npm registry → npmmirror → GitHub Releases,任一成功即返回。

- 自定义源按响应内容识别格式(dist-tags.latest 或 tag_name),因此镜像站、代理都可用,不依赖域名。
- 单个源超时 10 秒,失败自动回退到下一个;全部失败会逐条列出原因。
- 版本比较遵循语义化版本优先级,正确处理预发布版本。

三种模型来源

| 模式 | 使用的模型 | 取不到时 |
| 跟随输入框(默认) | 输入框右下角当前选择的模型 | 报错,不切换到其它模型 |
| 跟随主程序 | 见下方解析顺序 | 逐级回退 |
| 自定义模型 | 你填写的 OpenAI 兼容端点 | 报错提示缺少地址或模型名 |

「跟随输入框」绝不回退:选它就是为了固定用手上那个模型,悄悄换成别的模型会违背这个意图。因此当会话还没有可识别的选择时,插件会明确提示,而不是替你决定。

模型解析顺序(跟随主程序)

1. 设置页显式填写的 provider + model
2. 当前会话最近一次请求使用的模型(即模型选择器所选)
3. 主程序默认模型(设置 → 模型)
4. 兜底 deepseek-account / deepseek-flash

环境要求

- DeepSeek Harness 0.2.1 及以上(依赖 conversation.input.right、settings.section 插槽与 inputActions.setDraft)
- 「跟随主程序」模式需已登录 DeepSeek 账户或已配置可用模型;否则请改用「自定义模型」

隐私与安全

- API Key 存储:优先放入宿主凭据服务(keyStorage: credential),settings.json 只记录“是否已配置”;没有凭据服务时降级写入 $DSH_HOME/dsh-prompt-optimization/settings.json(POSIX 下 0600)。旧版本明文会自动迁移并清除。
- 浏览器侧:永远只能拿到掩码(如 sk-••••1234),任何接口都不返回明文。
- 接口防护:除 /status 外,所有路由都要求进程级随机票据(页面从 /status 获取),并校验 Origin;模型路由按来源限流 10 次/分钟。
- 数据去向:被优化的草稿文本会发送给你配置的模型端点(跟随模式即主程序所用 provider)。请勿在需要保密的草稿上使用不可信的第三方端点。
- 请求中止:页面关闭、切换会话或再次点击时,立即中止在途请求,主机侧返回 499 并停止计费。

实现说明

主机侧(index.js)

注册同源前缀路由 /dsh-prompt-optimization/:

| 路由 | 方法 | 用途 |
| /status | GET | 插件健康状态 + 下发请求票据 |
| /settings | GET / POST | 读取 / 保存设置(密钥只写不读) |
| /optimize | POST | 执行改写(含多候选评估) |
| /test | POST | 测试连接 |
| /update-check | GET / POST | 检查更新(不占模型调用额度) |

- 跟随模式走 DSH llm 服务(自带账户鉴权与重试);自定义模式由主机侧请求 OpenAI 兼容 /chat/completions
- 评估:candidates > 1 时并行生成 N 份,再发一次只返回编号的评审请求;评审失败或无有效编号时退回确定性评分(结构 + 数字/标识符保留率 + 长度比)
- 取消:req.on('close') 触发 AbortSignal,透传给 llm.stream / fetch
- 检查更新:对更新源发起 HTTPS GET(10 秒超时、2 MB 上限),按响应内容识别 npm packument 或 GitHub release,用语义化版本规则比较;只读,不写设置文件
- 上下文:开启 Beta 后先读取会话中用户真正输入的消息,交给模型压缩成偏好简报,再把简报注入改写请求;原始对话不直接发给模型

客户端侧(client.js)

以 window.__ModuleLoader__.load 注册两个 slot:

- conversation.input.right:工具栏优化 / 撤回按钮与错误气泡
- settings.section:设置页面

草稿读写使用宿主注入的 inputActions / useInput,不改 DOM;occurrences 非空时禁用优化。改写完成后一次性回填草稿,输出即用,不带任何开场白。样式只用 --dsw-alias- 主题 token。

打包内容

只包含 index.js、client.js、cordis.patch.yml、locale/.json、icon.svg;测试脚本与文档留在仓库、不进包。

开发

node --check index.js
node --check client.js
node .verify/host-test.mjs # 主机侧:路由、票据/限流、密钥存储、取消、多候选评估(46 项)
node .verify/client-test.mjs # 客户端侧:模块工厂与插槽注册(14 项)
node .verify/hint-animation-test.mjs # 空输入提示动画:打字/停留/逐字删除与打断(31 项)
node .verify/icon-test.mjs # 图标结构约定(16 项)
node .verify/locale-test.mjs # 多语言解析与键一致性(36 项)
node .verify/translate-sim.mjs # 各语言实际输出(14 项)
node .verify/preamble-test.mjs # 开场白剔除且不误伤真实提示词(12 项)
node .verify/rename-migration-test.mjs # 改名迁移:设置与 API Key 无损(9 项)
node .verify/update-test.mjs # 检查更新:源解析、版本比较、超时与鉴权(37 项)
node .verify/composer-mode-test.mjs # 跟随输入框模式(19 项)
node .verify/disconnect-test.mjs # 客户端断开必须被主机侧感知(5 项)
node .verify/wait-budget-test.mjs # 等待时长与中断(34 项)
python3 .verify/icon-weight.py # 真实 16px 渲染下的图标视觉平衡

或者一次跑完(与 CI 一致):

npm run verify

提交代码

本目录已是完整 Git 仓库,origin 指向 <https://github.com/KukaNo996/dsh-prompt-optimization>,默认分支 main。

git status
git add -A -- . ':!.workbuddy'
git commit -m "fix: 说明改了什么"
git push origin main

- 本机代理:仓库级 http.proxy = http://127.0.0.1:7897。端口不同时:

git config --local http.proxy http://127.0.0.1:<端口>
git config --local https.proxy http://127.0.0.1:<端口>

可直连后:git config --local --unset http.proxy 与 --unset https.proxy。
- 凭据:Git Credential Manager 已保存 GitHub 账号;失效时按 git push 提示登录。
- 身份与换行:仓库级 user.name=KukaNo996、user.email=1274666494@qq.com、core.autocrlf=false。
- .workbuddy/、.tgz、node_modules/ 已在 .gitignore 忽略。

常见问题

Q:按钮点了没反应/报“模型不可用”? A:账户未登录或未配置模型。到「设置 → 提示词优化」改用「自定义模型」,填写 API 地址与模型名后点「测试连接」。
问:优化后按钮为什么是灰的? 答:草稿里有文件或会话引用芯片,纯文本改写会丢失引用,所以禁用;移除引用后可继续优化。

问:多候选评估值得开吗? 答:值得在「结果要交付给别人」的场景开启;N 份候选成本约为单次的 N + 1 倍 token,耗时也更长。

问:改写结果被扩写得过多? 答:默认指令已要求「篇幅与原文信息量匹配」。仍不满意可在设置页自定义「优化指令」,明确字数上限或删减段落。

已知限制

- 优化与撤回以纯文本重写草稿;含引用芯片时按钮禁用(撤回也只恢复文本)
- 「输入框当前选择的模型」取自会话最近一次请求的 request/header;刚切换模型且未发送时会使用默认模型
- 自定义接口目前仅支持 OpenAI 兼容 /chat/completions
- 多候选评估成本约为单次 N + 1 倍 token,适合重质量、不重速度的场景
- 仅在 Web GUI 验证;未在 Electron 独立窗口中验证

许可证

MIT © 2026 KukaNo996
预览分享卡片长什么样 ↓KukaNo996/dsh-prompt-optimization
分享 · DeepSeek Harness Hub
KukaNo996/dsh-prompt-optimization

DeepSeek Harness提示词优化插件:将自然语言的用户提示词转换为模型易懂且便于理解的专业提示词

这是你的仓库?认领条目

回到顶部