概览
dsh-browser
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **默认不自行启动 Chrome.** 只用扩展已经连上的那个浏览器; 需要独立 profile 时打开 `launchStandaloneChromeProfile`, 但那份 profile 没有用户的登录态. - **只支持 Google Chrome.** Chromium / Edge / Brave 的 native messaging 目录各不相同, 没有做探测. - **页面在 iframe 里的内容取不到.** 快照只覆盖主框架. - **文件上传靠内容重建, 不是真实路径.** 浏览器不允许脚本给 `input[type=file]` 指派磁盘路径, 所以 `browser_upload` 是把宿主读到的字节在页面里重建成 `File` 再装进去; 单次上限 24 MiB, 且文件输入框只能按选择器定位 (它通常是隐藏的, 不在快照编号表里). - **Chrome 内部页面无法操作.** `chrome://` 与扩展商店页面禁止脚本注入. - **一次只服务一个会话.** 浏览器平面是有状态的, 两个会话同时驱动会互相踩, 所以第二个会话会被明确拒绝而不是放进去造成难以复现的混乱. - **截图只有当前视口, 而且不发给模型.** 整页需要滚动拼接, 而宿主侧没有图像库; 图片落成文件后由 `read_image` (能看图的模型) 或用户自己查看. - **`browser_evaluate` 需要用户在扩展详情页手动打开开关.** 其余工具不受影响. 在页面 CSP 严格的站点上, `world: "main"` 可能被拒 (那是页面自己的限制), 默认的 `isolated` 不受影响. - **`browser_console` 只在抓取期间有效, 且缓冲有限.** 只收集 start 之后的输出; 环形缓冲上限 1000 条, 超出淘汰最旧的; 条目与状态存在 `chrome.storage.session`, 浏览器重启后自然清空. 用户点掉调试提示条或打开 DevTools 都会中断抓取, 下次 read 会报告原因. - **`unpacked` 加载方式没有自动更新.** 每次改扩展要手动 reload.
