按关键词搜索历史会话正文并直达命中文字
29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add chopperH0824/dsh-session-search-bar该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · search
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求client.js:586
return fetch(API_PATH, {
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 会话搜索栏插件:按关键词搜索历史会话的消息正文,点结果直接定位到命中文字。
README
由 DeepSeek 最新模型翻译生成会话搜索栏 · dsh-session-search-bar
DeepSeek Harness 插件:一个常驻在对话页顶部的搜索栏。输入关键词即可搜索所有历史会话的 消息正文,结果就地弹在输入框下方;点击结果会打开对应会话,并把对话滚动到命中的那段文字。
A persistent session search bar for DeepSeek Harness: keyword-search message bodies across past
sessions and jump straight to the matched text — no separate panel, no full-text index maintenance.
安装
macOS Desktop 自带 CLI
"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
plugin --profile desktop add dsh-session-search-bar@1.0.0
展开完整文档(README 剩余 1 节)
会话搜索栏 · dsh-session-search-bar
DeepSeek Harness 插件:一个常驻在对话页顶部的搜索栏。输入关键词即可搜索所有历史会话的 消息正文,结果就地弹在输入框下方;点击结果会打开对应会话,并把对话滚动到命中的那段文字。
A persistent session search bar for DeepSeek Harness: keyword-search message bodies across past
sessions and jump straight to the matched text — no separate panel, no full-text index maintenance.
安装
macOS Desktop 自带 CLI
"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
plugin --profile desktop add dsh-session-search-bar@1.0.0
把 dsh-session-search-bar 加入 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles,然后完全退出并重启 DeepSeek Harness。
本地开发 / tarball:
npm pack
dsh plugin --profile desktop add /absolute/path/to/dsh-session-search-bar-1.0.0.tgz
要求:Node.js ≥ 20,DSH 0.2.x(Web GUI)。插件无第三方运行时依赖、无构建步骤。
使用
- 对话页顶部、会话标题左侧有一个常驻搜索框(放大镜 +「搜索历史会话…」),点进去直接输入,不需要打开任何独立面板。
- 输入后 200ms 自动搜索,结果显示在输入框下方的浮层里:会话标题、工作区、相对时间、命中片段(关键词高亮)、来源(正文 / 工具 / 标题)。
- 默认只搜索消息正文:用户消息本身就是正文;assistant 消息会过滤掉
「工具调用参数」形态的命中(bash {"command":...}、JSON/转义片段等),
工具输出(tool/result)、文件/附件块、reasoning 默认都不参与。
点浮层顶部的「包含工具输出」chip 后,才会一并搜索 tool/call、tool/result 以及 assistant 消息里的工具调用参数。过滤在 Host 侧按片段特征完成,不额外读会话日志。
- 片段以纯文本展示:会先去掉 Markdown / JSON 格式字符(**、反引号、# 标题、表格 |、链接/图片语法、花括号、字面 \n \" 转义、零宽字符等),再压掉多余空白,便于直接核对关键词是否命中。
- 浮层顶部可以切换「包含工具输出」和「工作区」筛选;右侧显示「找到 N 个会话 · X ms」。
- 点击某行:打开该会话,并把对话区滚动到命中的那段文字、用系统选中高亮它(2.4s);目标是一个超长轮次/超长消息时也不会只停在轮次中间。
- 某会话有多处命中时,行右侧「N 处匹配 ›」可展开其余命中(展开时才向 Host 请求,不拖慢首屏);点击展开里的某条 = 直接定位到那一条。
- 焦点在空输入框时显示最近搜索(localStorage,最多 8 条)。
- 键盘:↑/↓ 选择、Enter 打开、Esc 关闭浮层/清空;点击浮层外部关闭。
性能(本机实测,13~20 个会话命中)
| 操作 | 耗时 |
| 正文搜索(新关键词) | ~0.8–2 s |
| 同一查询重复(15s 结果缓存) | < 100 ms(cached:true) |
| 勾选「包含工具输出」后的搜索 | ~0.3–1 s |
| 展开某会话的多处命中 | ~330 ms(之后 60s 缓存) |
| 点击结果取命中轮次(locate) | 0 ms(turn 缓存命中时) |
延迟主要来自 FTS 索引对「正在写入的当前会话」的 reconcile:搜索发生在一个很大的 live 会话里时每次都要重新索引它;在其它会话/空闲时通常更快。
应用启动/插件重载后,Host 会在空闲约 2.5s 时后台预热索引,把首次构建(数秒)挪到空闲时;用户第一次搜索通常不用再等构建。
工作原理
浏览器 (client.js) Host (index.js)
conversation.header.leading 常驻搜索栏 ctx.webServer 路由 search ── POST {action:'search'} ──────► listSessions(15s 可见性缓存) expand ── POST {action:'expand'} ──────► searchSessions 一次(≤2 页) locate ── POST {action:'locate'} ──────► searchEvents / readSession(按需)
uiWorkspace.openSession(id) title / turn / 多命中只在 expand/locate 时读
轮询 [data-conversation-session] [data-chat-turn] → 滚动 + 高亮
- 首屏 search 只调用一次 searchSessions(每次索引调用都会触发一次 reconcile,这是旧版慢的根因);标题由浏览器端 sessions 快照补齐,轮次在点击时才用 locate 算。
- 搜索走后端 @deepseek-ai/dsh-session-query。本插件在补丁里自带一个隔离的 session-query-sqlite 索引(path: ':memory:'、openAt: first-search),因为 profile 默认挂载的索引被上层配置成 openAt: never(内置侧栏的内容搜索因此只匹配标题)。索引纯内存、随插件卸载释放,不写磁盘。
- 只有当前工作区可见、非子代理的会话会出现在结果里。
- 定位依赖宿主对话行的 data-chat-turn 与容器 data-conversation-session;目标轮次太旧时会先用 loadThrough(seq) 把历史拉起来。9 秒内没找到就只提示、不阻断打开会话。
- Host 路由和其它本地插件路由一样只绑定 loopback;它返回会话消息内容,请按本地文件的信任级别对待(不要在不可信的本机环境里暴露 DSH 端口)。
已知限制
- 搜索栏位于对话页头部:切到 Plugins / Settings 等非对话面板时不显示(回到对话页即恢复)。
- 首屏标题靠浏览器端会话快照补齐;不在任何已注册工作区里的历史会话会显示「未命名会话」。
- 正文模式下,如果 assistant 在消息正文里写了文件名/路径(例如交付物清单、Markdown 链接),它仍会被搜到——那是真正的正文文本,不是工具输出。
- assistant 正文过滤是片段特征启发式:极少数没有 JSON/转义痕迹的工具参数片段可能漏过;若发现漏网的工具输出,可以改成读日志的严格校验(会慢一些)。
- search 结果缓存 15s、展开缓存 60s、turn 缓存 60s:这期间新消息/新会话可能不会立刻出现。
- 定位是「尽力而为」:命中文字在折叠的工具调用分组里、或宿主未来改掉 data-chat-turn / data-conversation-session 属性时,会退化为滚动到该消息行/轮次,仍不会阻断打开会话。
- 索引为内存索引:应用重启后第一次搜索需要重建(已用后台预热尽量掩盖)。
- 搜索按 FTS token/phrase 匹配(不是任意子串匹配):AI 不会命中 BRAID。
开发
- index.js / client.js 均为普通 ESM / 浏览器 JS,无构建步骤、无第三方依赖。
- SPEC-v2.md 是当前接口契约与 UI 规范;SPEC.md 是 v1 历史版本。
- 语法与打包检查:npm run check、npm run pack:check。
License
MIT © chopperH0824预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
chopperH0824/dsh-session-search-bar
按关键词搜索历史会话正文并直达命中文字
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,161已汉化DSH
72.1
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,195已汉化DSH
71.2
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 694已汉化DSH
69.7
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 509已汉化MCP
67.9
AnySearch 搜索插件anysearch-team/anysearch-dsh
AnySearch 网页搜索服务商,为 DeepSeek Harness(DSH)提供高级搜索工具
★ 457已汉化DSH
66.6