dsh-prompt-lint:从历史会话里挖出提问坑,并一键改写草稿

前言

在 DSH 里和智能体协作,返工往往不全是模型能力问题:同一句「帮我改一下」反复出现,输出格式交代过一次下次又漏,工具失败其实是因为没写前置条件。自己心里有约束,每次却要重新敲一遍,既费字也容易被漏掉。

下面介绍社区插件 dsh-prompt-lint(维护者 LIN-F1SH,GitHub 仓库 LIN-F1SH/dsh-prompt-lint)。它读本机历史会话,归纳你反复踩的提问问题,给出可直接粘贴的改写;在输入框旁还可以把当前草稿改成带约束的 shorter 版本。它不替你想任务,也不承诺提升模型准确度——做的是把你已经知道的约束固定下来。

DSH 生态里能力以插件形式挂载;目录页在 skillhub.cn,与 DeepSeek / 幻方无官方从属关系。安装前请自行查看源码与 MIT 许可证;插件以当前 dsh 进程权限运行,会读本机会话日志并在调模型时走宿主 llm 服务。

这是什么

dsh-prompt-lint 在设置里叫「提示词工作台」,分类上常被归为与「记忆 / 习惯」相关的辅助能力:复盘你自己的提问字句,产出改进清单;改写正在写的草稿;把采纳过的问法归档并在相似输入时推荐。

一句话:读历史找出缺路径、没定格式、漏前置条件等模式,每条带证据与改写稿;输入框右侧 ✨ 优化 可出简洁 / 标准 / 严谨三档。

核心功能

复盘历史提问

在设置 →「提示词工作台」→「开始复盘」。插件扫描本机会话(默认最近 reviewWindowDays 14 天、最多 8 个会话),只分析 source.kind === 'user' 的用户消息,排除系统注入的运行时上下文、审批通知、技能目录等。

每条改进项包含出现次数、证据(哪个会话第几条)、以及可直接粘贴的改写草稿。一次复盘约 5,000 tokens(已复盘且文件未变的会话不会重发;强制重跑需在请求里传 {"force":true})。

改写当前草稿

对话输入框右侧点 ✨ 优化。插件用档案里 active 的改进项改写当前草稿,给出 简洁 / 标准 / 严谨 三档(可在设置里裁剪档位),并列出「这次补了哪几条」。点「替换输入框」会写回草稿,同时把采纳内容归档进资产库。单次优化约 2,400 tokens。

好问法归档与输入推荐

采纳的改写自动按任务类型打标签。之后在输入框打字时,若匹配历史模板或待补约束,输入框上方会提示是否带上——可在设置里开关「输入时自动推荐」并调节推荐灵敏度(0–20)。

它不做什么

README 明确写:不提升模型准确度(作者表示没有证据支持这类说法),也不替你想任务本身。若返工主要来自网络中断或 provider 错误,改提示词通常救不回来;若你本来就问得清楚,常驻收益有限。

安装与启用

Web(dsh web)

跟随 main 或钉住版本:

# 跟随 main(会拿到最新提交)
dsh plugin --profile web add github:LIN-F1SH/dsh-prompt-lint

# 钉住某个版本(README 示例,推荐用于生产)
dsh plugin --profile web add github:LIN-F1SH/dsh-prompt-lint#v0.1.1

package.json 当前版本为 0.2.0;生产环境可按需钉版本。宿主代码或插件 lib/* 改动后需重启应用(link: 安装时 ESM 缓存不会热重载)。不要在已有 link: 之上再试 file: 安装,以免 junction 导致源码目录被误删——换方式请先卸载并手工删掉 junction。

桌面客户端(Electron)

桌面端使用 desktop profile,命令行 dsh plugin 按设计不处理该 profile。请用宿主内置 plugin_manager 安装:

github:LIN-F1SH/dsh-prompt-lint

本地开发可用 link:<本目录绝对路径>,同样通过 plugin_manager。

运行要求

Node ≥ 22.15(会话日志为 zstd 压缩,依赖 Node 的 zstd API)。升级 DSH 后可用自检:

curl http://127.0.0.1:19387/pwb/health

返回 ready、sessions.formats、compat.services 等,便于确认 llm、默认模型、档案与会话格式是否就绪。

典型用法

经过上面的安装与重启,建议按 README 顺序操作:

  1. 先复盘:设置 →「提示词工作台」→「开始复盘」,得到改进清单与改写草稿。
  2. 再优化:在输入框写一句话,点 ✨ 优化,选一档复制或「替换输入框」。
  3. 之后输入:留意输入框上方的约束推荐,在设置里调整「优化时参考哪些改进项」(matched-only / all-active)、复盘回看天数(1–365)、单次复盘会话数(1–20)等;改完点「保存」,非法值会被自动收敛。

设置保存在 $DSH_HOME/prompt-workbench/profile.json(默认 ~/.dsh)。也可通过 HTTP POST /pwb/profile,action 为 update-settings。

主要 HTTP 前缀为 /pwb:读接口不限来源;写接口仅接受本机回环(127.0.0.1 / localhost / ::1)。常用路径包括 GET /pwb/health、POST /pwb/review(异步复盘)、POST /pwb/optimize、POST /pwb/recommend(本地匹配,不调模型)。

数据与隐私

项 说明
读取 本机 ~/.dsh/sessions/**/session.v4.jsonl.zstd,只读
联网 仅调模型时;读会话与分析不访问第三方
凭据 不存 key;模型走宿主 llm 与当前默认模型
诊断 解析失败时原文可能落到 $DSH_HOME/prompt-workbench/last-*.txt,仅本机

适用场景与注意

更适合:老在重复交代同一批约束(输出格式、改动范围、「只改这个文件」);想跑一遍复盘看自己提问习惯(跑完可不必常驻)。

收益有限:提问已很清楚,或返工主要是网络 / 502 / 传输错误;README 在 9 天真实会话实测里,「真·返工」约占 0.1% tokens,那类问题靠改提示词省不掉。

成本要心里有数:复盘输入相对整段对话有约 4000:1 的压缩,但单条优化后的提示词通常会变长(约 +30~200 字),进入上下文后会被反复重读。插件主要价值是让问题有据可查、让约束少漏,而不是笼统地「省 token」。

安装插件前请阅读仓库源码与许可证;社区目录与 GitHub 星标(截至资料抓取时为 1 star)仅作发现入口,不代表官方背书。

结尾

dsh-prompt-lint 把「提示词体检」做成可复用流程:复盘 → 改写 → 归档 → 输入时提醒。若你经常在 DSH 里重复补同一类约束,值得在 Web 或桌面宿主里装一份试跑复盘。

  • 目录页:https://www.skillhub.cn/plugins/LIN-F1SH/dsh-prompt-lint
  • GitHub:https://github.com/LIN-F1SH/dsh-prompt-lint
羽毛球分组比赛记分
小程序二维码

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

Xiaoye