All plugins

prompt-enhancer

A composer button for Hermes Desktop that first repairs dictation typos in the draft, then rewrites it into a structured prompt (task / scope / constraints / output shape); one click back restores the original typing, and ⌥-click repairs without enhancing. Two stateless gateway calls, preserves @file and /command chips, per-session state. UI in EN / 简中 / 繁體.

Heybinshao7Desktopv1.7.1Updated 7 days ago

About

A composer button for Hermes Desktop that first repairs dictation typos in the draft, then rewrites it into a structured prompt (task / scope / constraints / output shape); one click back restores the original typing, and ⌥-click repairs without enhancing. Two stateless gateway calls, preserves @file and /command chips, per-session state. UI in EN / 简中 / 繁體.

Prompt Enhancer for Hermes 版本

Hermes 官方插件目录

【Hermes 桌面端插件】输入框「增强提示词」按钮——先把草稿里的错别字修干净,再改写成结构化完整提示词。en / 简中 / 繁體。

prompt-enhancer

30 秒看懂

输入框右下角(模型选择器左侧)多了一个 ✨ 按钮:随手打一句模糊的话(「帮我写个周报」),点一下,草稿被替换为任务/范围/约束/输出形式一次到位的结构化提示词。不满意再点一下(图标变成回转箭头 ↩)恢复你原来打的那版。

点下去其实是两步:先修复、再增强。第一步只做校对——错别字、同音/近音字(「全休」→「全修」)、语音输入造成的口误漏字多字、缺失的标点,改完先写回输入框给你看见;第二步才把修好的草稿重写成结构化提示词。修复是独立的一步,所以增强失败时你手里仍然是一份干净的草稿。

只想修错字、不想被重写:按住 ⌥(Option)再点 ✨,就只跑第一步。

增强结果只改写、不回答:不替你执行任务,只把意图整理成 AI 更好执行的提示词。无状态调用,不进会话历史,不影响 prompt cache。语言跟随输入(英文输入 → 英文输出,混排保持混排)。

想用固定的模型做增强:在 Hermes 的 config.yaml 里给两个任务分别指定 provider / model(修复、增强各一个,写法见下方「边界与说明」);不配则走辅助模型路由。

安装

方式一:官方插件目录(推荐,已通过官方审查收录)

hermes plugins install prompt-enhancer

装完重启 Hermes 桌面端(⌘Q 后重新打开)即可。升级:

hermes plugins update prompt-enhancer

目录条目钉在某个已评审的 commit 上——作者仓库的后续提交不会自动进目录,实际装到的版本以插件卡片上的版本号为准。

方式二:从 Git 安装(装仓库最新提交)

对 Hermes 说:

从 Git 安装这个桌面插件:https://github.com/Heybinshao/prompt-enhancer

也可以走桌面端「技能与工具 → 插件」页面上方的「从 Git 安装」按钮。这条路径装的是仓库当前提交(没有经过目录评审);升级方式:重做一遍上述安装,弹窗里勾「强制重装」。

方式三:手动放置

  1. 下载本仓库的 desktop/plugin.js
  2. 放到 ~/.hermes/desktop-plugins/prompt-enhancer/plugin.js(文件夹名必须叫 prompt-enhancer)
  3. 重启 Hermes 桌面端(⌘Q 后重新打开)

⚠️ 插件入口在仓库的 desktop/ 子目录里,别把整个仓库 clone 进 ~/.hermes/desktop-plugins/——多出一层目录,宿主就找不到入口文件了。

界面预览

按钮位于输入框控件行最左(模型选择器左侧):

| 空闲态 | 增强后(可恢复) |
|--------|----------------|
| 空心火花 ✨ | 回转箭头 ↩,点击恢复原文 |

使用

| 操作 | 效果 |
|------|------|
| 输入草稿后点 ✨ | 先修复错别字(草稿原地变成修好的样子),再替换为增强后的提示词 |
| ⌥(Option)点击 ✨ | 只修复、不增强——草稿里的错字被改对就停,适合已经写清楚了只想清错字的时候 |
| 修复完、增强还没回来 | 按钮提示「已修复输入 · 恢复原文」,此时点一下回到你打的原版 |
| 增强后再点 ✨(图标变为回转箭头) | 恢复你原来打的那版(错别字也一并回来) |
| 等待期继续编辑 | 保护生效:不覆盖你的手改,弹提示 |
| 空输入框点 ✨ | 提示无可增强内容 |

  • 模型路由:请求不带 session_id,落在辅助模型路由(不随会话变);两步可分别指定,见下方 auxiliary.prompt_repair / auxiliary.prompt_enhancement
  • 多行布局:草稿换行后输入框进入堆叠布局(官方行为);按钮跟随发送按钮簇一起靠右(官方控件行布局问题已在 Hermes v0.21.7 修复)
  • 发送后:按钮自动回到空闲态(增强结果已随消息发出)

卸载

「技能与工具 → 插件」里找到 Prompt Enhancer → 关闭开关;或直接删除 ~/.hermes/desktop-plugins/prompt-enhancer/ 文件夹后重启 Hermes。

反馈

