Repository navigation
Public native sidebar APIs for persistent sessions, downloads and same-tab tools #9909
Replies: 1 comment
|
补充一个具体的桌面用户场景,支持这个提议。我的诉求是:网页就在 DSH 官方桌面 app 的现有 Browser tab 中;我手动登录一次,完全退出并重开 app 后仍能继续使用;后续 Agent 操作的也是我看到的同一个 tab。 我希望通过安装插件获得增强,不需要修改安装包、重签名、自建桌面壳,或另外打开 Chrome 才能使用。 当前缺口:不是“能否复用外部 Chrome 登录态”环境是 macOS、DSH Desktop
社区方案很有参考价值,但需要区分载体(以下均为非官方、独立维护,不是官方推荐,也不代表已在此版本验证兼容):
ZCode 可借鉴什么,而不是照搬什么ZCode Browser Settings 规格把用户流程组织为:开启内置浏览器控制 → 可选导入 Chrome 登录状态 → 在内置浏览器继续使用,并区分“清缓存”和“清全部站点数据”。规格明确使用 更重要的是,ZCode 官方插件运行时边界明确把 Desktop view / CDP / IPC 留在宿主,普通插件不能自行声明这些高权限能力。参考点是“宿主提供受控能力,插件组合交互和工具”,不是“装任意插件就能绕过 native 限制”。 以上是其公开源码/规格的参考,不是对所有发布版本和真实网站的验收结论。 想请维护者确认的最小路径
若官方方向是不支持原生 guest 持久化,也希望文档/插件设置明确区分 外部浏览器连接 / 插件自有浏览器预览 / 官方原生 Browser,以及各自是否支持登录保留与同 tab 工具,避免用户把它们当成同一个功能。 English summary: Please support an opt-in, host-owned persistent session for the existing in-app Browser, consumable by plugins without patching the desktop app. External Chrome connectors and plugin-owned live previews solve adjacent but different workflows. ZCode is useful UX/ownership prior art, not evidence that an ordinary plugin can implement privileged persistence by itself. Same-tab tools and optional Chrome login import can follow separately. Is there an existing supported API, or a preferred extension design for this? |
Uh oh!
There was an error while loading. Please reload this page.
Initially audited against Harness 0.2.0-rc.2, commit 639ed01; the owning APIs were rechecked at upstream commit 1517a4d on 2026-10-17 and the gaps remain.
Problem
An independently distributed sidebar plugin cannot currently preserve a login across app restarts or manage native downloads using public contracts alone. The desktop creates a process-local random partition, cancels native downloads, and exposes only acquire/release/open-request methods. Same-tab automation also lacks an exported desktop service; an owned plugin UI can use the existing Remote stream API for command/result transport.
The affected workflow is ordinary: install a browser plugin, sign in, download a file, quit, reopen, then ask the model to resume the download in the visible tab. A plugin should not need to edit the installed application archive or replace the application's remote-event assembly to implement this.
Requested supported capabilities
Compatibility and migration
Verification requested upstream
These capabilities would let independently distributed plugins implement the UI and tool layer without application modifications. This request does not ask to grant arbitrary Electron IPC or remove native authorization.
Existing extension mechanisms and scope
Additive client slots and the Remote stream mechanism already exist; this request does not ask for another transport or a general-purpose Electron escape hatch. Related discussion #9218 covers broader host extension APIs. This request focuses on desktop-owned browser session persistence, downloads and shared tab identity. If a supported route already covers these exact capabilities, documentation of that route would resolve the corresponding part of the request.
Source pointers at the audited commit: browser guests, browser bridge types, and sidebar client.
All reactions