侧边栏里的内嵌浏览器DSH-better-sidebar多开tab、沙箱iframe安全与外链分流完全指南【免费下载链接】DSH-better-sidebar开放的侧边栏底座支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git, and sub-agent pages.项目地址: https://gitcode.com/gh_mirrors/ds/DSH-better-sidebar在 AI 会话里查资料、看文档时你是否还在「切换到系统浏览器 → 再切回 DSH」之间来回跳DSH-better-sidebar 的侧边栏内嵌浏览器让你不用离开工作台就能浏览网页多开网页 tab、内容运行在沙箱 iframe 中、外链点击按协议智能分流到侧边栏或系统浏览器。本文将带你快速上手这三个核心能力并弄明白背后的安全设计。 第一步安装并打开侧边栏浏览器前置条件已装好 DSHdsh web可正常运行。在终端执行dsh plugin --profile web add dsh-better-sidebarlatest首次安装可能因 pnpm 拦截构建脚本而失败在~/.dsh/profiles/web下执行pnpm approve-builds --all后重跑即可随后硬刷新浏览器Cmd/CtrlShiftR。装好后点击侧边栏的菜单选择「浏览器」即得到一个带地址栏的网页 tab再点一次就能再开一个——每个网页各占一个 tab互不干扰就像浏览器窗口里的多标签页一样自然。每个 tab 的地址与标题会持久化刷新页面甚至重启后再打开同一个会话之前浏览的网页会原样恢复。地址栏提供后退 / 前进 / 刷新按钮还有「在浏览器中打开」按钮一键把当前页面交给系统浏览器带noopener与真实浏览器新标签页等价。️ 沙箱 iframe内嵌网页为何不会「搞事」这是本插件安全设计里最关键的一环值得用一分钟了解。核心机制不透明源opaque origin沙箱。浏览过的网页永远运行在一个没有同源权限的 iframe 里——页面无法读取 DSH 界面的 localStorage、无法调用内部接口、也无法把整个界面页面劫持成别的网址。地址栏则只接受http/httpsjavascript:、data:、file:等危险协议一律拒绝localhost、127.x等本机地址默认也直接挡住防止网页借你的手指去探测本地服务。实现上这组沙箱令牌被测试「钉死」不允许悄悄缩水浏览器 tab 的 iframe 属性定义BrowserView.tsx地址栏的 URL 判定纯函数协议黑名单 回环地址识别 嵌入探测browser.ts完整威胁模型与对策表2026-08-11-html-browser-builtins-design.md本地开发服务器怎么办侧边卡设置里有一个「本地回环允许清单」browserAllowedLoopback逗号分隔host或host:port。把localhost加进去后你的 Vite / 本地服务就能在侧边栏里正常加载并且额外获得allow-same-origin令牌模块加载与 HMR 需要真实 origin但对 DSH 界面本身依然是跨源的安全边界不扩大。沙箱状态是可见的浏览器 tab 底部有一行状态条绿色表示沙箱已启用此时登录态与第三方 Cookie 可能受限并提供「临时解锁不安全」按钮应对个别不兼容的站点解锁后变为红色警示且随时可一键「恢复沙箱」。临时解锁只存在于当前页面生命周期内切走 tab 即自动失效不会污染全局设置。组件实现见 SandboxStatusBar.tsx。 外链分流HTTP 进侧边栏HTTPS 走系统浏览器聊天消息、工具输出里点一个链接它去哪儿默认策略如下可按协议分别调整外链类型默认行为设置项聊天区 HTTP 外链在侧边栏浏览器 tab 打开侧边打开 HTTP 网页默认开聊天区 HTTPS 外链交给系统浏览器新窗口侧边打开 HTTPS 网页默认关同源链接 / 非 http(s) 链接永不拦截原样点击—Ctrl/Cmd/Shift/Alt 点击一律强制走系统浏览器—入口在「设置页 → 侧边卡片 → 浏览器」卡片的齿轮二级设置中另有总闸browserInterceptLinks一键关闭全部接管。这套策略的判定逻辑集中在一个无依赖的纯函数里方便逐条测试link-intercept.ts协议分流的完整设计见 2026-08-15-url-target-browser-settings-design.md。进阶第三方插件可以在自己的 tab 描述符里声明urlTarget谓词「认领」符合自己条件的链接例如只接管 PDF 链接未声明的链接仍回落到内置浏览器 tab——这就是插件生态与内置能力「对等注册」的一部分接入方式见 docs/external-plugin-guide.md。⚠️ 站点拒绝嵌入时别对着白屏发呆有些站点如 arxiv.org通过X-Frame-Options或 CSPframe-ancestors明确禁止被 iframe 嵌入。DSH-better-sidebar 不会给你一块空白它在导航时主动探测目标站点的响应头判定不可嵌入时直接显示原因面板并给出「在浏览器中打开」与「仍然加载」两个按钮对只在 GET 响应里下发嵌入策略的站点探测还会自动从 HEAD 回退到 GET 重试一次。判定函数embeddabilityOf同样位于 browser.ts。 小结与已知限制多开 tab每个网页独立 tab地址/标题持久化刷新恢复沙箱安全不透明源 禁 top 导航 地址栏协议/回环黑名单状态可见、可临时解锁外链分流HTTP / HTTPS 各自独立开关修饰键点击永远可绕过接管已知限制如实告知沙箱内第三方 Cookie 受限部分站点的登录需要走弹窗iframe 内部点击链接的跳转不会进入后退栈跨域不可见。更多能力文件渲染编辑、终端、Git、侧边对话等可参考项目内的 README.md 与 插件接入指南。【免费下载链接】DSH-better-sidebar开放的侧边栏底座支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git, and sub-agent pages.项目地址: https://gitcode.com/gh_mirrors/ds/DSH-better-sidebar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考