dsh-inline-comments
选中即批注,刷新亦留存 —— DSH 行内批注插件
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 26, 2026
- Updated
- Aug 26, 2026
Introduction
dsh-inline-comments
DSH Web 的 GPT 式行内批注插件:在对话里选中助手回复的任意文本,就地加批注;发送时批注随正文一并交给模型,模型下一轮逐条回应。
功能
- 选中助手文本 → 浮出「+ 添加注释」按钮 → 点开编辑器写批注。
- 编辑器内:回车 = 保存(默认),Shift+回车 = 换行。
- 保存后:被批注文本高亮 + 右上角编号气泡;输入框上方出现「N 条注」胶囊。
- 胶囊悬停查看详情、可删除单条;点「×」清空全部(并收回占位字符)。
- 发送时:批注以
[i] 原文:… / 批注:…形式追加进正文,模型下一轮逐条回答。 - 发送后即清理(批注是「一次性」的,随发送消费)。
- 支持中文 / 英文(跟随 DSH 语言设置),自动适配亮色 / 暗色主题。
- 跨刷新持久化:批注镜像到宿主侧单一 JSON 文件(默认
~/.dsh/dsh-inline-comments.json,可用storagePath配置覆盖),刷新后自动恢复;发送后自动清理,不留残留。浏览器 localStorage 仅作同页快速镜像。
使用
- 在助手回复里用鼠标选中一段文字。
- 点浮出的「+ 添加注释」。
- 输入批注,回车保存。
- (可选)再选别的文字继续加;胶囊里可管理 / 删除。
- 直接回车(或点发送)——正文会带上批注,模型逐条回应。
架构
lib/client.js(浏览器):全部功能——高亮 / 气泡 / 胶囊 / 编辑器、批注状态(localStorage)、发送前把摘要拼进草稿。lib/index.js(宿主进程):注册/_dsh/inline-comments/storage路由,把批注持久化到单一 JSON 文件(load / save / clear,仅 loopback、原子写、发送后清理)。cordis.patch.yml:把插件行插入 web profile 的 roster。
安装
dsh plugin --profile web add <package 路径或名称>
开发
- 客户端热更:编辑
lib/client.js后 dsh-client-hmr 自动重载(必要时刷新页面)。 - 宿主改动需重启
dsh web。 - 自测(位于
/tmp/dsh-inline-test/):test.mjs(客户端 jsdom)、refresh-test.mjs(刷新重挂载)、host-test.mjs(宿主路由)、host-storage-test.mjs(宿主文件往返)、client-host-test.mjs(客户端 fetch 集成)。
目录
lib/client.js 客户端半部(全部功能)
lib/index.js 宿主半部(存储路由 + JSON 文件持久化)
cordis.patch.yml web profile 的 bundle patch
package.json 包元信息
许可
MIT