no1xsyzy/dsh-webview-wrapper ↗★ 0
dsh-webview-wrapper
A naive native desktop shell for the DeepSeek Harness web surface: hosts the dsh Web app in an OS window via WebviewJS, as a pure everything-is-a-plugin composition.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:no1xsyzy/dsh-webview-wrapper说明文档
阅读完整 README ↗dsh-webview-wrapper
English | 中文
为 DeepSeek Harness 的 Web 界面提供一个朴素的(naive)原生桌面外壳。dsh-webview-wrapper 是 deepseek-harness 的树外插件:它通过 WebviewJS 把正在运行的 Web 应用装进一个操作系统原生窗口——使用平台自带的 webview 引擎(Windows 为 WebView2,macOS 为 WebKit,Linux 为 WebKitGTK),绝不打包浏览器内核。没有 Electron、没有 fork、不打 harness 的补丁。
贯彻「一切皆插件」的思路,本包只做纯组合:像普通树外插件一样装进某个 profile,bundle 的 patch 层插入一个插件行,插件在 Web 组合提供 webServer / webRuntime 服务后就位,并接管原生窗口的生命周期。harness 本体始终保持原装。
特性
- 为
dsh web提供的界面套上原生窗口 + 系统托盘。 - 关闭即收进托盘:关窗只隐藏窗口,harness 继续运行(一个不可见的 1×1 keep-alive 窗口托住进程)。
- 托盘菜单(
Show/Quit)与托盘双击。 - 干净退出:插件卸载(或 profile 关闭)时通过 effect 的 disposer 调用
app.exit()。 - 带 invariant 伴生插件(
dsh-webview-wrapper/invariant),向InvariantRegistry注册。
安装
前置条件:
- 一份原装 deepseek-harness,其 profile 装配了 Web 组合包(
dsh web)。本插件注入webServer与webRuntime,目标 profile 必须是 Web 形态——随附的webprofile 就是天然目标。 - WebviewJS 的平台要求:Windows → WebView2(Windows 11 与新版 Edge 自带),macOS → 内置 WebKit(10.15+),Linux → WebKitGTK 4.1 与
libxdo。 pnpm(插件管理器会把参数转发给 pnpm)。
dsh plugin --profile web add dsh-webview-wrapper
dsh --profile web
或者,使用一个全新的 profile
dsh plugin --profile ww add @deepseek-ai/dsh-web-app dsh-webview-wrapper
dsh --profile ww
add 逐步做了什么:
- 首次使用时
dsh plugin会先初始化 profile,然后在 profile 目录里执行pnpm add。 - 由于
dsh-webview-wrapper的 manifest 声明了dsh.bundle.patch,插件管理器会自动把它追加进 profile 的dsh.profile.bundles层栈。 - 下次启动时,bundle 的 patch 层(
cordis.patch.yml)向组合里插入webview插件行。 - 插件等待
webServer/webRuntime服务就绪后,接管原生窗口的生命周期。
想跑本地检出而不是发布版:先构建,再从目录安装: