桌面外壳 dsh-xswt-tauriapp(一个 Tauri 写的 DeepSeek Harness 桌面壳)的安装引导:安装后首次启动 dsh 时,从发布页下载本平台安装包,先比对 SHA256SUMS、校验通过才落盘,再交给系统安装器打开;插件自己不安装任何东西,也不给 dsh 加界面。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/xswt442-cmd/dsh-xswt-tauriapp/releases/latest/download/dsh-xswt-tauriapp-plugin.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:xswt442-cmd/dsh-xswt-tauriapp#path:/plugins/dsh-desktop-app
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
Marketplace stub for dsh-xswt-tauriapp — a
lightweight Tauri desktop shell for DeepSeek Harness that reuses or starts a local dsh web server
and embeds it in a native window.
The shell itself is a native application published as a GitHub release artifact, so there is no npm
package to install. This package is what the plugin market can install: it declares the dsh.bundle
manifest, and on the first dsh start after installation it
- checks whether the shell is already installed (and says nothing if it is),
- reads the shell's latest GitHub release and picks this platform's installer from its asset list, refusing an asset whose name is not a bare file name,
- downloads
SHA256SUMS, downloads the installer, and verifies the digest before writing anything to disk ($DSH_HOME/dsh-xswt-tauriapp/updates/, where it also removes the installers it supersedes), - hands the verified file to the operating system —
starton Windows,openon macOS,xdg-openon Linux — and records that it did so in$DSH_HOME/dsh-xswt-tauriapp/plugin.json.
Every later start is silent. On WSL the Linux asset is a .deb, which xdg-open cannot install: the
plugin says so, names the sudo apt install <path> that does, and points at the Windows installer if
the desktop is the Windows one.
What a hand-off guarantees is what the platform answers. open and xdg-open report themselves, so an
opener that exits non-zero — the usual bare-WSL case, where nothing is registered for .deb — is logged
as a failure and followed by the command that does work. cmd.exe /c start does not: it exits 0 whether
or not it opened the file, so a Windows hand-off that opened nothing cannot be detected from here. What
is guaranteed on every platform is that the verified file's path is in the log and that nothing is ever
installed or run silently — and with open: false, or DSH_TAURIAPP_NO_OPEN=1, the command to finish
it by hand is printed instead of the hand-off.
Requests are bounded the way the shell bounds its own: 15 seconds for the release lookup, 300 for a download, so a stalled connection is a logged failure rather than a hang on a harness's boot path.
What it deliberately does not do
It does not install anything, and it does not run an installer silently. An .exe has to pass
SmartScreen, a .dmg has to pass Gatekeeper, and a .deb needs the distribution's own dependency
resolution and root — a plugin that fights any of those fails in a way the user never sees. The
installer is opened, and the user finishes it.
Nor does it import a single harness API. It imports Node built-ins only: no @deepseek-ai/*, no
tool, no client row, no UI, no dsh internal. A harness change cannot break it, and it cannot become
the thing that stops a harness from booting — the whole plugin is one boot-time check and one
download.
Install
From the plugin market, or directly:
dsh plugin --profile web add https://github.com/xswt442-cmd/dsh-xswt-tauriapp/releases/latest/download/dsh-xswt-tauriapp-plugin.tgz
dsh web
Or grab the installer yourself from the releases page — which is all this stub would have done.
Configuration
mode and open live in this bundle's patch row (cordis.patch.yml); the environment wins, so a
machine that must never download anything can opt out without editing a profile that dsh plugin
rewrites:
| Setting | Environment | Default | Meaning |
|---|---|---|---|
mode: auto |
DSH_TAURIAPP_MODE=auto |
✓ | download, verify, hand over |
mode: notice |
DSH_TAURIAPP_MODE=notice |
print the release page, download nothing | |
mode: off |
DSH_TAURIAPP_MODE=off |
say nothing | |
open: true |
DSH_TAURIAPP_NO_OPEN=1 disables |
✓ | open the verified installer |
Facts rather than settings: a machine with no desktop session (CI, or Linux without DISPLAY /
WAYLAND_DISPLAY) is only told where the download is, and a release with no installer for this
platform/architecture (linux/arm64, win32/arm64) is only pointed at the release page.
Three more variables exist for the tests and for a mirror: DSH_TAURIAPP_RELEASES_API replaces the
GitHub releases API URL — an asset name that arrives through it is checked before it is used as a path
or an argument, so a feed cannot write outside $DSH_HOME; DSH_TAURIAPP_FORCE=1 offers the installer
again after it has already been downloaded once; DSH_TAURIAPP_INSTALL_DIRS replaces the directories
the installed-copy probe looks in, so a test or a custom install prefix describes its own host instead
of the machine it happens to be running on.
Tests
node --test plugins/dsh-desktop-app/test/plugin.test.js
Every case runs against a stand-in release server on loopback: nothing in the suite reaches GitHub.
Nothing runs a real platform opener either — the driver cases stop at the hand-off with
DSH_TAURIAPP_NO_OPEN=1, and openInstaller itself is exercised against a child that only records the
argv it was handed and exits with a chosen status.
Uninstall
dsh plugin --profile web remove dsh-xswt-tauriapp-plugin
That removes the stub only. The desktop application is uninstalled by the platform's own uninstaller
(Windows: Apps & features; macOS: drag the app out of Applications; Debian/Ubuntu:
sudo apt remove dsh-xswt-tauriapp).
License
MIT — see LICENSE.
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 9925
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 9925
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 6712
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
ccch1mneyyy/dsh-TUI★ 6538
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 4808
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1672
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。