dsh-draft-polish:DSH Web 输入框草稿一键润色

前言

在 DSH(DeepSeek Harness)Web 里和模型对话时,输入框里的文字往往是口语化草稿:有口头禅、重复和乱序,但意思已经在了。若每次都要自己逐句改写成更顺口的表达,会打断发送节奏;若把整段对话历史交给模型「代写」,又容易越界到替你发言、或把不该带的上下文一并送出。

下面介绍的 dsh-draft-polish 是维护者 WanchunLian 发布的 客户端 Web 插件:在输入框右侧提供「润色」入口,默认走快路径只生成一版「核心意思」,确认后通过官方草稿通道写回输入框,由你删改再发送。设计原则是 AI 只帮你把话说到位,绝不替你发言。

这是什么

一句话:把还没发出的口语化草稿,一键润色成更专业、更顺口的表达;替换回输入框后仍由你确认再发送。

核心功能

默认快路径:只出一版核心意思

轻量化设计下,点击润色后默认只生成 核心意思 一版(调用 POST /draft-polish/api/polish/one,roleId 为 core),避免一次拉满 8 段的长等待。需要其它表达风格时,在 compact 560px 面板里通过「更多风格」按需展开、逐条生成。

面板与替换

  • 主卡提供「用这版替换」;7 个额外视角折叠在次级入口,不抢主视觉。
  • 展开后的视角卡可勾选「并入」;勾选 ≥2 条时会出现「合并 N 版替换」,按 【视角】 标题拼接多版内容。
  • 替换走官方 setDraft 通道,支持 Ctrl+Z 撤销回原始草稿。

口语清洗与边界

  • 润色侧强调去掉口头禅、重复、乱序,还原事实主干,不编造用户没说过的事实。
  • 草稿长度上限 2000 字(MAX_DRAFT_CHARS),超出接口返回 DRAFT_TOO_LONG,需精简后再试。
  • 单次 LLM 生成默认超时 30000 ms(DEFAULT_TIMEOUT_MS)。

隐私与降级

  • 只发草稿快照:点击润色瞬间锁定输入框快照(lockedRef);面板打开期间你继续输入的内容、对话历史 不会 进入任何 LLM 请求。请求体白名单仅允许 draft、roleId、timeoutMs 等字段;夹带 sessionId、conversation、history 等会 400 UNEXPECTED_FIELD。
  • 润色失败不阻塞发送:LLM 不可用或超时时 toast 提示「润色暂时不可用,可原样发送」,输入框原样保留;发送中(submitting/adjudicating)时润色按钮置灰,防误触。

全量 8 段接口 POST /draft-polish/api/polish 仍保留兼容,前端默认不再使用。

安装与启用

前置要求

  • Node.js 20+(README 实测 v22.22.2)
  • @deepseek-ai/dsh(文档写明 0.1.1-rc.2,可用 npx @deepseek-ai/dsh web 启动)
  • DSH profile 目录(Windows 示例:C:\Users\<你>\.dsh\profiles\web)

资料中的部署方式为 npm link: 装进 profile,改 lib/*.js 可实时生效;改动 cordis.yml / package.json 的 bundle 声明需重启 dsh web。

  1. 进入插件项目根目录(路径按你本机 clone 或下载位置为准)。

  2. 在 profile 目录执行 link 安装:

cd C:\Users\wanch\.dsh\profiles\web
npm install link:D:\mycode\dsh\dsh-draft-polish
  1. 确认 profiles\web\package.json 的 dependencies 已包含 dsh-draft-polish: link:...;若 dsh.profile.bundles 缺少 bundle 注册,需参考同机官方 bundle 写法补齐包名。

  2. 启动 Web:

npx @deepseek-ai/dsh web

浏览器打开 http://127.0.0.1:3456,输入框工具行右侧应出现「✨ 润色」按钮。

典型用法

  1. 写:在输入框输入或语音转写一段话(口语化、有口头禅即可)。
  2. 点:点「✨ 润色」,稍等弹出「润色结果」,默认已有一版核心意思。
  3. 换:合适则点「用这版替换」→ 回输入框检查、删改 → 再点发送。

需要其它风格:面板中「想要其它风格?」→ 选视角「生成这版」,可单版替换,或勾选多版后「合并 N 版替换」。不需要任何结果时关面板(Esc 或点遮罩),输入框保持原样。

适用场景与注意

适合:经常在 DSH Web 里先打口语草稿、再希望快速收成专业表达后再发送的开发者或日常用户;在意「只润色当前草稿、不带会话上下文」的场景。

注意:

  • 插件随 DSH 进程运行,安装前请自行查看 GitHub 源码 与 MIT 许可证,确认符合你的环境与合规要求。
  • 宿主路由带 loopback / 同源等 fence,LLM 调用在宿主侧完成,浏览器不直连 ctx.llm。
  • 项目提供 npm test(node --test test/polish-core.test.mjs)回归上下文红线与白名单;README 记录 V2 轻量化(2026-09-04)与多项 Playwright / 真模型里程碑,以仓库文档为准。

结尾

dsh-draft-polish 把「发前的最后一道措辞」做成输入框旁的一键能力:快路径只出核心意思,多风格与多版合并按需展开,失败时仍可原样发送。进一步了解可在社区目录页查看简介,在 GitHub 阅读完整 README、docs/design.md 与 API 契约。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye