DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Plugin Question Index — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-plugin-question-index

Plugin Question Index

问题索引:在主聊天区左缘用一组轻量横线表示当前会话的全部提问;悬停显示可滚动的原文浮层,点击自动定位。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:antlordGit/dsh-plugin-question-index#d050698fd1a4c2f83e57fb11d59645a48105d173
README兼容性版本

兼容性与来源证明

Plugin Question Index 以 dsh-plugin-question-index 发布,当前版本为 0.1.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/1

版本

0.1.2stable
2026/9/1
0.1.1stable
2026/8/31
0.1.0stable
2026/8/29

相关插件

正在加载相关插件…

最新版
0.1.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/3
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。

README

dsh-plugin-question-index · 问题索引

一个 DeepSeek Harness (DSH) 的 Client UI 插件:以主聊天区左缘的问题刻度轨道展示当前会话的问题索引。 点击任一提问,聊天内容自动平滑滚动定位到该提问所在的位置。

![slot] 本插件只做加法:注册 shell.overlay(全局浮层)的一个列表条目,不替换任何产品 UI; 样式引用 --dsw-alias-* 主题令牌,明暗主题自动适配。

效果展示

主聊天区左缘按问题数量显示一列细横线。鼠标移入某条横线时,该线延长并在右侧浮层显示完整问题原文;点击后,会话内容自动滚动到对应消息。

问题索引刻度轨道与问题原文浮层

功能

  • 问题刻度:固定在主聊天区左缘,每个用户问题对应一条短横线,无按钮或弹框外观
  • 仅对话可见:只在「对话」Tab 展示,切换到「轨迹」等其他页签时自动隐藏
  • 原文浮层:鼠标移入某条横线时,该线平滑延长,并在右侧显示完整问题原文
  • 索引:按顺序列出当前会话全部提问(含运行中插话发送的「插话」,带角标)
  • 轨道内滚动:问题较多时轨道可独立滚动,不撑爆页面
  • 原文滚动:问题内容较长时,原文浮层可独立滚动阅读
  • 点击定位:点击问题 → 聊天内容平滑滚动到该提问所在行(约视口上方 1/4 处); 若当前停在轨迹等其他视图,先自动切回「对话」再滚动
  • 键盘访问:Tab 聚焦横线后显示摘要,Enter / Space 定位到对应问题

实现要点(对齐市场插件的开发方式)

关注点做法
界面挂载slots.inject('shell.overlay', …) + slots.register,增量槽位,随 Fiber 卸载
浮层托管根节点 pointer-events:none(浮层容器规则),仅面板/按钮恢复 pointer-events:auto
数据来源useSessions(s => s.current) → sessions.binding(id).session(SessionFace 的 getSnapshot()/subscribe()),零 Host RPC、零持久化
跳转锚点聊天节点 key = 行上的 data-chat-anchor-key(产品滚动恢复用同一契约)
视图切换头部 [role="tablist"] 第一个标签按钮(「对话」order 0),仅 aria-selected !== 'true' 时点击
延时轮询timer 服务(ctx.get('timer')),80ms × 25 次上限,连续点击自动取消上一轮询链
样式插件自有样式:动态环境用 styles.insert,静态装载降级为 <style data-plugin> 标签

框架没有公开的跨视图滚动 API(活动视图 id 在会话包的私有 store 里),所以「切视图 + 滚动定位」 用了轻量 DOM 桥接(只读产品自己的锚点属性),全程 typeof document 守卫,找不到元素即静默降级。 消息太旧未被加载进当前渲染窗口时,约 2 秒内找不到锚点会自动放弃。

工程结构

question-index/
├── package.json            # 双面清单:dsh.bundle.patch + dsh.client + ./client 导出
├── src/client.js           # 浏览器端功能源码(ESM)
├── src/index.js            # Host 装载载体(纯客户端插件,空 apply)
├── scripts/build-client.mjs# 构建:src/client.js → lib/client.js(lazy-CJS bundle)
├── cordis.patch.yml        # 包自带组合补丁(dsh.bundle.patch 层,insert 本插件行)
├── lib/                    # 构建产物(发布内容)
└── README.md

构建与验证:

node scripts/build-client.mjs   # 产出 lib/client.js + lib/index.js

安装方式

本包是「双面自挂载」形态:dsh.client.platform: 'web' 让宿主自动服务浏览器 bundle, dsh.bundle.patch 让包自带组合补丁——装上即挂载,无需手改 profile 文件。

方式一:从 GitHub 在线安装

dsh plugin --profile web add github:antlordGit/dsh-plugin-question-index

命令会安装包、把包名追加进 profile 的 dsh.profile.bundles、合入自带的 cordis.patch.yml(单条 insert),重启/热重载后生效。

方式二:下载源码后安装

打开 GitHub 仓库,点击 Code → Download ZIP,解压后进入源码目录:

cd /你的路径/dsh-plugin-question-index
npm install
npm run build
dsh plugin --profile web add "$(pwd)"

两种方式任选其一。安装完成后重启 dsh web(或等待补丁层热重载),任意会话右上角会出现 「问题索引」悬浮面板。

React 不需要安装:客户端 bundle 里的 require("react") 由 DSH shell 的模块表提供。

契约依赖(版本敏感点)

  • shell.overlay:全局浮层(列表条目 {id, order, label};容器 pointer-events:none, 直接子元素恢复交互)
  • sessions 服务:binding(id) → SessionFace(ObservableSnapshot<ConversationSnapshot>)
  • useSessions:全局标准 props,SessionListState.current 为当前会话 id
  • 聊天行:data-chat-anchor-key / 滚动容器:data-conversation-scroll
  • 会话头部:[role="tablist"] + button[role="tab"][aria-selected]
  • 主题令牌:--dsw-alias-bg-overlay、--dsw-alias-bg-layer-1/2、--dsw-alias-border-l1/l2、 --dsw-alias-brand-primary、--dsw-alias-label-primary/secondary

这些是当前 DSH 版本的运行时契约;升级 DSH 后如有变化,优先核对上表。