把 dsh 网页界面装进原生 macOS 窗口
27.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add coderstory/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 68 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/7) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/2(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 网页界面装入原生窗口
- macOS原生客户端
README
由 DeepSeek 最新模型翻译生成DshDesktop
一个原生 macOS 包装器,把 dsh --profile web 的 Web UI 装进 WKWebView。wrapper 以子进程方式拉起 dsh、显示 Web UI,并常驻菜单栏——尽量不打扰你的工作。
功能
- 原生窗口 — SwiftUI + WKWebView;原生 macOS 交通灯、拖动、缩放等。
- 常驻菜单栏 — 关掉窗口,wrapper 仍在菜单栏存活;点图标 →「Show dsh」即可重新打开。
- 单实例 — 再启动一份会聚焦已有窗口并退出。
- 自动拉起或复用 — 若 dsh 已在配置端口提供服务,wrapper 直接连上而不拉起;否则自行拉起 dsh。
- 健康监测 — dsh 中途挂掉时,wrapper 侦测到端口失效并弹出「dsh stopped responding」遮罩,附 Restart 按钮。
- 可信的 agent-finished 通知 — dsh 智能体完成响应时弹一条 macOS 横幅(在 Settings 中开关)。
展开完整文档(README 剩余 1 节)
DshDesktop 一个原生 macOS 包装器,把 dsh --profile web 的 Web UI 装进 WKWebView。wrapper 以子进程方式拉起 dsh、显示 Web UI,并常驻菜单栏——尽量不打扰你的工作。 功能 - 原生窗口 — SwiftUI + WKWebView;原生 macOS 交通灯、拖动、缩放等。 - 常驻菜单栏 — 关掉窗口,wrapper 仍在菜单栏存活;点图标 →「Show dsh」即可重新打开。 - 单实例 — 再启动一份会聚焦已有窗口并退出。 - 自动拉起或复用 — 若 dsh 已在配置端口提供服务,wrapper 直接连上而不拉起;否则自行拉起 dsh。 - 健康监测 — dsh 中途挂掉时,wrapper 侦测到端口失效并弹出「dsh stopped responding」遮罩,附 Restart 按钮。 - 可信的 agent-finished 通知 — dsh 智能体完成响应时弹一条 macOS 横幅(在 Settings 中开关)。通知路径由配套的 dsh 插件 dsh-desktop-bridge 提供:插件监听 dsh driver 的 agent/status 事件,在 busy → idle 转换时通过 unix-domain socket 通知 wrapper;wrapper 负责调 UNUserNotificationCenter 弹原生横幅。没有插件时通知路径回退到老的 DOM data-streaming 探针(早期版本的不可靠路径,仍保留以做向下兼容)。 - 自动检测 + 提示安装插件 — 启动时 wrapper 读取 ~/.dsh/profiles/web/cordis.patch.yml 检查插件状态:缺失/禁用/版本不匹配/路径损坏分别弹对应 alert;点 alert 里的 Install / Re-enable 按钮 wrapper 会自动写补丁。控制菜单 ▸ Check Bridge Plugin… 可以随时手动重检。 - 诊断报告 — dsh ▸ Save Diagnostic Report… 把 wrapper 状态(prefs、进程状态、最近 os.log)写成纯文本快照,便于提交 bug 报告。 - 更新 dsh — dsh ▸ Update dsh… 执行 npm update -g @deepseek-ai/dsh 并反馈结果。 - 开机启动 — 在 dsh 菜单切换;由 SMAppService 支撑(现代做法,不用已废弃的 SMLoginItem)。 - 本地化 — 英文 + 简体中文。 与 dsh-desktop-bridge 插件的关系 通知路径走的是 dsh ↔ wrapper 的 unix-domain socket(~/Library/Application Support/ai.deepseek.dsh.desktop/bridge.sock),不是 wrapper 自己读 dsh web UI 的 DOM。没有插件时通知不可靠(旧的 DOM 探针在工具调用间隙会误判)。详见配套仓库 coderstory/dsh-plugins/dsh-desktop-bridge。 首次启动时 wrapper 会弹 alert 提示安装/启用插件;点 alert 里的 Install 之后手动重启 dsh 让补丁生效(wrapper 不会自动重启 dsh,避免误杀你正在跑的任务)。 环境要求 - macOS 25.0+(Tahoe 或更新) - Xcode 27+ 工具链(Swift 6.4) - 已安装 dsh 且在 shell 的 $PATH 里 构建与安装 ./scripts/bundle.sh # swift build -c release + 组装 DshDesktop.app ./scripts/sign.sh # ad-hoc 签名 ./scripts/dmg.sh # 可选:打 UDZO DMG 用于分发 直接从构建产物运行: open build/DshDesktop.app 或安装到 /Applications: cp -R build/DshDesktop.app /Applications/ open /Applications/DshDesktop.app 命令行参数 | 参数 | 作用 | | --port <N> | dsh 监听的 TCP 端口(默认 3080,或来自 Preferences) | | --dsh-path | dsh 可执行文件的绝对路径;跳过基于 shell 的 which 查找(若你的 PATH 设在 ~/.zshrc 而 wrapper 的 login shell 不 source 它,请用它) | | --no-spawn | 不拉起 dsh;连到 --port 上由外部管理的 dsh | | --debug | 输出详细 os.log(subsystem ai.deepseek.dsh.desktop) | | --help、-h | 打印帮助并退出 | 未知参数会被静默忽略(这样测试运行器可以传 --test-bundle-path 等)。 测试 swift test # 70 个测试,12 个 suite swift test -Xswiftc -warnings-as-errors 配套插件仓库 dsh-plugins/dsh-desktop-bridge 配有自己的 18 个测试(10 个单元 + 8 个 sandbox 端到端,沙箱脚本会真实起一个隔离 DSH_HOME 里的 dsh,验证插件能加载且不崩)。 故障排查 | 症状 | 原因 / 修复 | | 启动卡在 "Starting…"(点 Install/Skip 都卡)| 已知修复 commit 13476f8:早期版本在 init() 里调 NSAlert.runModal(),与 SwiftUI 早期启动的 runloop race 把整个 launch 卡住。修复后 init() 走非阻塞路径(只检测 + .notInstalled 自动写 patch,不弹 alert);交互式 alert 仍保留在控制菜单 ▸ Check Bridge Plugin… 中,那里 runloop 已经稳定。Tests/DshDesktopTests/LaunchPathTests.swift 锁住"init() 不许引用 NSAlert/runModal"以防回归。 | | 通知乱发(在工具调用之间、状态抖动时弹通知)| 老的 DOM data-streaming 探针路径。装上 dsh-desktop-bridge 插件并启用(首次启动 wrapper 会自动写 patch 到 ~/.dsh/profiles/web/cordis.patch.yml),然后手动重启 dsh让 patch 生效。 | | dsh 启动失败 "failed to read overlay ... cordis.patch.yml" | 用户的 dsline-chat 插件 cordis.patch.yml 被覆写为空 []。修复:写入 README 里的正确内容 | | GUI app 找不到 dsh | DshLocator 用 login shell 查找;如果还失败,看 os.log 的 dsh-desktop subsystem | | 端口 3080 已占用 | wrapper 的 pre-check 应检测到并 releaseOwnership 复用 | | 单实例守护失效 | 查 Bundle.main.bundleIdentifier 是否是 ai.deepseek.dsh.desktop(Info.plist)| | bg-throttle 没加载 | dsh 启动日志里找 [bg-throttle v2] loaded;patch 文件路径要绝对 | License MIT。见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
coderstory/dsh-desktop
把 dsh 网页界面装进原生 macOS 窗口
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,111已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,341已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,449已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,532已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2
这是你的仓库?认领条目