dsh-msg-tools
其他 活跃维护

dsh-msg-tools

Yaya716/dsh-msg-tools

支持主流聊天应用Web端聊天流中用户消息气泡的悬停操作,可快速复制消息内容,也可编辑后作为新消息重新发送,功能持久稳定,操作流畅无需跳转页面。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
None
开源协议
5 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Yaya716/dsh-msg-tools
git clone https://github.com/Yaya716/dsh-msg-tools.git
git clone git@github.com:Yaya716/dsh-msg-tools.git
README.md main

@local/dsh-msg-tools — 用户消息气泡的复制 / 编辑工具

在聊天流中给用户消息气泡提供 hover 操作:

  • [复制]:一键复制该条用户消息的原文。
  • [编辑]:打开行内编辑框(默认带出原文),保存后通过
    inputActions.setDraft 回填输入框,作为一条新消息重新发送——
    纯客户端操作,不依赖任何 Host 服务或 RPC,任何时序下都可用。

曾考虑过"撤回后重发"语义,但因时序窗口实际不可用,已移除,只保留
复制与"编辑并作为新消息重发"。

组成

文件 作用
package.json 声明 dsh.client(web 平台、inject slots)与 exports["./client"]
lib/index.js Host 半(空 apply,仅保证 loader 条目有效,client-modules 按条目扫描注册 web 插件)
client.js 浏览器半:替换 conversation.chat.node 的 user key 渲染器,复刻官方用户气泡并附加 hover 操作

工作原理

  • 通过 slots 替换官方用户气泡渲染器,样式完全复刻官方气泡
    (--dsw-specific-bubble 等设计变量),仅追加 [复制] [编辑] 操作条。
  • 编辑框保存走 inputActions.setDraft,把修改后的文本作为新消息发出;
    失败时在气泡下方展示错误反馈,不吞异常。

安装位置

  • 源码:$DSH_HOME\extensions\msg-tools\
  • 加载副本:$DSH_HOME\profiles\web\node_modules\@local\dsh-msg-tools\
  • 组合行:$DSH_HOME\profiles\web\cordis.patch.yml 中 id: msg-tools

注:副本是物理拷贝(未走 pnpm install)。若日后对 profile 执行
pnpm install,该目录可能被清理;重新拷贝即可。

卸载

  1. 从 $DSH_HOME\profiles\web\cordis.patch.yml 删除 msg-tools 行
  2. 删除 $DSH_HOME\profiles\web\node_modules\@local\dsh-msg-tools\
  3. (可选)删除 $DSH_HOME\extensions\msg-tools\
  4. 重启 DSH

生效

组合行在进程启动时解析(Web 表面未启用 HMR),修改后需重启 DSH。