DeepSeek Harness 插件

sensen-jo/dsh-conversation-search

Star 数 ★ 0 分类 会话与消息 收录于 2026-10-22 npm dsh-sensenzi-conversation-search

仅支持 DSH 0.2.0-rc.2 的会话原文检索:在当前会话或同目录工作区搜索用户与助手原文,查看来源坐标和上下文。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-sensenzi-conversation-search

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:sensen-jo/dsh-conversation-search

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

在 DSH 会话里按关键词查找已经落盘的用户、助手原文,并回到准确的来源记录。支持中文连续子串、原句片段高亮、角色和时间标签,以及前后上下文。

0.2.0-beta.1 · 作者 sensenzi · MIT 许可证 · 包标识 dsh-sensenzi-conversation-search · GitHub 仓库。目标环境:DSH 0.2.0-rc.2 / Node.js 24+。

开始检索

  1. 在一个普通工作区会话里打开 原文检索。
  2. 输入记得的连续文字,选择范围和选项,再点击 检索原文。打开面板不会自动扫描。
  3. 在结果中点击 打开原文,核对来源 sessionId + seq、原文及前后各最多两条可检索消息。长原文用 上一段原文/下一段原文 分段读取。
  4. 需要回到聊天位置时,点击 在对话中定位。它会打开来源会话、请求历史分页,并尝试展开和滚动到相关聊天行。布局或来源状态不适合定位时,请继续使用原文详情。

第一次使用时,范围是当前会话、最早优先,包含压缩/替换前原文已开启,工具调用/结果和区分大小写关闭。重新打开面板可能恢复浏览器内存中保存的选项与结果。

选项 实际范围
当前会话 当前普通工作区会话里所选类型的已落盘记录。
当前工作区 工作区目录标识与当前会话完全相同的普通会话;排除子代理和没有工作区目录的会话。不会递归搜索文件夹,也不覆盖全部工作区或整个聊天库。
包含压缩/替换前原文 包含仍可从日志读取的历史原文;不会恢复已经删除或不再可读的记录。分叉继承记录会另作标识。
包含工具调用/结果 额外搜索工具参数与结果。默认关闭,这些文本可能含凭据或个人信息。
英文区分大小写 开启时使用大小写敏感的字面匹配;关闭时使用 Unicode 简单大小写折叠,不是按语言环境做模糊搜索。

修改上方控件后,需要重新点击 检索原文 才会应用。已经显示的列表、原文详情、高亮和 扫描下一批会话 沿用对应检索的条件。

理解结果

结果里的“条匹配记录”按消息记录计数,同一条里的多次出现另列次数。复制来源地址只将来源坐标写入剪贴板,不复制整段正文;它是原始文本,不是可执行命令或已验证网址。

每批按所选的最早/最近顺序排序;同一会话沿用记录顺序或其逆序,跨会话使用经时钟倒退校正的记录时间合并。分批扫描时每批独立排序;“最早优先”不证明全库最早,更不证明真人首发。用户角色也不保证内容由真人输入。

每批最多扫描 100 个会话、显示 200 条匹配记录。结果截断、读取失败或超出预算会显示不完整提示;当前批没有成功扫描的会话时,无法判断是否匹配。出现 扫描下一批会话 表示尚有会话未扫描,下一批会替换当前结果列表,不会补回上一批因 200 条上限而省略的命中。列表截断时,请使用更具体的检索词或缩小范围重新查。

新增/删除可见会话或修改检索条件可能使分批游标失效,此时请从首批重查。即使游标有效,各批也不是同一时刻的不可变历史快照;扫描期间仍可能有新记录落盘。打开原文会按来源坐标重新读取,不是冻结的搜索快照;上下文是前后各最多两条符合本次类型选项的消息,不是完整相邻轮次。

清除、取消与隐私

取消会请求中止当前读取,并阻止其过期响应覆盖后续界面。清除结果会同时取消当前面板操作,清空该会话的结果、原文详情和对应检索状态;它保留输入框里的检索词与当前选项,不会删除聊天记录。

关闭面板会取消面板读取,但不会立即清除已完成的结果。插件在浏览器内存里保留至多 6 个会话的面板状态;可逐会话清除结果,刷新页面或卸载插件会清除这些插件缓存。清除结果不会清理已经复制到系统剪贴板的内容。取消工具勾选也不会撤下已有工具结果,需清除或重新检索。

