dsh-question-history
Đã xác minhdsh-question-history · v0.1.4 · MIT · Giao diện web
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.
Cài đặt
dsh plugin add dsh-question-history Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.
Thẻ
Tác giả
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