Skip to content
dsh.fish
Bundle

dsh-prompt-enhancer

DeepSeek Harness (DSH) plugin: one-click prompt enhancement (✨) and voice recognition (💬, cloud/local dual engines) for the composer, plus one-click DSH service restart.

Source
Fishsb
stars
64 stars
License
MIT
Updated
Updated 7 days ago

Readme

# dsh-prompt-enhancer

DeepSeek Harness (DSH) 插件。**两大核心能力**:

- ✨ **提示词增强** — 输入框草稿一键改写,不满意可撤回
- 💬 **语音识别** — 说完自动停,云端 / 本地双引擎离线可用,识别结果填入草稿

另附 🔁 **DSH 服务异常一键重启**(网页打不开也能命令行恢复)。

[![Release](https://img.shields.io/github/v/release/Fishsb/dsh-prompt-enhancer)](https://github.com/Fishsb/dsh-prompt-enhancer/releases)
[![Release date](https://img.shields.io/github/release-date/Fishsb/dsh-prompt-enhancer)](https://github.com/Fishsb/dsh-prompt-enhancer/releases)
[![Stars](https://img.shields.io/github/stars/Fishsb/dsh-prompt-enhancer)](https://github.com/Fishsb/dsh-prompt-enhancer/stargazers)

## ✨ 两大核心功能

### 1. 提示词增强(✨)

输入框工具行的 ✨ 按钮触发一次独立 LLM 调用,直接改写当前草稿;可继续优化、可撤回、增强中可取消。

- **一键增强** — ✨ 按钮触发独立 LLM 调用,直接替换草稿;可继续优化、可撤回、增强中可取消
- **5 种优化模式** — 基础(直发)/ 轻量(结合上一轮对话参考)/ 标准(规则 + 检索)/ 专家(任务分析 + 全量检索)/ 一键发布(生成完整开发规格)
- **记忆开关** — 开启后,发送前的多轮「优化→修改→再优化」累积为记忆链,下一轮代入历史并感知修改方向;发送消息即清空,关闭后完全停止读写
- **模型链** — 按序尝试多个模型,可增删改序、开关思考、行内连通性测试

### 2. 语音识别(💬)

输入框旁的 🎤 录音按钮开始说话,识别(**云端** Qwen3-ASR / **本地离线** SenseVoice 双引擎)→ 可选规整(去口水词)→ 填入草稿 → 可一键优化。**说完停顿自动停止**(VAD 静音检测),录音仅内存中转不落盘。

- **双引擎** — 云端 Qwen3-ASR / 本地离线 SenseVoice(框架 + 可选下载,发布物精简)
- **说完自动停** — VAD 静音检测,无需手动停止(最长 60 秒自动结束)
- **快捷键唤醒** — 可录制全局快捷键,点按 / 长按双触发
- **文本规整** — 识别结果可选经基座 LLM 规整,去口语化
- **自动增强** — 开启后识别填入草稿即自动触发提示词增强

## 🔧 其他能力

- 🌐 **多语言** — 按钮与文案跟随 DSH 界面语言(中文 / English)
- 🔁 **一键重启(独立功能)** — 网页打不开也能重启 DSH:桌面快捷方式(鲸鱼图标)双击,或命令行直接调用;支持服务化重启与进程级降级

## 🚀 安装

```sh
dsh plugin --profile web add github:Fishsb/dsh-prompt-enhancer#v3.3.3
```

安装后重启 DSH(`dsh web`),输入框工具行出现 ✨ 按钮即安装成功。

> 需本机已装 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 且 `pnpm` 在 PATH 中。
>
> **客户端兼容性(语音识别)**:🎤 语音输入依赖客户端注入 `inputActions.setDraft`(官方 web client 已满足);第三方客户端若实现同一契约即可加载,能力集不同时语音输入自动**降级**(无插入能力 → 识别结果追加到草稿末尾;完全不注入 → 🎤 禁用并提示)。**本地离线引擎为「框架 + 可选下载」模式**:插件安装**不携带/不默认下载模型**;设置 → 模型配置 → 💬 语音识别 → 引擎选「本地」→ 「本地模型」区点 **下载模型**(SenseVoice 228MB,带进度显示),下载完成自动生效。详见 [docs/map/flow/voice-input.md](docs/map/flow/voice-input.md)。

更新 / 卸载:

```sh
dsh plugin --profile web update dsh-prompt-enhancer
dsh plugin --profile web remove dsh-prompt-enhancer
```

> 卸载后必须重启 DSH 才能从运行中移除。

## 🔁 一键重启(独立功能)

DSH 服务异常、网页打不开时,仍可一键恢复——不依赖浏览器、不依赖 3080 端口。插件设置「端口重启」确认态点击「**桌面**」生成带鲸鱼图标的「重启DSH」快捷方式,双击即重启并显示进度;不生成快捷方式也能用,任意命令窗口直接调用:

```sh
node "<DSH_HOME>\AppData\Local\dsh-prompt-enhancer\executor\0.1.11\lib\updater-host.cjs" --cli restart --service dsh-web --profile web
```

## 📦 库说明

核心逻辑拆分为独立 Node 模块,可复用:`lib/shortcut-win.cjs`(Windows 快捷方式生成)、`lib/updater-host.cjs`(CLI 重启 / 更新执行器)、`lib/platform-service.cjs`(跨平台服务管理)、`lib/sys.cjs`(环境与路径)。详见各模块头注释。

## 🎯 使用(提示词增强)

1. 输入任意非空文本(斜杠命令保留前缀,只优化正文)
2. 点击 **✨** 按钮
3. 等待独立 LLM 调用完成,草稿被替换为增强版本
4. 不满意点击 **可撤回** 恢复原文

## 📸 效果展示

**语音识别**(输入框 🎤 录音按钮,说完自动停):

![语音识别](docs/screenshots/voice-main.png)

**语音识别设置**(引擎切换 / 快捷键唤醒 / 模型下载 / 文本规整):

![语音识别设置](docs/screenshots/voice-settings.png)

## ⚙️ 配置

设置 →「模型与插件」:

| Tab | 说明 |
|---|---|
| **模型配置** | 配置优化模型链,按序尝试、可增删改序;**语音识别**段落(引擎切换 / 快捷键唤醒 / 本地模型下载 / 文本规整) |
| **优化参数** | 优化模式 / 记忆开关 / 上下文预算 / 超时与输出上限 / 模板 |

## 📚 文档

- [Releases](https://github.com/Fishsb/dsh-prompt-enhancer/releases)
- [CHANGELOG](CHANGELOG.md)
- [兼容性说明](docs/compatibility-matrix.md)

> 隐私:插件不记录、不上报任何数据;增强结果来自外部 LLM,发送前请自行核对。

### 🌐 网络受限环境下载语音模型

本地模型托管于 Hugging Face。若你的网络无法直连(大陆网络常见):

1. **走本地代理**:代理软件保持运行(系统代理开关可不打开);在配置文件 `%DSH_HOME%\dsh-prompt-enhancer.config.json` 加入顶层字段 `"download": { "proxy": "http://127.0.0.1:10808" }`(或 `socks5://…`),保存后重新点下载即走代理;
2. **手动放置**:从 [hf-mirror.com](https://hf-mirror.com) 下载模型文件放入 `%DSH_HOME%\dsh-prompt-enhancer-asr\models\<模型id>\`(sense-voice 需 `model.int8.onnx` + `tokens.txt`),刷新设置页即识别为已安装;
3. 下载内置**断点续传与多源自动切换**(HuggingFace ↔ hf-mirror),偶发中断重试即可续传。

Install

dsh plugin --profile web add github:Fishsb/dsh-prompt-enhancer

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source