dsh-at-file
FSMargoo/dsh-at-fileCodex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
会话内轮次导航视频进度条:全图分段、悬停富元信息卡(工具/文件/token)、拖动 scrub、⌘K 全会话搜索、⌘↑/⌘↓ 逐轮跳转、Esc 返回原位——基于会话事件日志,超出已加载窗口仍可用。
给你的 agent 会话装上一条视频进度条。
长会话用起来很爽,直到你想找回"80 轮之前提过的那条要求"。这时候原生滚动条只会让你瞎猜。
dsh-turnbar 给 DeepSeek Harness 的对话区加了一条视频播放器式的进度条:悬停就能预览任何一轮、
按住拖动扫过全部轮次、点一下直接跳过去、Esc 一键回到原位。
三条路,任选其一:
① 插件市场(最省事):dsh 里打开 dshmarket 市场,搜「turnbar」一键安装。
② 命令行:打开 Mac 的「终端」App(Terminal.app),粘贴:
dsh plugin --profile web add dsh-turnbar
注意:这条命令要在终端 App 里运行,不是在 dsh 的聊天框里。如果你的终端不认识
dsh 这个命令(输入 dsh --version 提示 command not found,说明 dsh 不是全局安装的,
比如你一直用桌面版或让 AI 帮你启动),先跑:
npm install -g @deepseek-ai/dsh
③ 让 AI 帮你装:直接对你的 AI 说"帮我装 dsh-turnbar",它会执行上面的命令—— 和你之前装其他插件的方式一样。
装完重启 dsh 生效。零配置,历史会话自动回填,进度条永远显示完整会话。
⌘K 都能唤起。搜你说过的,也搜 agent
说过的,覆盖整个会话(包括没加载出来的历史);结果带计数,↑↓ 选择时自动滚进
视野,回车直接落到进度条上。结果还会直接画在进度条上——命中的轮次泛琥珀色,
搜「TypeScript」一眼就能看到它在会话里的分布(v0.3)。/goal 轮在条上标出细刻度线,长会话因此有了看得见的"里程碑",
不需要任何手工记账(v0.3)。⌘/Alt + 点某一段,打开官方 Trajectory 视图并滚到该轮
那一行、居中高亮;轨迹视图不可用时自动回落为普通会话内跳转(v0.3)。⌘↑ / ⌘↓:从你正在读的位置逐轮上下走,空轮自动跳过。Esc(或点左下角提示条)精确回到跳转前的位置。轮次导航这块很快就挤满了:dsh 从 0.1.2 起自带一条原生轮次轨道,社区又给它挂上了
二十来种预览、搜索和收藏插件。但它们几乎清一色是"轨 / 抽屉 / 点链":给你一串消息让你点。
dsh-turnbar 是唯一做成播放器形态的——整个会话就是一条常驻的全宽进度条,和原生轨道
并排存在,而不是取代它。
悬停预览和点击跳转如今已是标配,所以下表只留能拉开差距的项——以及我们落后的那几行:
| dsh-turnbar | 原生轨道 | dsh-milestone | dsh-message-rail | dsh-jumpbar | dsh-codex-timeline | dsh-navbar | |
|---|---|---|---|---|---|---|---|
| 形态 | 全宽进度条(底部 dock) | 官方内置竖向轨 | 右侧圆点时间线 | 左侧导航轨(Codex 风格) | 右缘 minimap 条带 | 增强原生轨道 | 右缘节点串 |
| 整个会话一屏可见 | ✅ 一条条全览 | ❌ | ⚠️ 圆点 + 另开会话全表 | ⚠️ 全量索引,点击逐页加载 | ⚠️ 消息 minimap | ❌ | ❌ |
| 拖动 scrub | ✅ 在全宽条上拖 | ❌ | ⚠️ 滚轮在圆点上滑动选中 | ❌ | ✅ 在条带上拖 | ❌ | ❌ |
| 悬停卡:工具 / 文件 / 上下文 | ✅ | ❌ 只有「第 N 轮」 | ❌ 时间·用时·TTFT·token | ❌ 文本 + 时间 | ❌ 文本 | ❌ 内容·时间·token | ❌ |
| 上下文余量仪表(窗口占用,80/95% 告警) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
章节刻度(/goal 里程碑) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 搜索命中直接画在条上 | ✅ 琥珀段,全景保留 | ❌ | ⚠️ 过滤圆点(非命中即隐藏) | ❌ | ❌ | ⚠️ 结果列表 | ❌ |
| 跨会话搜索 / 书签 | ❌ | ❌ | ✅ 两者都有 | ❌ | ❌ | ⚠️ 收藏 | ❌ |
跳转后 Esc 回原位 | ✅ | ❌ | ❌ Esc 是清空搜索框 | ❌ | ❌ | ❌ | ❌ |
| 升级 dsh 不破 | ✅ 官方插槽,两代持久化 | —— 它本体 | ✅ | ✅ | ✅ | ❌ 只支持 0.1.2-alpha.3 | ✅ |
有话直说:跨会话搜索和 #msg= 书签深链是
dsh-milestone 的,
我们还没有;轨迹视图跳转与
dsh-chat-outline 共有。
仍然只此一家的:全宽条这个形态本身、上下文余量仪表、/goal 章节刻度、以及
Esc 回原位。它们都是 MIT 协议、各有各的好——dsh-turnbar 只是在"手感"上走得更远:
它是播放器,不是列表。 想搭配使用的话见下面。
这个插件踩在别人验证过的路上,特此感谢:
PLUGIN_DEV_NOTES.md;已在 dsh 0.1.5-rc.1(web profile,句柄制持久化 open/read/close)与
0.1.0-rc.7(一步式 inspect/readRaw 持久化)实测。两代持久化运行时自动
探测,历史回填两代都通。挂在官方 web UI 的 conversation.composer.dock
插槽上,无 patch、无 UI hack——这正是要点:升级 dsh 不需要先卸载
dsh-turnbar。挂得更深的插件要为此付代价:
dsh-codex-timeline 现在改为
增强官方轨道,并且只支持某一个 dsh 版本(0.1.2-alpha.3),README 里挂着版本
对照表和按版本安装的包。取舍不同,直说无妨。
和其他占用同一 composer.dock 插槽的插件
(dsh-web-ui-all
及其内含的 dsh-live-stats / dsh-aionui-panel)可以同槽共存:内置的共存 CSS
层(v0.2.2+)把 dock 强制成可换行的行排,进度条永远独占自己一整行,官方
统计行靠在任意第三方条目旁,进度条绝不被挤扁。单轮会话现在也显示一条
1 段进度条(只有全新的 0 轮会话保持隐藏)。
| dsh 版本 | 状态 |
|---|---|
| 0.1.5+(web,句柄制持久化) | ✅ 全功能 |
| 0.1.0-rc.5 – 0.1.1-rc.x(web,inspect/readRaw) | ✅ 全功能(旧链) |
| 更旧 / 非 web profile | 插件保持惰性,什么都不破坏 |
/goal)、书签、trajectory ↔ 聊天往返打磨。pnpm install
pnpm test # vitest:fold 逻辑、卡片模型、host 半区降级
pnpm build # tsdown:lib/index.mjs(node 半区)+ lib/client.js(web 半区)
架构:双半区插件——node 半区把 session/event firehose 折叠成轮次记录(sidecar 持久化),
经 /plugins/dsh-turnbar/state 提供给浏览器;web 半区把进度条渲染进官方 composer dock 插槽。
所有 dsh API 接触面收敛在 src/platform/dsh/。
如果 dsh-turnbar 让你的长会话好用了,去 GitHub 点个 ⭐,能帮更多 dsh 用户发现它。
MIT。