插件不调用模型、不新增免认证历史接口、不向外部上传会话,也不建立持久索引。查询通过 DSH 现有的认证 RPC 在 Web 界面与 Host 之间传递;远程 Host 部署下,这不等于数据始终留在浏览器所在设备。正文仍可能包含敏感信息,完整说明见 隐私与数据边界。

安装、升级和回退

先核对 支持版本与升级说明。包标识为 dsh-sensenzi-conversation-search,与仓库名不同;dsh-conversation-search 的 npm 包属于其他项目,请核对来源。0.2.0-beta.1 为预发布版本,目标是 DSH 0.2.0-rc.2 / Node.js 24+。

从 npm 安装指定版本:

dsh plugin --profile web add dsh-sensenzi-conversation-search@0.2.0-beta.1

仅在该版本已发布到官方 npm 注册表后可安装;本文档本身不证明发布成功。安装前核对包名、版本、仓库及注册表完整性信息,使用 DSH 官方插件管理界面或上述命令。市场使用不带版本号的命令时,由 npm 的 latest 标签选定版本,仍需确认它是否是 beta。

如使用经过核对的完整离线包,将命令中的包名替换为本地包的完整路径;也可按下面的方法构建。Web profile 可即时重载;启动型 profile 按宿主要求重启。安装时只启用一个原文检索版本。

源码构建时,在仓库根目录使用 Node.js 24+ 运行 node build.mjs --check,然后 npm pack --offline --ignore-scripts --workspaces=false。包没有需要联网安装的运行时依赖,依赖由匹配版本的宿主提供;预先检查生成客户端与包内清单。离线安装/Loader 核验不等于每种 profile 的生产安装验收。

1024 Store 条目已收录仓库;npm 安装入口还取决于平台对已发布包的检测,更新可能晚于注册表。仓库条目、npm 发布和市场可安装是不同状态,请以实际入口和安装结果核对。

未来升级时保留已验证旧包和该插件的配置记录,先停用旧 bundle,再通过 DSH 官方插件管理方式安装并启用同一版本的 Host/客户端包。旧版与新版共用 RPC 服务名和视图入口,不支持同时启用。

升级后用不含隐私的已知样例验证搜索、原文、取消和清除;定位失败时先检查原文详情。需要回退时停用新包,恢复与当前 DSH 版本兼容的旧包及其所属配置。只调整本插件的配置项,避免用旧备份覆盖其他插件的配置;本插件不修改或迁移聊天数据。

常见问题

现象 处理方法
已修改关键词或选项,列表仍显示旧内容 点击 检索原文。控件不会自动重查,原文和下一批仍使用那次检索的条件。
明明记得文字,却没有结果 核对会话范围、是否包含历史/工具文本,以及原文是否已落盘。图片文字、思维链、系统/开发者提示和未落盘流式输出不在范围内。留意读取失败提示。
提示“会话目录或检索条件已变化” 从首批重新检索,不继续使用旧游标。
提示读取失败、超出预算或服务不可用 将该会话视为未完成,稍后重试。关闭不需要的工具/历史正文可能减少文本预算消耗,但不会减少会话事件总数;缩小范围只减少要查的会话,不能使一个超大日志自动符合限制。换更短或更具体的关键词也不会减少匹配前的事件/文本预算。
能打开原文,却不能在对话中定位 原文详情不依赖聊天定位桥。记录可能只在日志里、被折叠/替换,或宿主布局、来源身份不再满足定位条件;以来源坐标和原文详情核对。
清除后搜索框还在,或另一个会话仍有结果 清除只清当前会话的结果和详情,保留检索词与选项。其他会话的插件内存状态分别保留。
复制来源地址失败 浏览器未允许剪贴板访问时,可手动选择显示的来源坐标复制。不要把复制内容当作命令执行。

这是字面检索,不是语义、正则或 OCR 搜索。长度和原文位置按 UTF-16 单位计数;字形相似、组合形式不同的文本可能不匹配,分段高亮也不代表整条原文的全部匹配位置。详见 兼容性与限制。

合成界面示例

以下图片来自经过核对的私有 beta 客户端与检索引擎,在离线 React/Chromium 测试壳中运行的专造事件。图片标明 SYNTHETIC DEMO;没有真实聊天,也不是已登录 Host 截图。更名候选沿用相同实现、改变包身份;图片不能证明新名称包的真实 GUI 验收或市场审核。三张故障图是人工注入的失败/歧义/来源变化演示。

中文检索 · 合成示例

深色原文与上下文 · 合成示例

390px 窄屏 · 合成示例

读取失败提示 · 合成注入

重复来源时停止定位 · 合成注入

来源绑定变化时停止定位 · 合成注入

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。