DSH 插件,在输入框旁提供 ✨ 一键改写与 🎤 语音转写,按 5 种模式与多模型链独立调用 LLM 重写草稿,并支持一键重启异常服务。
$ dsh plugin --profile web add github:Fishsb/dsh-prompt-enhancerRun the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial
DSH 插件,在输入框旁添加 ✨ 一键改写按钮与 🎤 语音输入按钮,把草稿按所选模式与多模型链独立调用 LLM 重写;附带 DSH 异常时的一键重启链路。
@deepseek-ai/dsh-client-runtime(客户端运行时)+ @deepseek-ai/dsh-client-locale(国际化)+ react(UI 组件)+ node:https(出网与云端 ASR)cordis.patch.yml 把插件 ID 接入 profile 层栈,客户端依赖 inputActions.setDraft 契约实现输入框改写;服务注册通过 ctx.provide 提供 enhance / models / update / diagnostics / plugins / config 六大服务lib/index.cjs(host 入口,build-host.mjs 由 src/host/app.js 汇总)+ lib/client.cjs(client 入口,由 src/client/skeleton.js 汇总)在不熟悉措辞技巧时,把粗糙想法快速改写为结构化、要素完整的提示词;或在 DSH Web 出现异常(端口未监听、网页打不开)时,从命令行或桌面快捷方式恢复服务。日常用编辑器、写作、调试提示词的用户,以及将 DSH 部署在 Windows Server / 桌面版需要远程维护的用户会从这两个能力直接受益。
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | ^0.1.0-rc.6 | 通过 peerDependencies 声明,搭配 @deepseek-ai/dsh-client-runtime 与 @deepseek-ai/dsh-client-locale 注入客户端;dsh.client.platform 固定为 web,仅 web profile 扫描 |
| Node.js | >= 22.0.0 | CI workflow 使用 node-version: 22;engines 未显式声明 |
| 客户端契约 | 注入 inputActions.setDraft | 官方 web client 已满足;第三方客户端若实现同一契约即可加载,能力集不同时语音输入自动降级:仅 setDraft 但无插入能力 → 识别结果追加到草稿末尾;完全不注入 → 🎤 禁用并提示 |
| 平台 | macOS / Windows / Linux | Windows 走 sc / nssm 服务管理;Linux 走 systemctl;macOS 走 launchctl;不支持的平台降级为手动重启提示 |
| 原生模块 | 无 | 仅使用 Node.js 内置 node:https / node:http / node:fs / node:path / node:child_process / node:os / node:url;本地 ASR 引擎(sherpa-onnx)部署在 $DSH_HOME/dsh-prompt-enhancer-asr/ 独立进程,不进入插件主包 |
dsh plugin --profile web add github:Fishsb/dsh-prompt-enhancer
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| 优化模式 | 枚举 | 基础 / 轻量 / 标准 / 专家 / 一键发布 | 基础 |
| 记忆开关 | 布尔 | 开启后发送前多轮优化的迭代累积为记忆链代入下一轮;发送即清空 | 关闭 |
| 模型链 | 列表 | 按顺序尝试的多模型条目(provider + model + 思考强度),可增删改序 | 官方默认两个模型(deepseek-v4-flash / deepseek-v4-pro) |
| 自定义模型 | 列表 | 用户额外添加的模型条目,名称 + 模型 ID + 思考强度 | 空 |
| 思考模式 | 布尔 | 是否启用该模型的链上推理(影响耗时与配额) | 关闭 |
| 上下文预算 | 数字 | 该模式可注入多少参考量(0 = 不注入;越大范围越广) | 基础 0 / 轻量 2000 / 标准 4000 / 专家 4000 / 一键发布 4000 |
| 超时时间 | 数字 | 单次 LLM 调用最长等待时间(0 = 无限制) | 基础/轻量/标准 30000,智能/发布 60000 |
| 输出 Token 上限 | 数字 | 单次响应最大 Token 数(0 = provider 默认) | 基础/轻量/标准 2000,智能/发布 4000 |
| 输出字符上限 | 数字 | 响应收集的字符上限(0 = 不截断) | 基础/轻量/标准 8000,智能/发布 16000 |
| 模板选择 | 枚举 | 该模式使用的模板:默认(只重述) / 增量(保守补充缺失大逻辑) / 自定义:<名称> | 默认 |
| 自定义模板 | 列表 | 该模式多条自定义模板(每条 ≤4000 字符,每模式 ≤10 条) | 空 |
| 语音识别引擎 | 枚举 | 云端(Qwen3-ASR / OpenAI 兼容) / 本地(SenseVoice 离线) | 云端 |
| 语音识别语言 | 枚举 | 自动 / 中文 / English / 日本語 / 한국어 / 粤语 | 自动 |
| 静音自动停 | 布尔 | 说完话停顿 1.2 秒自动停止录音 | 开启 |
| 规整(去口水词) | 布尔 | 识别后是否调用 LLM 去除「嗯/啊/那个」等语气词 | 关闭 |
| 规整模型来源 | 枚举 | 跟随模型配置(用增强链中的某条) / 自定义(独立 OpenAI 兼容) | 跟随模型配置 |
| 端口重启服务名 | 字符串 | Windows 服务模式下 sc 命令的服务名 | dsh-web |
| 端口重启 profile | 字符串 | 重启后使用的 DSH profile | web |
Q: 安装后输入框里没有出现 ✨ 按钮怎么办?
A: 确认是用 dsh web profile 安装(命令带 --profile web),安装后必须重启 dsh web(仅刷新浏览器不会重新装载宿主页与客户端模块)。package.json 里 dsh.client.platform 固定为 web,只有 web profile 会扫描这个 bundle。
Q: 没有配置任何模型时点 ✨ 会发生什么?
A: 插件不会自动套用任何兜底模型,host 会返回 NO_MODEL 错误码并在按钮下方显示「未配置模型,请在设置中添加模型」。首次安装会继承基座当前模型与官方 DeepSeek 默认两个模型(deepseek-v4-flash / deepseek-v4-pro),可自行删除或调整。
Q: 5 种优化模式(基础/轻量/标准/专家/一键发布)有什么区别?
A: 基础 = 直发改写、不读上下文、最快;轻量 = 本地规则分析、缺失项保守提示、不注入外部上下文;标准 = 规则理解 + 工作区文件与会话事件检索、零额外 LLM 成本;专家 = LLM 任务分析 + 全量检索(文档/代码/会话)注入、上下文理解最准;一键发布 = 检索同类项目 + 工作区参考生成九章开发规格,支持多轮细化。
Q: 记忆开关是什么?开启后会不会把聊天内容长期保存在客户端?
A: 记忆仅在发送前一轮「优化 → 修改 → 再优化」之间累积为最多 4 轮的链(仅内存中的 memoryRounds),下一轮代入历史并感知修改方向;消息一旦发送,记忆链立刻清空。关闭记忆时完全停止读写;本地或云端均不持久化记忆内容。
Q: 网页打不开时怎么用「一键重启」恢复 DSH?
A: 插件设置「模型与插件 → 端口重启 → 桌面」可一键生成带鲸鱼图标的「重启DSH」桌面快捷方式(仅 Windows),双击即在命令行窗口重启;不生成快捷方式也能用,直接执行 node "...\AppData\Local\dsh-prompt-enhancer\executor\0.1.11\lib\updater-host.cjs" --cli restart --service dsh-web --profile web 即可。
Q: 语音输入支持哪些识别引擎?本地引擎要不要额外下载模型?
A: 默认提供云端(Qwen3-ASR / OpenAI 兼容 /audio/transcriptions)与本地(sherpa-onnx + SenseVoice,离线、不上传)双引擎;插件安装包不携带/不默认下载模型,本地引擎需在「模型配置 → 🎙 语音识别 → 引擎选本地 → 本地模型区点下载模型」自行下载(SenseVoice 228MB / Paraformer 137MB),下载完成后自动热加载。
Q: 卸载后还在 DSH 设置里看到插件页面怎么办?
A: 卸载后必须重启一次 DSH 才能从运行中完全卸载;如果重启后仍残留,进入 DSH 安装目录手动删除 $DSH_HOME/dsh-prompt-enhancer 与 dsh-prompt-enhancer.config.json 即可。
Q: 桌面版(DSH Desktop)每次重启设置都丢失是什么问题?
A: 该问题已在 v3.2.4 修复(GitHub Issue #1)。DSH Desktop 启动时动态分配端口,浏览器 localStorage 按 Origin 隔离,每次重启被误判为「首次安装」覆盖用户配置。修复后配置改为磁盘存储($DSH_HOME/dsh-prompt-enhancer.config.json),动态端口切换后自动恢复。
进阶 — 需要理解 DSH Web profile 安装流程、模型链配置、上下文预算与各模式差异,以及 DSH 服务管理(Windows / Linux / macOS 三套)。默认配置下可直接使用,但精细调优需进入「模型与插件」设置页。
inputActions.setDraft 契约时,✨ 按钮不显示;🎤 语音输入自动降级(无插入能力 → 追加到草稿末尾;完全不注入 → 🎤 禁用并提示)src/host/config.js 注释 TODO(M3): register config schema and migration 显示完整 Schemastery 迁移尚未完成,目前由 config-schema.js 轻量校验兜底lib/client.cjs ~350KB、lib/shortcut-icon.cjs ~43KB),安装包会同步下载鲸鱼图标资源protocolVersion: 1,与旧版本(≤2.8.3)不兼容;执行器版本由 EXECUTOR_VERSION + 内容哈希管理,代码变更自动重建