dsh-question-history
Verifieddsh-question-history · v0.1.4 · MIT · Web UI
DeepSeek Harness plugin: a question navigator for chat — a dash column on the right edge (one dash per question you asked); hover or click to browse your question history, click to jump back to the original message.
Install
dsh plugin add dsh-question-history Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Published to npm without a public repository. Inspect the package contents before installing.
Tags
Creators
Readme
dsh-question-history
DeepSeek Harness 的「对话历史提问导航」插件。
dsh-question-history 是一个 DeepSeek Harness 的对话历史提问导航插件: 在对话页右侧展示一列安静的短横线,每条对应你在当前对话中发送的一个问题。 悬停或点击横线,展开提问历史面板;点击任意问题,平滑滚动到对话中该问题 的原始位置并短暂高亮。滚动对话时,最接近可视区域中心的问题会自动成为 「当前问题」,横线与面板高亮实时同步。支持深色模式、响应式布局与键盘操作, 纯客户端实现,无需任何配置。
收起时是右侧中部的一列短横线(当前问题为深色); 展开时是一块简洁的白色(或深色)面板,列出全部提问,当前阅读中的问题自动高亮。
功能
- 只收集当前对话中用户发送的问题,不显示 AI 回答,按发送顺序排列
- 发送新问题、切换对话后自动更新(监听 DOM 变化)
- 点击问题 → 平滑滚动到原始消息(目标居中)→ 约 1 秒轻微高亮(不改变消息尺寸、不抖动)
- 滚动对话时,最接近可视区域中心的问题自动成为「当前问题」,收起态的深色横线与展开态的高亮列表项保持同步
- 支持中文 / 英文 / 代码 / 公式 / 多行文本 / 图片 / 文件消息;长问题单行省略号显示
- 面板内部滚动;支持 hover / 点击展开、点击外部或 Esc 收起、键盘 Tab + Enter / 空格跳转
- 深色模式自动适配;响应式(窄屏不超出视口);160ms 克制动画(透明度 + 轻微位移)
安装
第一步,交给你的 AI。 把下面这一行发给你的 AI 助手:
请按照 https://github.com/wjlzqhh/dsh-question-history/blob/main/INSTALL.md 安装 dsh-question-history,然后验证效果并告诉我结果。
安装流程只有一个命令:零配置、无引擎、无 API key,也无需改任何 dsh 设置(分步说明与故障排查见 INSTALL.md,为 AI 助手编写的指令式文档)。
第二步,或者自己动手。 不打算委托给 AI 的话,直接执行:
npx -y @deepseek-ai/dsh plugin --profile web add dsh-question-history
重启 dsh(桌面应用完全退出重开,或 Web 页面刷新)后生效,安装后无需任何配置。卸载同样是这一条命令:
npx -y @deepseek-ai/dsh plugin --profile web remove dsh-question-history
使用
- 打开任意对话,右侧中部出现一列短横线,每条对应一个问题
- 当前阅读位置对应的问题,其横线为深色(深色模式下为白色)
- 鼠标移入或点击横线区域,展开历史提问面板
- 点击任意问题,跳转到对话中对应位置并短暂高亮
- 鼠标移出组件约 180ms 后收起;或点击面板外部 / 按 Esc 收起
开发
# 本地调试:直接以 file: 方式装入 web profile
npx -y @deepseek-ai/dsh plugin --profile web add "file:$(pwd)"
代码结构:
dsh/index.js— cordis 入口(占位)。该插件是纯客户端实现,服务端不承担任何逻辑; 此入口仅用于让 dsh 的 client-module 扫描器发现浏览器端脚本dsh/client.js— 浏览器端全部逻辑:扫描对话 DOM、渲染横线与面板、滚动跟踪、 跳转高亮、主题与响应式
技术说明
- 数据来源是渲染后的对话 DOM:用户消息节点为
[data-chat-flow-kind="user"],对话滚动容器为[data-conversation-scroll]。 插件不做任何会话日志解析、不访问服务端数据、不需要会话 ID。 - 使用 Shadow DOM 隔离样式,不污染 dsh 界面;对 dsh 自身 DOM 的唯一改动是
跳转时对目标消息的临时
outline高亮(1 秒后自动移除)。 - 深色模式通过监听
<body>的data-ds-dark-theme属性自动切换。 - 依赖 dsh Web 界面的稳定 DOM 标记(
data-chat-flow-kind/data-conversation-scroll);若 dsh 后续版本改动这些标记,插件会静默失效 (不显示横线),不会影响 dsh 本身的运行。
已知限制
- 仅针对 Web 界面(
dsh web),桌面端 / 终端界面不受支持 - 若 dsh 更新了消息节点 DOM 标记,需要同步更新选择器
- 「右侧存在其他面板时自动避让」为后续版本计划项,当前版本未实现
License
MIT