READMESource: master@09624eb4
dsh-user-message-jump
DSH(DeepSeek Harness)Web 客户端插件:在会话左侧显示用户消息快速跳转竖带,参考 Codex 会话左侧的目录导航。
效果
- 会话区左缘出现一条约 14px 宽的竖带,每条短横线代表一条用户消息(普通
user消息 + 运行中插入的steering消息),从上到下按时间排列; - 悬停:横线平滑变长(12px → 36px)并变为品牌色,右侧弹出气泡显示消息文本预览(最多 3 行)与发送时间;
- 点击:会话滚动到对应消息(顶部留 12px 空隙),该消息行以品牌色描边高亮约 1.2 秒,对应横线保持高亮标记;
- 横线之间为无缝命中区(每个命中区 8px 高),鼠标在相邻横线间移动不会「选空」;竖带空白处点击穿透,不遮挡会话内容;
- 无用户消息时自动隐藏;支持键盘操作(Tab 聚焦 + Enter/Space 跳转)。
安装
构建(仓库已提交
lib/client.js,可直接使用;如需修改源码请先构建):npm run build安装并装载(官方 bundle 通道):
本包声明了
dsh.bundle(cordis.patch.yml包级补丁层),可通过 DSH 官方安装命令直接装进 profile 的 bundle 栈:dsh plugin --profile <name> add dsh-user-message-jump等价于在 profile 的
cordis.patch.yml手工挂载:- insert: - id: user-message-jump name: dsh-user-message-jump若 profile 里已有上面的手工挂载行,改用 bundle 通道前请删除它,避免双挂载。
重启 DSH;Web 端会通过
dsh.client扫描把本包编入启动图(/plugins/<name>/client.js?rev=<hash>),刷新页面后生效。
要求
- DSH 版本支持 web 客户端模块系统(
dsh.client/window.__ModuleLoader__); - 运行环境包含
react(seed 模块)与声明conversation.session.header.actions槽位的会话 UI 包(DSH 自带)。
开发
├── package.json # dsh.bundle 声明(cordis.patch.yml 补丁层)+ dsh.client 声明 + exports["./client"]
├── cordis.patch.yml # dsh.bundle.patch 包级补丁层(一行 insert)
├── src/
│ ├── client.js # 插件源码(纯 JS,createPlugin(React) 工厂)
│ └── style.css # 竖带样式(仅使用 DSH 主题 token)
├── scripts/
│ └── build.mjs # 打包为 window.__ModuleLoader__.load 格式
├── lib/
│ └── client.js # 构建产物(已提交,扫描时需要存在)
└── README.md
- 修改源码后执行
npm run build重新生成lib/client.js(带内容哈希 rev,页面自动取新包)。 - 样式仅使用 DSH 主题 token(如
--dsw-alias-bg-overlay、--dsw-alias-brand-primary),跟随亮/暗主题。
作为动态 Cordis 插件使用(免安装)
在 DSH 会话中也可用动态 Cordis 插件方式临时加载同一功能(代码形态略有差异:CSS 用 styles.insert,定时器走 ctx.timer(inject: ['timer']),无需 __ModuleLoader__ 包装),详见 DSH 的 cordis 插件开发文档。
No comments yet. Be the first to write one.