dsh-at-file
FSMargoo/dsh-at-fileCodex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
DSH Web UI 会话内提问导航:对话栏左/右缘(可在设置中切换)的圆点迷你地图,一个圆点对应一个用户提问——悬停显示全文,点击跳转到该提问。
DeepSeek Harness (DSH) Web GUI 的会话内提问导航插件:在对话栏左侧 内嵌一列竖排的圆点小按钮 —— 每个圆点对应一个用户提问。鼠标悬停圆点会把该圆点 连同其上下各两个圆点一起放大,并弹出竖排的清晰问题卡片显示对应提问的 全文与发出时间(点击任意卡片即可跳转);点击圆点则把对话滚动跳到那一 提问的位置。
它是外部插件 bundle,零运行时依赖 —— 浏览器半区(lib/client.js)把一切
外部化给 DSH 外壳,加载时只往 GUI 里加一个很小的 bundle。
包名:@luziyang2026/dsh-question-nav(npm · GitHub)。
插件设置页(导航条对齐 + 每次翻出数量):
questionIndex 会话投影——投影注册表折叠完整事件日志(只读,对话的
分页窗口完全不被动),官方 projection-cache 跨重启持久化,新提问通过
推送帧实时到达。title 延迟)——窗口内每个圆点一张卡片,上下排布、
互不遮挡,以选中点为中心垂直居中。每张卡片显示该轮提问全文(一轮
多条提问时全部列出)与提问的发出时间(当天 HH:MM,跨天
MM-DD HH:MM,跨年 YYYY-MM-DD HH:MM)。层级采用两档聚焦:
中心卡片是焦点——全对比度文字、品牌色左 accent bar、浮起投影;上下
四张是干净的上下文卡(同背景、更窄、行数更少),hover 时会亮起、
明示它们同样可以点击。点击任意卡片即跳转到对应提问,与点击圆点
效果一致。loadOlder() 扩窗,把那一页
带进视图——绝不会一次性展开整个历史。dsh CLI)。>= 20(与 DSH SDK peer 范围一致)。同一个包名下发布两条版本线,请按你 GUI 所运行的 DSH 构建选择:
| npm dist-tag | 版本 | 适配的 DSH | 状态 |
|---|---|---|---|
latest | 0.7.x | 0.1.1-rc.1 SDK 线 | 稳定版 —— 日常使用推荐 |
alpha | 0.8.0-alpha.x | 0.1.2-alpha.2 SDK 线 | Alpha 版 —— 适配 Alpha GUI |
latest(稳定版):跟随 DSH 稳定版发布线,日常使用安全。0.1.2-alpha.2)? 请改用 alpha dist-tag。
稳定版读取的是 session.getSnapshot().chat 这个 chat 快照 API,它在 Alpha SDK
中已被移除;alpha 版改为通过新的 conversation 服务读取实时对话。若在 Alpha
GUI 上装稳定版,导航条会降级(只剩投影圆点)。dsh --version 看版本号:0.1.1-rc.x
用 latest;0.1.2-alpha.x 用 alpha。从 npm 装预构建包并加进 profile。请使用与你的 DSH 构建匹配的 dist-tag(见上):
稳定版(DSH 0.1.1-rc.1,大多数用户):
dsh plugin --profile web add @luziyang2026/dsh-question-nav # latest → 0.7.x
Alpha 版(DSH 0.1.2-alpha.2 GUI):
dsh plugin --profile web add @luziyang2026/dsh-question-nav@alpha # alpha → 0.8.0-alpha.x
如需锁定具体版本,可显式指定:
dsh plugin --profile web add @luziyang2026/dsh-question-nav@0.7.7 # 稳定版锁版
dsh plugin --profile web add @luziyang2026/dsh-question-nav@0.8.0-alpha.0 # Alpha 锁版
然后重启 DSH Web GUI 以加载新 bundle。
本仓库是独立插件工程 —— 先构建,再作为可安装的 bundle 加进 profile:
pnpm install # 安装 devDependencies(DSH SDK peers、tsdown、vitest)
pnpm build # tsc 声明 + tsdown client bundle -> lib/
dsh plugin --profile web add ./dsh-question-nav
pnpm typecheck # tsc --noEmit
pnpm test # vitest run
pnpm build # 构建 host lib/index.js + client lib/client.js
client 半区使用共享的 DSH client-bundle 预设(tsdown.client.ts,
vendored 到本项目内),产出
window.__ModuleLoader__.load({ id, factory }) 闭包工厂产物,CSS Modules 内联,
externals 经加载器模块表解析。
MIT。