DeepSeek Harness Hub
← 返回列表

masknull/dsh-local-shell

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

本仓库为 dsh-local-shell,基于…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/16 · 已提供中文文档

DSH 桌面壳:DeepSeek Harness 的本地原生 Windows 桌面端(Tauri/WebView2),免浏览器、独立窗口 + 系统托盘、登录持久化、DSH_HOME 感知。 | DSH desktop shell: a native Windows desktop app for DeepSeek Harness (Tauri/WebView2) - own window & tray, persistent login, DSH_HOME aware.

综合分
30.6
GitHub 分
30.6
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add masknull/dsh-local-shell
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH Desktop (dsh-desktop-windowos)

本仓库为 dsh-local-shell,基于 RAFOLIE/dsh-desktop-windowos(v1.6.8,MIT)魔改的 DeepSeek Harness 本地浏览器壳。与上游的差异:

1. 就绪探测放宽:HTTP 有响应即视为 DSH 在跑(兼容 dsh-remote 登录墙,附加模式不被锁死)
2. 设置/日志写 exe 旁 dsh-shell-data(DSH_SHELL_DATA 可覆盖);WebView2 cookie/登录态落 %LOCALAPPDATA%\com.dsh.desktop\EBWebView(登录 dsh-remote 一次即持久)
3. DSH_HOME 感知:profile 路径/自愈跟随 $DSH_HOME(如 D:\.dsh),不硬编码 ~/.dsh
4. 壳不自更新、不同步插件:不会把 exe 覆盖成上游版本、不动你的 DSH 配置;托盘保留手动「检查更新(DSH)」用于更新 DSH 本体
5. 壳不杀 DSH:关窗口只退出壳,DSH 服务继续跑(下次打开自动附加)

构建与发布走 GitHub Actions(build-shell.yml → shell exe + build-installer.yml → 自包含 GUI 安装器),产物发布到 Releases。

界面与图标沿用原项目,感谢原作者 RAFOLIE。

中文

DeepSeek Harness(DSH)的 Windows 桌面壳,基于 Tauri v2 + React 18 + TypeScript。
打开应用 → 自动拉起本机 DSH Web 服务 → 窗口内嵌原生 webchat(常驻壳) → 托盘常驻,任务完成弹系统通知。
交付物是单个免安装裸 exe(约 4.5 MB)。

推荐用法:在任意文件夹执行 pnpm add @deepseek-ai/dsh(或 npm i @deepseek-ai/dsh),把 exe 放进同一文件夹的根目录双击即可——应用自动发现旁边的 node_modules\.bin\dsh.cmd,启动零下载、零配置、不询问。

功能

