Overview
dsh-hark-bridge
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **强依赖 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 还没完成初始化引导」或连接失败。
