前言¶
长会话里想找“第 N 轮说了什么”或“某个助手回复从哪开始”,往往只能来回滚动。sent-msg-locator 是一个 DSH 插件,在对话区左缘提供常驻轮次图标列,把当前会话的轮次变成一个可点击、可悬停查看摘要的导航入口。
这是什么¶
sent-msg-locator 由 ShanHaiFish 维护,许可证为 MIT,定位为纯 Client 插件。它针对“一轮对话 = 用户发送 → 助手完整回复”的边界,在会话界面中显示轮次序号图标,支持点击定位与高亮联动。
包内提供两种形态:
- 静态 bundle:安装后随 profile 层栈自动加载,跨 DSH 进程存续。
- 动态插件回退形态:由
manifest.json与client-source.js构成。
核心功能¶
下面按界面行为说明:
- 对话区左缘常驻一条浮动图标列,每轮一个气泡序号图标。
- 点击图标后,聊天视口平滑滚动到对应轮次开头。
- 当前浏览轮会高亮,图标列自动跟随,使高亮图标可见。
- 会话快照更新时,图标列同步更新;轮次很多时,图标列内部可滚动。
- 悬停图标可看到轮次、时间,以及该轮第一条用户输入文本;超长文本会截断。
- 切换到轨迹视图时,图标列与提示卡自动隐藏,切回后恢复。
- 界面颜色使用主题 CSS 变量,适配浅色/深色。
安装与启用¶
从 npm 安装¶
下面命令把插件安装到 web profile:
dsh plugin --profile web add sent-msg-locator
安装后重启 DSH,打开任意会话,即可在对话区左缘看到图标列并开始使用。
本地目录安装¶
如果使用本地调试副本,路径不能包含空格。已核实资料中的本地安装命令为:
dsh plugin --profile web add file:C:/Users/whaow/.dsh/plugins-dev/sent-msg-locator
该命令依赖具体本机路径,仅适合作为本地安装示例。
动态插件回退形态¶
动态形态每次 DSH 重启后需要重新激活。基本步骤是:
1、读取本目录 client-source.js 的完整内容。
2、调用 cordis_define 注册插件。
3、调用 cordis_run 激活。
典型用法¶
- 需要快速回到某一轮时,点击图标列中对应序号。
- 想确认该轮开头内容时,悬停图标查看第一条用户输入摘要。
- 当前正在滚动阅读时,通过高亮图标判断当前浏览轮。
- 会话分页后,若最旧可见轮显示用户消息尚未加载,点击聊天区“加载更早”,快照更新后文本会显示。
权限与注意¶
sent-msg-locator 是纯 Client 插件,无 Host 能力,即无 RPC / fs / 网络 / spawn。其滚动定位只使用元素级 API:closest、getBoundingClientRect、scrollTo。
安装前应检查源码与许可证。虽然本插件声明为纯 Client 插件,但它仍以当前 dsh 进程权限运行;若对来源或行为有疑虑,先审阅仓库代码再安装。
包声明信息:
{
"dsh.client.platform": "web",
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.1"
}
}
这些字段说明它面向 web profile,并依赖 Cordis 相关 peer dependency。静态 bundle 安装后需要重启 DSH;动态插件形态每次重启后需重新 cordis_define / cordis_run。
结尾¶
sent-msg-locator 的价值在于把长会话里的轮次导航外显:点击定位、当前轮高亮、悬停摘要,都是围绕“快速回到某一轮”这一件事。
GitHub 仓库:https://github.com/ShanHaiFish/sent-msg-locator。本文未附可核对的目录页链接,可按 sent-msg-locator 名称在社区目录检索。