- 开箱即用:双击 exe 自动启动 DSH(dsh web),就绪后窗口顶层导航到 http://127.0.0.1:3080/ 的原生 webchat 界面(第一方上下文,不自创聊天 UI、不做反向代理;顶层而非 iframe 是为了让 SameSite=Lax 的会话 cookie 正常存取,登录态才持久)
- 系统标题栏:保留 Windows 原生标题栏(最小化/最大化/关闭、贴靠、边缘缩放全部原生);壳自身不再自绘标题栏,启动页只占内容区
- 深浅色跟随系统:启动页与环境管理面板的颜色全部来自一套语义化 CSS 令牌,暗色为默认、亮色由 prefers-color-scheme 驱动 —— 跟随 Windows「应用模式」实时切换,改系统设置即刻重绘、无需重启;WebView2 默认 PreferredColorScheme=Auto,故无需任何 Rust 侧代码
- 环境管理面板:搜索栏(过滤字段名与值)+ 环境|日志 标签 + 四组信息卡(运行状态/DSH 内核/组件版本/位置与存储;主功能标题在卡片外,子功能共处一个大圆角卡)+ 底部 刷新检测/重启/更多;复制⧉、打开目录📁一键图标,聊天状态在面板期间保留(背后虚化)
- 日志体系(ComfyUI 式):dsh.log 只记壳自身事件(启动/监护/更新;DSH web 输出不入日志,不再膨胀),[本地时间] [INFO/WARN/ERROR] 格式逐行着色,每次启动轮转历史文件;启动页「查看日志」实时看终端在跑什么;日志页带等级筛选/自动跟随/清空显示
- 诊断包:面板「更多 → 导出诊断信息」一键把环境配置+本次日志组装成 markdown——复制到剪贴板可直接粘贴给 AI 排障,无需翻目录查全局安装
- 托盘常驻:关闭窗口(X)只是隐藏到托盘,DSH 后台继续运行;双击托盘图标或右键 → Open DSH 随时唤回窗口;右键还有「重启 dsh web(后端)」「前后端重启」「检查前端更新」「环境信息」
- 故障自愈与可见性:DSH 崩溃的真实原因(子进程输出尾部)以 ERROR 写入日志并直接显示在启动页错误视图,附手动修复命令——再无静默崩溃循环;缺 profile 包时自动带冷却期旁路补装并重试;settings.yaml 被 Web UI 写坏(如 key:value 缺空格)时自动备份+修复+round-trip 校验后才落盘;启动链用绝对路径解析 dsh/pnpm,不受 GUI 环境 PATH 影响
- DSH 监护自愈:DSH 意外退出(市场更新自重启/崩溃)时自动重拉并刷新界面,无需人工干预;连续快速崩溃自动熔断报错
- 自动更新带进度:更新时顶栏名字旁绿色圆环旋转 → 完成对勾 → 自动重启生效(无需手动重开;更新只在启动时发生,不打断对话);应用每次启动自检 GitHub 最新 Release
- 插件包自动同步(带验真):应用启动时自动把已安装的 dsh-desktop-plugin 对齐到 npm 最新版(只升不降,带 pnpm 新发布冷却期旁路);安装后回读 node_modules 验证真实落地,pnpm 冷却期静默保留旧版不再虚报成功
- 图片拖放/粘贴:与浏览器一致——可拖入或粘贴 png/jpg/webp/gif 作为对话附件(DSH v1 支持的四种格式)
- 一键重启 DSH:托盘「重启 dsh web(后端)」只重启 DSH 服务(会话数据在 ~/.dsh 持久化);「前后端重启」连壳带后端全新拉起(无论后端是谁启动的都会清干净),新装插件随之加载,插件卡死 webchat 时一键满血——面板「更多」里也有同款
- 托盘图标固定任务栏:启动时自动写入 Windows 通知区域设置(IsPromoted),图标不再每次被收进任务栏角溢出
- 任务完成通知:会话从运行中转为空闲时弹 Windows 系统通知,带两个按钮——「打开窗口」(复现并聚焦窗口)和「明白」(收起通知);不点击则数秒后自动收起
- 链接右键菜单:在聊天里的链接上右键,显示简洁菜单「在浏览器中打开」/「复制链接」(替换误导性的 WebView2 默认菜单);左键点击外链仍由系统默认浏览器打开
- 附加模式:启动时若 3080 已有 DSH 在跑,直接连接不重复拉起;退出时也不会动别人(先于应用存在)的实例
- 干净退出:仅托盘右键 → 「退出(关闭 DSH)」才真正退出,自动 taskkill /T 杀掉自己拉起的整棵进程树,零孤儿进程
- 防重复实例:exe 被再次双击只会唤回已有窗口,不会开第二个
- 便携小巧:单文件、无安装器、无 DLL 依赖,数据/日志写在 %LOCALAPPDATA%\dsh-desktop\
- 本地优先启动,npm 全局为主推荐:按候选链自动启动 DSH——DSH_CMD 环境变量(失败自动降级,不再卡死)→ 自定义路径(启动页可填,永久记住)→ PATH 全局安装的 dsh web → 项目本地 node_modules\.bin\dsh.cmd(exe 同目录/工作目录/用户目录)→ 已确认过的 npx;全都找不到时启动页提供一键全局安装(应用直接执行 npm install -g @deepseek-ai/dsh,约 1-3 分钟,装完永久走最快路径、终端获得 dsh 命令)、npx 下载(备选)、手动填路径、重新检测、退出——不会静默下载任何东西

前提条件

目标机器需已具备(exe 不携带):

