概览
dsh-hark-bridge
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **强依赖 ego。** 见开头那段。换浏览器要改 `lib/ego.js`。 - **靠读网页文字工作。** 页面锚点集中在 `lib/selectors.js`,文案类锚点中英文双匹配,结构锚点优先用 `data-testid`。Hark 真改版时,先用 `/hark-diag` 看是哪一项失效,再用 `inputSelector` / `sendSelector` / `attachmentSelector` 临时绕过。 - **串行排队 + 跨进程锁。** 同一个页面不能两个请求同时打字,所以一次只发一条。多个 DSH 会话同时用会排队(锁文件按 Hark 地址分开:`bridge-<hash>.lock`;持锁期间每 60 秒写一次心跳,判断残留看「持有者进程是否还活着」**或**「心跳是否停摆超过 3 个周期」——后者是为了防 Windows pid 复用导致的永久死锁;等待上限 2 分钟)。释放时只删自己的锁——早先无条件删,锁被接管后原进程会把别人的锁删掉,第三个会话就能挤进来。 - **排队中也能取消。** 还没轮到就按停止,请求立刻结束,不会排在前面那个请求后面白等。 - **超时不返回半截结论。** 默认 20 分钟,超了抛 `HarkTimeoutError`,错误里附上已收到的部分——但那可能被截断,不能当方案或审查通过的依据。需要更长回复就调大 `timeoutMin`,或者把需求拆小。 - **页面丢了会早报。** 发出去之后整页文本变空超过 60 秒,会报「Hark 页面忽然读不到内容了」,而不是干等到 `timeoutMin`。 - **每次请求在 ego 里新建或复用一个标签页**(TaskSpace 名 `hark-bridge`),跑完不关,下次接着用。 - **需要 ego 正在运行。** 没启动会报「ego 还没完成初始化引导」或连接失败。
