回到首页

输入关键词,多个关键词用空格分隔。

← AI Work · 系列目录

【AI Work】03 少一次打断:WDX Relief

约 3 分钟
本页目录

用 DSH 久了,真正累人的往往不是任务本身,而是两件很小的事。

第一件:对话结束,光标在输入框里闪,你明明知道要继续,却要先想三秒下一句该说什么。第二件:回复风格要一遍遍交代——短一点、别列清单、先给结论、术语解释一下。说一次是偏好,说一百次就是税。

这两件事都不值得单开一个功能,但它们每天都在发生。于是有了 WDX Relief,一个专门降低日常使用心智负担的小插件。

WDX Relief 配置页

两个功能

  • 输入框下一句预测:对话结束后,输入框里用灰字给出你下一句可能发的话,Tab 填入,Esc 忽略,打字就隐藏
  • 回复风格:长度短 / 标准 / 详细;风格默认 / 专业 / 亲和 / 直接 / 跟随我的风格;一个「便于行动」开关;最多 2000 字的自定义指令

所有设置都在插件自己的配置页里,不往 DSH 的 Settings 导航插新页面。插件关掉,配置页也跟着消失,不会留下「插件没了但设置还在」的幽灵。

下一句预测:只在「该猜」的时候猜

预测很容易做成骚扰,所以约束比功能多:

  • 只在会话空闲、输入框为空、最后一条是助手消息时触发
  • 客户端 350ms 防抖,同一轮只生成一次,按 session.seq 缓存,重复调用不重复烧 token
  • 只读最近 8 条真人用户 / 助手文本,注入的上下文不算
  • 用默认模型的最低推理档位,15 秒超时;失败、模型不可用、输出 <none> 都静默隐藏
  • 结果最多 60 字,超出截断
  • Tab 走标准的 inputActions.setDraft() 写入 Lexical 编辑器,不是模拟键盘

它不替你做决定。灰字只是「如果你不知道说什么,可以从这里开始」。猜错了,按 Esc 就好,不会留下任何东西。

回复风格:把偏好编译成一段 prompt

回复风格的设置项不多,但每一层是正交的:

设置作用
输出详细程度短 / 标准 / 详细,控制展开多少
回复风格默认 / 专业 / 亲和 / 直接 / 跟随我的风格
便于行动先结果和下一步,按内容比例组织,保留风险
自定义指令最多 2000 字,优先级最高

Host 侧把当前设置编译成一段 system prompt,注册在 ctx.systemPrompt 的 order 10300,放在部署 persona 之后。默认项不写进 prompt,避免每轮都付无意义的 token;自定义指令用 interpolate: false 注册,里面写 {{...}} 也不会把 prompt 装配弄炸。

「便于行动」是我默认开启的:先给结果或下一步,不写「好的」「我来看看」;能一句说清的不写一段;必须用术语时先用白话说明;风险、失败条件和已授权该做的工作不能因为精简而省略。这套规则改编自 i-have-adhd skill(MIT),我觉得它比「请简洁一点」有用得多,因为它说的是怎么组织内容,不是少写几个字。

一个必须说清楚的取舍:风格是软约束,不是硬截断。复杂任务该长还是长,模型不会为了「短」漏掉关键步骤。想要硬限制只能在客户端截断,但那会把话说一半,得不偿失。

实现上没有魔法

Host 注册 POST /api/wdx-relief/predict 用来生成预测,再注册 wdx-relief:reply-style 这个 system prompt section;预测走 ctx.llm 和默认模型,不写 session log,也不触发 agent loop。

Client 注入 conversation.input.overlay 画灰字,注入 plugins.bundle.config 渲染配置页。所有字段都是 Host Config 的 .volatile() 引用,写完落到 profile 的 cordis.patch.yml,HMR 生效。27 个单测覆盖风格编译、预测清洗和插件装配。

已知限制

  • 回复风格是 prompt 软约束,复杂任务仍可能写长
  • 风格设置全局生效,暂不支持 per-session
  • 只看当前对话,没有跨会话风格档案,也不读工作区文件或外部应用
  • 灰字定位依赖 composer 的 DOM 属性,DSH 改版时需要同步

安装

侧栏 插件 → 添加插件,输入 dsh-wdx-relief,装好后启用并刷新页面。插件面向 DSH 0.2.x,配置在 bundle 页面下方。源码在 GitHub,npm 包是 dsh-wdx-relief。

好的工具应该让人感觉不到。WDX Relief 没有新增页面,也没有让你多学一套快捷键;它只是把输入框里那三秒的空白,和每轮重复的那句「短一点」,悄悄拿掉了。

相关文章