| 项 | 要求 |
|---|---|
| Node.js | ^22.19 或 ≥ 24(必须;DSH 的 Node 版本要求) |
| DSH | 可选,三种方式任一:全局安装 npm i -g @deepseek-ai/dsh(最快,推荐);本地安装(在 exe 旁或任意被搜索目录执行 pnpm add @deepseek-ai/dsh);都没有则首次启动时点「下载并启动」走 npx |
| 从源码跑 DSH 的开发者 | 设 DSH_CMD(pnpm dsh web)与 DSH_CWD(DSH 仓库路径)环境变量 |
| WebView2 | Windows 11 自带 |

快速开始

方式一:装 DSH 插件(推荐给 DSH 用户)

dsh plugin --profile web add dsh-desktop-plugin

重启 DSH 后插件自动把 exe 装到 %LOCALAPPDATA%\Programs\dsh-desktop-windowos\,并在桌面生成两个快捷方式——「DeepSeek Harness」(桌面应用)和「DeepSeek Harness Web」(浏览器打开前端);之后每次激活还会自动升级 exe 到最新 Release(应用运行中也能安全替换)。对话里说“打开桌面应用”可通过 desktop_launch 工具直接拉起(exe 缺失时走后台任务安装,完成后自动启动,聊天里可轮询进度)。首次运行 exe 会弹 SmartScreen(未签名),点「更多信息 → 仍要运行」即可。

插件 npm 与应用是两条独立版本线(npm 现 1.5.10,应用现 v1.6.7,不一致是有意设计)——npm 只在插件代码变更时发布,内容相同的空包只会触发所有用户的插件市场更新提示与重复下载;应用走 GitHub Release 自由前进,桌面端启动时自动把已装插件对齐 npm 最新版(只升不降)。详见 plugin/README.md。

方式二:直接下载 exe

1. 从 Releases 下载 dsh-desktop-windowos-v.exe,双击运行(免安装单文件,无需解压)。首次运行 Windows SmartScreen 可能拦截(exe 未签名):点「更多信息 → 仍要运行」即可
2. 机器满足以下任一状态,双击后自动进入 webchat:
- 已有 DSH 在跑(如自己开过 dsh web)→ 自动附加,直接使用,无需 Node 在 PATH
- 全局装了 DSH(npm i -g @deepseek-ai/dsh,推荐)→ 启动最快,无需网络
- 本地装了 DSH(在 exe 同目录、工作目录或用户目录 pnpm add @deepseek-ai/dsh)→ 自动发现 node_modules\.bin\dsh.cmd 并使用
- 之前选过「下载并启动」 → 自动经 npx --yes @deepseek-ai/dsh web 拉起(首选项记录在 %LOCALAPPDATA%\dsh-desktop\settings.json)
3. 若本地没有任何 DSH:启动页提供选择——「一键全局安装并启动(推荐)」(应用直接执行 npm install -g @deepseek-ai/dsh,约 1-3 分钟)/「下载并启动(npx,备选)」/粘贴已知 dsh.cmd 路径/「重新检测」/「退出」,不会未经同意就下载;需 Node.js(^22.19 或 ≥ 24)

构建前提(Windows)

- Rust msvc 工具链 + VS 2022 生成工具("MSVC v143 C++ 生成工具" + Windows 11 SDK)

pnpm install        # 本项目是独立工作区根
pnpm tauri dev      # 开发模式
pnpm tauri build    # 产物:src-tauri\target\release\dsh-desktop-windowos.exe
开发提示:D 盘紧张时用 CARGO_TARGET_DIR=C:\dsh-build-target 把编译产物指到 C 盘;重建前先退出正在运行的应用(exe 被进程锁定会导致链接失败)。

工作原理
- Rust 侧以 POST /api/host.describe 探测就绪(result.ok === true 即就绪);启动走本地优先候选链:DSH_CMD 环境变量(失败自动降级)→ 自定义路径 → dsh web(PATH 全局)→ 项目本地 node_modules\.bin\dsh.cmd → 已确认过的 npx;链空则发 notfound 事件,启动页提供一键 npm install -g、npx 备选、路径输入;每个候选独立就绪窗口,失败自动降级并逐次入日志;DSH web 子进程经 cmd /S /C 拉起(CREATE_NO_WINDOW,绝对路径解析),其输出进有界内存尾部(仅崩溃原因可见用,不写日志文件;DSH 有自己的 ~/.dsh/logs,壳日志只记自身事件并按会话轮转)
- 监听 ws://127.0.0.1:3080/api/events.host,在 host/session-status 的 running 出现 true→false 边沿且主窗口隐藏时,经 session.list 取会话标题弹通知
- 裸 exe 无安装器,Windows 会静默吞 Toast——应用启动时自动在注册表注册 AppUserModelID(HKCU\Software\Classes\AppUserModelId\com.dsh.desktop)保证通知可达