装上了吗?用着如何?遇到报错(哪怕看不懂的)欢迎提 issue——报错时附上 ~/.hermes/logs/desktop.log 里 [prompt-enhancer] 开头的行即可,不用截图也不用复现步骤。也可以在微信公众号「宝藏彬少」后台直接留言。

边界与说明

  • 文件/引用 chip 与文本混合的草稿:引用标记原样保留,只增强文本部分

  • 增强结果保留官方渲染:草稿里已有的 @引用 和 /命令 pill 在增强后原样保留(图标、配色与官方一致);模型新引入的命令词以纯文本发送,消息气泡里仍会正常渲染

  • 草稿超过 8000 字符暂不支持

  • 增强耗时取决于模型(通常数秒到 2 分钟),转圈即进行中。每次模型调用后端硬顶 60 秒(修复 + 增强各一次,最坏约 2 分钟)

  • 修复是独立的前置一步:点 ✨ 后先跑一次校对调用,只改有把握是错的地方——错别字、同音/近音字(「全休」→「全修」)、语音输入的口误漏字多字、缺失标点;不改风格、不润色、不扩写。有疑问一律保留原样

  • 过度改写有三道闸门:修复稿长度相对原文漂移超过 15%(至少 8 字符)判为「在重写」→ 丢弃;草稿里带 @file: 等引用标记时整个跳过修复(机器 token 没有可校对的字);修复结果为空或与原文相同 → 静默跳过。任何一道不过,都用你的原文继续增强,不会把模型的改写塞进输入框

  • 修复结果直接写回输入框:改了什么原地就能看见,还能接着手改——没有额外的对比面板

  • 回退只有一层:不管停在「已修复」还是「已增强」,点一下都直接回到你打的原版(带错别字的那版),不经过中间态

  • 草稿超过 2000 字符跳过修复:长草稿基本不是语音输入产生的,直接增强更快

  • 修复失败不影响增强:校对调用出错(含限流)时静默降级,用原文继续增强

  • ⌥ 点击只在空闲态生效:按钮处于「已修复 / 已增强 / 转圈中」时,点它只有一个意思(回退或取消),加修饰键也不会改变行为——避免误按 ⌥ 导致「该回退的时候反而又跑了一次」

  • 多会话状态隔离:每个会话输入框的增强状态独立(转圈/恢复只作用于自己,取消不作废其他会话的请求)

  • 增强中可取消:点 ✨ 后按钮变为转圈动画,转圈期间再点一次即可取消(立即拿回输入框,迟到的结果自动丢弃);取消/完成后自动恢复

  • 限流重试可见:触发 429 自动重试时按钮提示变为「限流重试中…」,不再是静默等待

  • 服务端 429 限流自动重试:网关上游渠道偶发限流(增强失败:… 429)时插件自动退避重试(3s / 5s 各一次);若重试后仍失败,稍等几秒再点一次即可——限流是网关侧的瞬时状态,与插件和账号无关

  • 固定用模型:在 Hermes 的 config.yaml 里给两步分别指定 provider / model(不配则走辅助模型):

    auxiliary:
      prompt_repair:          # 第一步:修复,建议用快的模型
        provider: <你的 provider 名>
        model: <模型名>
      prompt_enhancement:     # 第二步:增强,建议用强的模型
        provider: <你的 provider 名>
        model: <模型名>
    

    ⚠️ 这两步的 timeout 键不生效——llm.oneshot 通道在后端固定 60 秒,配了也会被忽略。

  • ⌘Z 撤销的是你的打字历史,撤销不了增强替换——恢复原文请用按钮

  • 需要网关在线(增强走 llm.oneshot 网关通道)

工作原理

按钮注入官方 composer.actions 贡献区;草稿读写全部走官方 host.composer 接口(getDraft / setDraft,按会话寻址,@引用 与 /命令 由应用自己水化成 chip;SDK 答不上来就提示用户,绝不伸手进应用 DOM)→ 先调一次 llm.oneshot 做修复(task: prompt_repair),通过护栏后写回输入框 → 再调一次 llm.oneshot 做增强(task: prompt_enhancement),输入是修复稿。两次调用都是无状态、不污染 prompt cache、不带 session_id。

写回前做快照比对,草稿在等待期被手改则放弃应用——绝不覆盖用户的字。修复稿的原始备份只记一次,所以「恢复原文」永远回到你打的那一版。

v1.6.0 起为纯 SDK 实现,配合版本闸门 requires_hermes: ">=0.21.5":低于 0.21.5 的 Hermes 不会安装本版本(官方目录 PR #121246 审查要求,删除了旧版桌面端的 DOM 读写兼容层)。

关于作者

彬少 —— 一个什么都折腾一下的人:装系统 · 玩AI · 搭知识库 · 做设计。这个仓库里的东西都是我自己的卡点长出来的,日常在用,做完就开源。

微信公众号 「宝藏彬少」:折腾,是为了更好用。欢迎关注交流。

许可证

MIT © 2026 Binshao

README from the reviewed commit f2afdf2; it updates when the author re-pins.

More by Heybinshao

2 plugins by Heybinshao in the catalog.