> ⚠️ **0.18.10 已被 registry 烧号**:npmjs 受理后长期停留在 staged 状态从未提交(读路径 404、重发 `EPUBLISHCONFLICT: previously staged`),版本号永久不可安装——**安装请用 0.18.11**(内容 = 0.18.10 全部 + dock 注册诊断 `__dshBrowserCdpDeco` + locale 补齐 + 点选卡片正则放宽)。0.18.5 同前例。 ## [0.18.19] - 2026-10-03 — 真机反馈⑩:点选特征采集换轨——纯文本链接读元素自身可见文本(同 0.17.23 反向同源) ### 修复(真机:News 这类链接全采成 `a name="" focusable`) - **根因**:`describeNode` 的 name 只从属性取,`News` 的可见文本在 textContent 里,深度 0 不可见——纯文本链接全部 `name=""`。 - **修复**:新增 `readNodeText`(resolveNode + callFunctionOn 读元素自身文本,压空白截 60 字符);pick 链路 name 为空时回退——描述/slug/归档 name 三处同步可辨。 - best-effort:读失败不推翻 pick;有属性名的元素不多读。 ### 验证 - 全测 693 passed / 11 skipped(含 2 条新测试);两套 `tsc` 通过。 ## [0.18.18] - 2026-10-03 — 真机反馈⑨:归档文件名带元素特征 slug(同 0.17.21 反向同源) ### 变更 - **归档文件名换轨**:`picks-<时间戳>.json` → `picks-<首元素特征slug>-<5位base36>.json`——slug 取 describe → name → tag 开头 ~12 字符,清成网关白名单 `[A-Za-z0-9._-]`;中文等清空时回退时间戳。后缀保留短时间戳:不同页面的同特征元素各归各档,防同名归档互相覆盖。 - **引用片 label 同步可读**:片显示 `🌐 `(不再是完整路径),composer 里的片一眼可辨。 ### 验证 - 全测 691 passed / 11 skipped;两套 `tsc` 通过;bundle 实测含 slug 逻辑。 ## [0.18.17] - 2026-10-03 — 真机反馈⑧:原子引用片插入(宿主附件同款)+ 归档加载失败显码(同 0.17.20 反向同源) ### 修复(真机:计数 0 + 无片替换) - **显示替换换轨**:纯文本 `@"picks/…"` 只会被宿主 `FOLDER_REF_RE` 染色(宿主从不做文本→片的自动替换,paste-dock 的文档片是它主动插入的原子节点)——deliver 首次投递改为**优先插原子引用片**(`ReferenceChipNode`:`inputActions.captureInsertion()` 取 TokenSpan + `inputTriggers.serializeReference` 能力证明 + `insertReference` CAS;边界空格同 paste-dock),插不进回退文本 token。 - **计数 0 根治**:卡片加载失败原来被吞成"已选 0 个元素"——改三态:加载中 `…`、失败亮错误码(`⚠ no-workspace / not-found / load-failed`)、成功显真实元素数;错误码同时进 `__dshBrowserCdpDeco`。 - **会话来源加固**:卡片 picks-load 的 session 以 inject 下发字符串优先、宿主标准 props(`sessionId`)兜底。 ### 验证 - 全测 691 passed / 11 skipped;两套 `tsc` 通过;bundle 实测含 `tryInsertPickChip`/`captureInsertion`/`serializeReference`。 ## [0.18.16] - 2026-10-03 — @mention 引用模型:token 以 @ 开头(`@"picks/.json"`)+ 归档会话级解析(同 0.17.19 反向同源) ### 变更 - **投递/引用格式换轨(0.18.13 模型的修正)**:composer 里的引用从 `[🌐 CDP-PICKS → … | … | … | elements:N]` 长行改为 **`@"picks/.json"` 短 token**——被替换字段以 @ 开头(dsh-paste-dock 文件引用同精髓),显示层把它替换成文件片;dock 卡/🌐 徽标同步按 @ 引用解析,✕ 摘除整个 token。 - **同页合并简化**:扫草稿各 @ 引用 → 逐个读归档比对 `cdpEndpoint` → 命中者原文件重写;token 不含元素数,合并时草稿零改动(引用卡每 5s 重读归档自动刷新元素数)。 - **归档目录会话级解析**:`picks-save`/`picks-load` 请求携带 `session`,网关经 `workspaceRegistry` 把会话解析到其注册工作区的 `picks/` 目录(无注册工作区或多个候选 → 409 `no-workspace`,不猜);同 dsh-paste-dock 的 `resolveWorkspaceDir` 语义。 ### 修复 - **引用卡居中**:样式补 `margin-left/right: auto`——卡在 dock 带内居中(限宽公式不变),不再偏一侧。 ### 验证 - 全测 691 passed / 11 skipped;两套 `tsc` 通过;`lib/client.js` 161.93 kB(构建含 `@"picks/` token 写入与 session 参数)。 ## [0.18.14] - 2026-10-03 — 包装卡样式重写:不透明实底 + input-traffic 同款限宽(同 0.17.17 反向同源) ### 修复 - **透明度太高无底面**:卡片样式改幂等 `