项目结构

src/                 React 壳页:boot 视图(启动/未找到/失败) + 环境管理面板
App.tsx            boot 页:四状态(启动中/正在打开/未找到 DSH/启动失败)
EnvPanel.tsx       环境管理面板(搜索/环境|日志标签/信息卡/日志控制台)
styles/            色彩与样式真源:theme(令牌,深浅色)/ base / boot / panel
src-tauri/src/
dsh.rs             DSH 生命周期:探测 / spawn / 监护自愈 / 会话日志(轮转+等级)
monitor.rs         events.host WS 监听:running 边沿 + 两按钮通知 + 断线重连
update.rs          前后端完整重启(自更新已移除)
lib.rs             托盘、窗口 X=隐藏、single-instance、AUMID 注册、面板命令
plugin/              DSH 插件(npm: dsh-desktop-plugin):自动安装/升级 exe + 双快捷方式 + desktop_launch 工具
icon-src/            图标源(DeepSeek 鲸鱼标,品牌蓝 #4D6BFE)

英文

一个面向 DeepSeek Harness(DSH)的 Windows 桌面外壳,使用 Tauri v2 + React 18 + TypeScript 构建。
启动应用 → 自动启动本地 DSH Web 服务 → 窗口在常驻外壳中内嵌原生 webchat → 驻留托盘,任务完成时发送系统通知。
以单个便携裸 exe形式分发(约 4.5 MB,无安装器)。

推荐配置:在任意文件夹中运行 pnpm add @deepseek-ai/dsh(或 npm i @deepseek-ai/dsh),然后将 exe 放入该文件夹的根目录并双击——应用会自动发现相邻的 node_modules\.bin\dsh.cmd:零下载、零配置、无需多问。

功能特性

- 零配置:双击 exe 即启动 DSH(dsh web);就绪后窗口顶层跳转至 http://127.0.0.1:3080/ 的原生 webchat(第一方上下文,无自定义聊天 UI,无反向代理——采用顶层而非 iframe,以便存储并发送 SameSite=Lax 会话 cookie,这正是登录得以持久化的原因)
- 原生标题栏:保留 Windows 标题栏(最小化/最大化/关闭、贴靠与边缘缩放均为原生);外壳不再自行绘制
- 明暗跟随系统:启动页与环境面板中的每一种颜色都来自同一套语义化 CSS 令牌——默认深色,浅色由 prefers-color-scheme 驱动——因此可实时跟随 Windows 应用模式,系统设置一变即重绘,无需任何 Rust 代码参与(WebView2 默认 PreferredColorScheme=Auto)
- 环境面板:搜索栏(过滤字段名/值)+ 环境|日志 标签页 + 四张分组事实卡片(运行时 / DSH 内核 / 组件版本 / 存储)+ 底部操作(重新检测 / 重启 / 更多);复制与在资源管理器中打开的图标按钮;聊天状态在访问面板后依然保留(背后的页面被模糊处理)
- ComfyUI 风格日志:dsh.log 仅记录 shell 事件(启动/监督/更新;DSH 自身的输出不记录),带时间戳的 [INFO/WARN/ERROR] 行并按级别着色,按会话轮转;启动页上的查看日志链接可流式显示终端正在做什么
- 诊断包:更多 → 导出诊断信息 将环境事实 + 会话日志打包成 markdown 到你的剪贴板——粘贴给任何 AI,而不用在安装目录里翻找
- 驻留托盘:关闭窗口(X)只会将其隐藏到托盘,而 DSH 继续运行;双击托盘图标或右键 → Open DSH 可让窗口回来;菜单中还有“重启 dsh web(后端)”(后端重启)、“前后端重启”(完全重启——shell 和后端都重启,无论后端是如何启动的)以及更新检查
- 故障可见性与自愈:子进程的真实死因(控制台尾部)会作为 ERROR 写入日志,并显示在启动错误视图中,附带手动修复命令——不再有静默崩溃循环;缺失的 profile bundle 会自动安装(绕过冷却)并重试;被 Web UI 损坏的 settings.yaml(例如 key:value 缺少空格)会被备份、修复,并在写回前进行解析验证;dsh/pnpm 解析为绝对路径,不受 GUI 环境 PATH 怪癖影响
- DSH 监督自愈:意外的 DSH 退出(市场自重启 / 崩溃)会自动重新拉起并刷新视图,无需手动操作托盘;连续三次快速死亡会触发崩溃循环防护
- 带进度的自动更新:更新时,名称旁边会旋转一个小绿环 → 对勾 → 自动重启到新构建(检查仅在启动时进行,绝不在对话中途)
- 插件自动同步(已验证):启动时,已安装的 dsh-desktop-plugin 会对齐到 npm 最新版(仅升级,绕过冷却);随后会针对 node_modules 验证安装,因此 pnpm 静默保留旧版本再也不能伪装成成功
- 托盘图标固定到任务栏:应用在启动时写入 Windows 通知区域设置(IsPromoted),因此图标不再在每次启动时落入溢出区
- 任务完成通知:当会话从运行中转为空闲时,会弹出 Windows 通知,带有两个按钮——“打开窗口”(恢复并聚焦)和“知道了”(关闭);若不处理,它会在几秒后自动收起
- 链接上下文菜单:在聊天中右键单击链接会显示一个简洁的两项菜单——“在浏览器中打开” / “复制链接”(取代误导性的默认 WebView2 菜单);左键单击仍会在系统默认浏览器中打开外部链接
- 附加模式:如果 DSH 在启动时已在 3080 端口监听,应用会附加到该实例,而不是再启动一个——并且绝不会终止不是由它启动的实例。当该实例要求浏览器令牌,而它打印的那行信息早已消失时,shell 会从正在运行的进程自身的内存中恢复该令牌,并用它进行导航(只有在真实的 HTTP 303 + dsh-auth-* 交换之后才会被接受——绝不只凭形式判断),因此复用正在运行的 DSH 不再止步于“重启并接管?”的提示;只有恢复失败时才会回退到该提示
- 干净退出:只有托盘右键 →“退出(关闭 DSH)”才会退出,通过 taskkill /T 拆除它启动的进程树,零残留
- 单实例:再次启动 exe 只会聚焦现有窗口
- 便携且小巧:单个文件,无需安装程序,无 DLL 依赖;数据/日志写入 %LOCALAPPDATA%\dsh-desktop\
- 本地优先启动,全局 npm 作为首要推荐:通过候选链启动 DSH——DSH_CMD 环境变量(失败时继续尝试而非卡住)→ 在启动页输入的自定义路径(会被记住)→ PATH 全局 dsh web → 项目本地 node_modules\.bin\dsh.cmd → 之前已同意的 npx;当本地不存在任何选项时,启动页会提供一键全局安装(应用会为你运行 npm install -g @deepseek-ai/dsh,约 1-3 分钟,永久处于快速路径并拥有终端 dsh 命令)、作为回退的 npx 下载、手动路径输入、重新检测以及退出——不会有任何静默下载

先决条件(目标机器)

不随 exe 捆绑:

| 项目 | 要求 |
|---|---|
| Node.js | ^22.19 或 ≥ 24(必需;DSH 声明的 Node 版本) |
| DSH | 可选,以下任一:全局安装 npm i -g @deepseek-ai/dsh(最快,推荐);本地安装(pnpm add @deepseek-ai/dsh,放在 exe 旁边或任何被搜索的目录中);或在首次启动时点击“下载并启动”以通过 npx 进行 |
| 从源码运行 DSH | 设置 DSH_CMD(pnpm dsh web)和 DSH_CWD(DSH 仓库路径)环境变量 |
| WebView2 | Windows 11 已包含 |

快速开始

选项 A:安装 DSH 插件(推荐 DSH 用户使用)

dsh plugin --profile web add dsh-desktop-plugin
重启 DSH 后,插件会自动将 exe 安装到 %LOCALAPPDATA%\Programs\dsh-desktop-windowos,并创建两个桌面快捷方式——“DeepSeek Harness”(桌面应用)和“DeepSeek Harness Web”(浏览器中的 Web UI);之后每次激活也会将 exe 自动更新到最新的 Release(即使应用正在运行也是安全的)。在聊天中说“打开桌面应用”会通过 desktop_launch 工具启动它(若 exe 缺失,则作为后台任务安装,完成后自动启动,进度可在聊天中轮询)。首次运行未签名的 exe 时会显示 SmartScreen——点击“更多信息 → 仍要运行”。插件 npm 和应用运行在两条独立的版本线上(npm 当前为 1.5.10,应用当前为 v1.6.7——这种不一致是刻意为之):npm 仅在插件代码变更时发布,因为相同的空包只会为每个插件用户触发更新提示和重新下载;应用则通过 GitHub Releases 自由推进,桌面应用会将已安装的插件对齐到 npm 最新版(仅升级)。参见 plugin/README.md。

方案 B:直接下载 exe

1. 从 Releases 下载 dsh-desktop-windowos-v.exe 并双击它(单个便携文件,无需解压)。Windows SmartScreen 可能在首次运行时发出警告(该 exe 未签名):点击“更多信息 → 仍要运行”
2. 以下任意一种机器状态都可以——应用会在启动后自动进入 webchat:
- DSH 已在运行(例如你自己启动了 dsh web)→ 自动附加,立即可用,PATH 上无需 Node
- DSH 已全局安装(npm i -g @deepseek-ai/dsh,推荐)→ 启动最快,无需网络
- DSH 已本地安装(pnpm add @deepseek-ai/dsh,位于 exe 旁边、工作目录中或用户配置文件中)→ 会发现并使用 node_modules\.bin\dsh.cmd
- 之前选择过“下载” → DSH 通过 npx --yes @deepseek-ai/dsh web 自动启动(选择会持久化在 %LOCALAPPDATA%\dsh-desktop\settings.json 中)
3. 完全没有本地 DSH 时:启动页面会提供——“一键全局安装并启动”(推荐;应用会自行运行 npm install -g @deepseek-ai/dsh,约 1-3 分钟) / “下载并启动”(npx 回退)/ 粘贴已知的 dsh.cmd 路径 / “重新检测” / “退出”。未经同意不会下载任何内容;需要 Node.js ^22.19 或 ≥ 24

构建(Windows)

- Rust msvc 工具链 + VS 2022 Build Tools(“MSVC v143 C++ build tools” + Windows 11 SDK)

pnpm install        # this project is its own workspace root
pnpm tauri dev      # dev mode
pnpm tauri build    # output: src-tauri\target\release\dsh-desktop-windowos.exe
开发提示:如有需要,将 CARGO_TARGET_DIR 指向空间更充裕的驱动器,并且在重新构建前退出正在运行的应用(正在运行的 exe 会锁定链接器输出)。

工作原理
- Rust 侧通过 POST /api/host.describe(result.ok === true)探测就绪状态;启动时运行本地优先的候选链:DSH_CMD 环境变量(第一个候选,失败时继续向下)→ 启动页面中的自定义路径(持久化在 settings.json 中)→ dsh web(PATH 全局,通过 where dsh 检查)→ node_modules\.bin\dsh.cmd(exe 目录 / 工作目录 / 用户配置文件)→ 之前已同意的 npx --yes @deepseek-ai/dsh web;空链会发出 notfound,启动页面提供一键 npm install -g(由应用运行)、npx 回退以及手动路径输入——每个候选都有自己的就绪窗口,失败时继续向下,且每次尝试都会记录日志;DSH web 子进程通过 cmd /S /C 启动(CREATE_NO_WINDOW,绝对路径解析);其输出馈入一个有界的内存尾部(仅用于崩溃原因可见性,从不写入日志文件——DSH 将自己的日志保存在 ~/.dsh/logs 下,而 shell 日志仅记录 shell 事件,按会话轮转)
- 它监听 ws://127.0.0.1:3080/api/events.host;当窗口隐藏时,在 host/session-status 中 running 的真→假边沿上,它通过 session.list 解析会话标题并触发 toast
- 裸 exe 没有安装程序,因此 Windows 会静默丢弃 toast——应用在启动时在注册表中注册其 AppUserModelID(HKCU\Software\Classes\AppUserModelId\com.dsh.desktop)以使通知正常工作

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(masknull)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群