dsh-reedit:重写并发送自己的消息

前言

在 DSH 会话中,日志是追加的,无法原地修改消息。当你发现自己发送了错误的上下文,或者需要调整上一轮对话的措辞时,通常只能通过重新生成上下文来补救,这会消耗大量算力且破坏原有记录。

下面介绍的 dsh-reedit 插件允许你双击自己的消息进行重写,并在新的分支中重新发送。原始对话保持不变。

插件介绍

dsh-reedit 是一个客户端插件,由 Arbeiter-bit 维护。它通过拦截和重渲染 DOM,实现了对用户消息的编辑与重发功能。

核心功能

  1. 悬停提示:将鼠标悬停在自己的消息上时,会显示操作提示。
  2. 双击编辑:双击消息后,编辑器会自动预填充该消息的内容。
  3. 会话分叉:确认发送后,插件会在原始消息之前创建一个新的会话分支。该分支不包含原始消息及之后的任何内容。
  4. 重发内容:编辑后的文本会被发送到这个新分支中。
  5. 主面板展示:新分支会在主面板中打开,方便你继续交互。
  6. 退出编辑:点击编辑器外部区域,会退出编辑模式且不保存修改。
  7. 视觉标记:用户消息会附带一个淡蓝色气泡,防止将其误判为助手回复。

安装与启用

使用官方安装命令将插件添加到你的配置文件中:

dsh plugin --profile <profile> add github:Arbeiter-bit/dsh-reedit

注意事项

  1. 颜色限制:蓝色气泡的颜色为十六进制 #2563eb,透明度 12%。由于主题没有提供对应的蓝色别名 Token,该颜色在不同主题下可能显示效果略有不同。
  2. 重新实现:操作栏是插件重新实现的,文件卡片和间距是手写的,可能与宿主 UI 存在细微差异。
  3. 不可原地修改:由于会话日志是追加的,该插件无法修改消息本身,而是通过创建分支来实现“重写”的效果。
  4. 依赖容错:插件读取 @deepseek-ai/dsh-client-ui-primitives 时使用了 try/catch,如果依赖缺失,内容会降级为纯文本显示。

结语

dsh-reedit 提供了一种低成本修改历史上下文的方式,适合需要微调指令或纠正错误的场景。插件源码与目录信息可参考下方链接。

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

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

小夜