jiangnan-awa/dsh-user-message-jump ↗★ 0
dsh-user-message-jump
DSH Web 客户端插件:在会话左侧显示用户消息快速跳转竖带(类 Codex 会话目录)。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗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 -
让 DSH 主机加载该包:把本包放入主机可解析的模块路径(例如主机目录下的
node_modules或插件目录),确保其成为 cordis loader 的一个入口(标准 cordis 插件加载方式),并确认package.json中的dsh.client声明(platform: "web")与exports["./client"]指向的 bundle 存在。 -
重启 DSH;Web 端会通过
dsh.client扫描把本包编入启动图(/plugins//client.js?rev=),刷新页面后生效。
要求
- DSH 版本支持 web 客户端模块系统(
dsh.client/window.__ModuleLoader__); - 运行环境包含
react(seed 模块)与声明conversation.session.header.actions槽位的会话 UI 包(DSH 自带)。
开发
├── package.json # dsh.client 声明 + exports["./client"]
├── 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 插件开发文档。