All plugins

DSH / BUNDLE / CLIENT-UI

dsh-sidebar-browser

v0.1.0Gnatnaituy / dsh-sidebar-browsere5c90d1b9d

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-sidebar-browser

DSH web bundle: a browser in the right sidebar. Browse any site inside a sidebar tab through a per-origin loopback proxy — tabs, zoom, phone and tablet viewports, saved logins — and pick elements into [label][DOMn] references the model reads with a tool.

README / EN

Package documentation

Registry summary

DSH web bundle: a browser in the right sidebar. Browse any site inside a sidebar tab through a per-origin loopback proxy — tabs, zoom, phone and tablet viewports, saved logins — and pick elements into [label][DOMn] references the model reads with a tool.

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 GitHub

LIMITATIONS

Known limitations

- **同源既是拾取的前提,也是信任边界**:被测页面理论上能访问外壳页面,也就能伪造一次「拾取」把内容推进对话上下文。**只浏览你自己信任的页面。** - 保存的账号密码是 **DSH GUI 源 localStorage 里的明文**(这里没有系统钥匙串),按目标源一一对应;不发往 host、不进对话、不出现在拾取结果里(密码框 `value` 被显式抹除)。 - 代理会摘掉被测页面的 CSP 与 `X-Frame-Options`——这正是原本不能被框的站点现在能被框的原因,也意味着**页面的安全策略在侧栏里不生效**。 - `/dsh-sidebar-browser/invoke` 走 webServer 的精确路由,**不在 GUI 的登录围栏内**(和它并列的插件路由都一样)。GUI 默认只绑 `127.0.0.1`,但如果你把 web 服务改成对外监听,这个端口上任何人都能读写浏览器状态。 - 设备预览是**视口预览**:媒体查询、布局、滚动按设备尺寸生效,但 `devicePixelRatio`、`pointer: coarse`、`hover: none`、User-Agent、触摸事件仍是桌面浏览器的。 - 面板窗口和代理都必须在本机:代理只绑 `127.0.0.1`,帧地址也一律按 loopback 拼(GUI 自己是 `localhost` / `127.0.0.1` 时沿用它的主机名,保持同站;DeepSeek Harness 的 GUI 跑在 `dsh-app://app`,不是 http 源,所以显式用 `127.0.0.1`)。从别的机器打开 GUI 时,浏览器到不了这台机器的 loopback 端口。 - 页签类型按 kind 唯一,所以浏览器面板同时只有一个,标签页在面板内部;内置的「浏览器」是另一个 kind,两边各自开各自的。 - 元素按「光标下最内层元素」命中,高亮会先告诉你要选的是哪一层;嵌套 iframe 内部的元素暂不支持。 - DSH 重启后页面会重新加载(地址 / 标签 / 缩放 / 视口还原),重启前未提交的表单内容不保留。