# 兼容性、限制与升级 0.2.0-beta.3,包标识 dsh-sensenzi-conversation-search。下列支持范围和实测边界不代表所有设备或市场审核通过。 ## 宿主与安装方式 目标是 **DSH 0.2.1-rc.2 或 0.2.1-rc.3、Node.js 24+**。engine 与三个 peer 使用两个精确版本的并集 `0.2.1-rc.2 || 0.2.1-rc.3`,不扩展到未来版本。beta.2 继续供 rc.2 使用,beta.1 对应 0.2.0-rc.2。beta.3 通过 GitHub Release 提供精确离线包,尚未发布 npm。 本轮验收目标为两个精确官方宿主下的隔离 CLI 安装、实际 Loader/Gateway/浏览器模块合成往返,以及 Unicode 和异常隐私回归;最终是否通过以该 Release 的验证说明为准。合成会话、传输和槽位不等于已登录 GUI、真实落盘日志、Linux/macOS、全面非所有者访问控制或市场验收。本轮不安装到作者现用 profile、不启动另一网页 Host。 新版宿主的访问控制仍由宿主负责。本版本支持宿主所有者(owner)的本地会话检索;没有声明面向非所有者远程身份的会话级授权支持。现有请求字段不构成新版宿主的资源读取声明,宿主可能将此 RPC 视为全局访问;不要为了让受限身份调用成功而授予全局权限。此版本没有新增权限豁免或绕过访问控制。 Host 与客户端必须来自同一版本的完整插件包。插件由 DSH profile Loader 加载,并通过宿主的客户端模块图进入 Web 界面;直接打开普通网页、单独运行 Vite 页面或普通 Node 导入不是受支持的使用方式。宿主提供 React 和 DSH 运行时依赖,不应为此捆绑第二套宿主。包内 peer 声明用于 DSH 的版本准入检查,可选 peer 不代表宿主可以缺少运行时服务。 本项目包标识 dsh-sensenzi-conversation-search,与仓库名称不同;dsh-conversation-search 的 npm 包属于其他项目。原名称私有 beta 的本机真实 GUI 核心检查与新名称的同包离线/合成运行检查分别记录,不能互相替代。历史 beta.2 在 rc.2 的本机检索/原文详情曾实测;这不能替代 beta.3 在 rc.3 的真实 GUI 验收。 ## 升级和回退 旧本地版和本候选使用同一 RPC 服务及原文检索视图入口,不支持同时启用;换成不同 npm 名称也不会自动消除这种冲突。 升级前保留已验证旧包和本插件配置,停用旧 bundle 及其客户端。安装时保持 Host/客户端同版,使用 DSH 官方插件管理方式;不要将新客户端接到旧 Host 实现。启用后先用不含敏感信息的已知样例检查检索、打开原文、取消、清除和定位回退。 需要回退时停用新版,再恢复适配当前 DSH 的旧包及本插件所属配置。插件不改写或迁移聊天记录;回退也不需要覆盖整份共享 profile,不应撤回其他插件的并行配置变化。原名称私有 beta 已在本机从旧版切换并实测;本轮 beta.3 不部署到现用环境,生产回退不在本轮执行。 ## 搜索范围与资源上限 搜索按已落盘文本做字面匹配,不是语义搜索、正则输入、OCR、身份验证或全库首次出现证明。普通工作区会话按目录标识完全相同来分组,不递归扫描目录。打开面板不会启动后台扫描。 | 限制 | 当前值与含义 | | --- | --- | | Host 搜索/详情并行操作 | 最多 2 个;并行达到上限时提示稍后重试。 | | 会话批次 | 每批最多 100 个会话,最多显示 200 条匹配记录;下一批独立扫描和排序,替换当前列表。 | | 查询长度 | 最多 200 个 UTF-16 单位;不是 200 个 emoji。 | | 单会话日志 | 最多 200,000 个事件;超过时本会话读取失败并提示,不按无命中处理。 | | 所选正文扫描 | 每事件最多 2,000,000 个 UTF-16 单位,每会话合计最多 16,000,000;未选工具/历史正文不计入文本扫描预算。 | | 单记录匹配次数 | 非重叠匹配最多计 1,000 次,达到时显示“至少 1000”。 | | 原文与上下文 | 每段原文最多 16,000 个 UTF-16 单位,上下文各条最多预览 3,000,前后各最多两条可检索消息。 | | 浏览器面板缓存 | 内存中至多 6 个会话;关闭面板不会立即清空,刷新或卸载会清空插件缓存。 | 宿主冷观测先读取完整日志,官方同步分类也可能短暂阻塞事件循环;上述扫描预算不保证硬 IO、峰值内存或总响应时间。缩短关键词不会减少为确认来源和判断预算所需的日志读取。 分批游标绑定目录与检索条件;目录变化需要从首批重新查。它不冻结所有会话内容,各批可能读取到不同时间落盘的记录,不能据此断言整个范围内最早的一次出现。 ## Unicode 与原文窗口 查询前后的空格参与字面匹配,不会自动删除;正则标点按普通文字搜索。长度、偏移和来源窗口按 UTF-16 单位计算,保持原文字符,不做重音、全角、组合形式或字素归一。默认使用 Unicode 简单大小写折叠;`é` 与分解形式、`ß` 与 `ss` 不会因此自动相等。 分段切点避免拆开已有合法代理对,但不保证组合字素整体不被分段;原文已有的孤立代理字符原样保留。原文页向前按返回的实际窗口继续,反向窗口可能重叠,上一段/下一段不是精确页码逆操作。高亮在当前片段内计算,不能用它重建整条原文的全局匹配位置;跨片段命中可能没有完整高亮。 ## 定位、主题与无障碍 原文详情按准确来源 `sessionId + seq` 从只读服务获取,独立于聊天滚动桥。定位会使用宿主正式的会话导航和历史分页,再通过当前版本的 DOM 标记寻找相关聊天行。工具调用和结果可能共用一行,被替换的内容或仅日志记录不一定有独立聊天行。 定位要求唯一合格的会话根、来源节点和对应 DOM 行,并在异步阶段重核当前会话、Conversation 与 source 身份。歧义、身份更换、内容仍隐藏或布局不兼容时停止并提示使用原文详情。它依赖宿主提供真实、稳定的标记与身份关系,不是原子快照、视觉防伪或恶意宿主 DOM 沙箱;不能回滚已经发生的打开会话、分页或滚动。 界面使用宿主亮/暗主题和窄屏换行,控件有名称,支持键盘操作。主动打开原文后焦点进入详情区域,关闭或在详情内按 Escape 返回打开详情的按钮;入口已失效或未保留时返回检索框。取消/清除返回检索框。偏好减少动态效果时停用闪烁和平滑滚动。已有合成检查不是全面 WCAG、真实辅助技术、操作系统缩放或所有主题布局认证,原私有 beta 已完成真实 GUI 核心操作检查;beta.3 的现用生产部署、rc.3 已登录 GUI、全面辅助技术与故障强制注入仍未实测。 日常使用与常见问题见 [使用说明](<./README.md>);缓存、日志、剪贴板和隐私边界见 [隐私说明](<./PRIVACY.md>)。