DSH Tag Plugin(dsh-code-marks):在对话里标记代码与句子并精确跳回

前言

在 DeepSeek Harness(DSH)里做长对话时,追问会把较早的题解和代码段顶出视野,回看往往要反复滚动。常见做法是复制到笔记里或靠记忆找轮次,但和原文的对应关系容易丢,也打断当前会话节奏。下面介绍社区客户端插件 dsh-code-marks(仓库 petex7238/DSH-Tag-Plugin):在助手回答里选中代码或一句话打标签,标记保存在本机,通过对话左缘深蓝短条或右侧栏「标记」页签随时跳回同一字符位置。

这是什么

dsh-code-marks 由维护者 petex7238 发布,分类为 DSH 客户端插件(npm 包名 dsh-code-marks,当前版本 0.1.0,MIT 许可)。它只做一件事:对会话中助手回答里的代码段与文字(含跨行选中)建立标记,用自定义标签归类,并在不依赖会话 transcript 排序的前提下持久保留,避免后续多轮追问把标记「顶掉」。

数据全部落在浏览器 localStorage,不上传、不同步、不进会话日志;Host 侧 plugin/index.mjs 为空 apply(),仅用于加载客户端 bundle。

核心功能

标记与标签

  1. 在助手回答中选中一段代码或一句话,松手后出现标签条。
  2. 点预设标签(如「核心逻辑 / 疑问 / 易错点 / 待复习」)或 + 新建标签;支持标签的新建、改名、换色(6 种颜色)、删除。
  3. 确认后左缘出现深蓝短条,右栏「标记」页签同步一条记录;不会自动打开右栏。

跳回原文

  • 点击左缘短条或右栏条目:原文滚到可视区正中、闪一下并选中;跳转按标记文本的 Range 计算,精确到字符。
  • 悬停短条或面板条目:对话内临时高亮,不跳转。
  • 短条右键:跳转、重命名本条标记名称、删除(删除后 5 秒内可撤销);Delete / Backspace 同样支持撤销。

右栏「标记」面板

操作 说明
点击条目 跳回并居中;历史未加载时会自动点「加载更早」(最多 16 次)
标签 chip 按标签筛选,括号内为条数
搜索框 按选中原文或备注过滤
✎ 编辑备注
× 删除标记
⚙ 管理标签

面板关闭后可通过右栏页签条 添加 → 引导页 → 「标记」胶囊重新打开。

定位与高亮机制(摘要)

标记不绑 DOM 节点,而存消息锚点 key、文本偏移、选中原文、前后各 48 字符上下文及轮次;解析时四级降级(精确锚点 → 同行 → 精确原文 → 上下文打分)。高亮使用 CSS Custom Highlight API,以 240ms 去抖重建 Range,减轻 React 重渲染与代码块 plain→高亮切换的影响。

安装与启用

需要 DSH 0.2.0-rc.2 或更新(桌面端或 dsh web)。安装时使用官方 安装 spec(插件组合包),装完后刷新页面即可,无需重启。

从 GitHub 安装

# git 协议
dsh plugin --profile desktop add "github:petex7238/DSH-Tag-Plugin#main"

# tarball 直链
dsh plugin --profile desktop add "https://github.com/petex7238/DSH-Tag-Plugin/archive/refs/heads/main.tar.gz"

# 本地解压目录(示例路径按本机修改)
dsh plugin --profile desktop add "D:/tools/DSH-Tag-Plugin"

固定版本可将 #main 改为 #<commit sha> 或 #v0.1.0;更新时重新执行安装命令(同包名覆盖)。

从 npm 安装(发布后)

dsh plugin --profile desktop add dsh-code-marks

或在插件页填写 dsh-code-marks。

确认已启用

插件列表中出现 dsh-code-marks 且为启用状态;在对话里选中助手回答一段文字,左缘应出现深蓝短条。

典型用法

  1. 在助手回答里用鼠标选中代码或一句话(可跨行)。
  2. 在浮出标签条上选择标签或新建标签。
  3. 需要回看时:点左缘深蓝短条,或打开右栏「标记」页签点对应条目。

可为单条标记在短条右键菜单里「重命名名称」,或在面板中用 ✎ 写备注(例如记录「这里为什么要 -1」)。

适用场景与注意

适合:在同一 DSH 会话里做代码阅读、复习、排错,需要反复回到某段实现或某句解释,又不想把上下文复制到外部工具的场景。

限制(README 已列):

  • 折叠的过程组需先展开才能选中;原文被大幅改写后可能只能定位到消息,高亮可能对不上,面板会提示。
  • 仅支持 assistant-step 回答;工具调用、终端输出暂不支持。
  • 标记仅存本机浏览器,不跨设备,无导出/导入。
  • 跳转使用程序化滚动,会暂停「跟随最新」。

安全与信任:插件以当前 DSH 进程/浏览器环境运行,安装前请查看 源码 与 LICENSE(MIT)。社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。

卸载:DSH 设置 → 插件 → dsh-code-marks 停用或卸载;localStorage 中的标记数据仍保留,重装后可恢复。

结尾

dsh-code-marks 把「选中 → 打标签 → 精确跳回」收进 DSH 对话界面本身,标记与 transcript 分离,适合长会话里锚定关键代码与句子。目录页:https://www.skillhub.cn/plugins/petex7238/DSH-Tag-Plugin;仓库:https://github.com/petex7238/DSH-Tag-Plugin。

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

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

Xiaoye