把 Harness 装进 macOS 窗口,还能用手机远程连
28.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add sunkeycn/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
- 读取本地文件icon/make-icon.cjs:21
const favicon = fs.readFileSync(faviconPath, 'utf8'); - 写入本地文件icon/make-icon.cjs:44
fs.mkdirSync(iconset, { recursive: true }); - 发起网络请求plugins/dsh-file-explorer/lib/client.js:57
return fetch("/file-explorer/" + method + (qs ? "?" + qs : "")).then((r) => r.json()); - 发起网络请求plugins/dsh-frp-remote/lib/client.js:48
const response = await fetch(`${API}${path}`, { - 发起网络请求plugins/dsh-frp-remote/lib/client.js:63
const body = await fetch(`${API}/state`, { cache: "no-store" }).then(async (response) => { - 读取本地文件plugins/dsh-frp-remote/lib/index.js:49
return candidates.find((candidate) => existsSync(candidate)) ?? null; - 读取本地文件plugins/dsh-frp-remote/lib/index.js:72
const parsed = JSON.parse(await readFile(configPath, "utf8")); - 读取本地文件plugins/dsh-frp-remote/lib/index.js:77
const legacy = parseLegacyToml(await readFile(tomlPath, "utf8")); - 写入本地文件plugins/dsh-frp-remote/lib/index.js:137
await mkdir(dirname(path), { recursive: true, mode: 0o700 }); - 写入本地文件plugins/dsh-frp-remote/lib/index.js:139
await writeFile(temporary, contents, { mode }); - 写入本地文件plugins/dsh-frp-remote/lib/index.js:140
await rename(temporary, path); - 写入本地文件plugins/dsh-frp-remote/lib/index.js:141
await chmod(path, mode); - 执行外部命令固定命令plugins/dsh-frp-remote/lib/index.js:151
execFile("/usr/bin/security", arguments_, { encoding: "utf8" }, (error, stdout) => { - 执行外部命令来自配置/变量plugins/dsh-frp-remote/lib/index.js:192
frpcChild = spawn(frpc, ["-c", tomlPath], {
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 原生macOS桌面封装
- 插件管理
- FRP远程访问
DeepSeek Harness 的原生 macOS 桌面封装,带插件管理和 FRP 远程访问
README
由 DeepSeek 最新模型翻译生成dsh-desktop
简体中文 · English
DeepSeek Harness 的原生 macOS 桌面包装器。提供独立窗口、运行时自举、插件管理、桌面宠物、代码侧栏,以及面向手机和平板的 FRP 远程访问。
下载最新版
手机远程访问
从源码构建
安全说明
dsh-desktop 主界面
功能
- 原生 macOS 窗口:使用 AppKit + WKWebView,保留系统窗口按钮并采用沉浸式透明标题栏。
- 自动准备运行环境:首次启动下载 Node.js 和 @deepseek-ai/dsh,后续可在 App 内检查 Harness 更新。
- 原生插件管理:查看版本、升级、启用、禁用和移除插件,多项修改可统一重启生效。
- 内置代码侧栏:使用开源的 dsh-better-sidebar。
- 内置桌面宠物:使用 dsh-pet,同时提供 VP9-alpha WebM 和 HEVC-alpha MOV,在 Chromium 与 WKWebView 中均可透明显示。
- 内置 FRP 客户端:安装包自带 frpc 0.71.0 和配置插件,可将本机 DSH 安全转发到自建 frps,通过手机、平板等移动设备的浏览器远程访问。
- 本地数据优先:FRP Token 保存到 macOS Keychain,网页端无法读取已保存的 Token。
展开完整文档(README 剩余 1 节)
dsh-desktop
简体中文 · English
DeepSeek Harness 的原生 macOS 桌面包装器。提供独立窗口、运行时自举、插件管理、桌面宠物、代码侧栏,以及面向手机和平板的 FRP 远程访问。
下载最新版
手机远程访问
从源码构建
安全说明
dsh-desktop 主界面
功能
- 原生 macOS 窗口:使用 AppKit + WKWebView,保留系统窗口按钮并采用沉浸式透明标题栏。
- 自动准备运行环境:首次启动下载 Node.js 和 @deepseek-ai/dsh,后续可在 App 内检查 Harness 更新。
- 原生插件管理:查看版本、升级、启用、禁用和移除插件,多项修改可统一重启生效。
- 内置代码侧栏:使用开源的 dsh-better-sidebar。
- 内置桌面宠物:使用 dsh-pet,同时提供 VP9-alpha WebM 和 HEVC-alpha MOV,在 Chromium 与 WKWebView 中均可透明显示。
- 内置 FRP 客户端:安装包自带 frpc 0.71.0 和配置插件,可将本机 DSH 安全转发到自建 frps,通过手机、平板等移动设备的浏览器远程访问。
- 本地数据优先:FRP Token 保存到 macOS Keychain,网页端无法读取已保存的 Token。
界面预览
插件管理
插件管理
远程访问
Harness 更新
启动状态
截图中的插件版本可能高于安装包内置版本,因为插件管理器支持独立升级。
安装
1. 从 Releases 下载与你的 Mac 架构匹配的 DMG。
2. 打开 DMG,将 DeepSeek Harness.app 拖入“应用程序”。
3. 首次启动等待 App 自动准备 Node.js、Harness 和内置插件。
当前发布的 DMG 使用 ad-hoc 签名,没有 Apple Developer ID 公证。macOS 若阻止首次打开,请在“系统设置 → 隐私与安全性”中确认打开,或从源码自行构建。
系统要求
- macOS 12.0 或更高版本
- 可访问 npm、GitHub Releases 和 Node.js 下载站点的网络
- 当前 Release 标注其构建架构;本项目不会把单架构产物标记为 Universal
内置插件
| 插件 | 内置版本 | 用途 | 来源 |
| dsh-pet | 0.1.8 | 桌面宠物 | PC2005-cloud/dsh-pet |
| dsh-better-sidebar | 0.15.2 | 代码与工作区侧栏 | omdsh-dev/DSH-better-sidebar |
| dsh-frp-remote | 0.2.0 | FRP 配置与隧道管理 | 本仓库 |
内置版本只用于首次安装和缺失修复。安装后可以通过“DeepSeek Harness → 插件管理…”独立检查更新。
FRP 远程访问
dsh-desktop 内置 frpc 0.71.0 和 dsh-frp-remote 插件,不需要在 Mac 上另外安装 FRP 客户端。它会把固定监听在 127.0.0.1:3080 的 DSH Web 服务,通过加密的 FRP 隧道转发到你自己的公网服务器。
flowchart LR
Mobile[手机 / 平板浏览器] -->|HTTPS + 访问认证| Proxy[公网 Caddy / Nginx]
Proxy -->|127.0.0.1:远端端口| FRPS[frps]
FRPS |FRP TLS + Token| FRPC[Mac 上内置 frpc]
FRPC -->|127.0.0.1:3080| DSH[DeepSeek Harness]
已内置的能力
- frpc 0.71.0:随 App 安装到本地运行时,由插件负责启动和重启。
- 图形化配置:在 DSH 设置页的“远程访问”中配置 Server、TLS、Token、代理名称、远端端口和公网 HTTPS 地址。
- 固定本地目标:只允许转发 127.0.0.1:3080,网页不能修改成本机其他服务。
- 凭据保护:FRP Token 存放于 macOS Keychain,不写入 TOML,也不会返回给网页客户端。
- 本机管理边界:配置 API 只监听 127.0.0.1:3081,写操作还需要可信 Origin 和 CSRF Token;手机等远程设备不能修改 FRP 配置。
- 受信任主机:App 会读取公网 HTTPS 地址,并在启动 Harness 时自动加入对应的 --trusted-host。
需要自行准备
- 一台有公网地址的服务器,并在服务器上运行 frps。
- 一个指向该服务器的域名,以及 Caddy、Nginx 等 HTTPS 反向代理。
- 公网访问认证,例如 Basic Auth、OAuth/OIDC 网关或 VPN。FRP 本身不提供网页登录保护。
手机远程访问
以下示例使用 frps.example.com:7000 作为 FRP Server、13080 作为远端端口、https://dsh.example.com 作为手机访问地址。请替换为自己的域名、端口和高强度随机 Token。
1. 在公网服务器部署 frps
下载与服务器架构匹配的 frp Release,创建 frps.toml:
bindPort = 7000
auth.method = "token"
auth.token = "replace-with-a-strong-random-token"
启动 frps,并允许 Mac 连接服务器的 TCP 7000 端口。生产环境建议使用 systemd 或容器保证服务自动重启。
2. 配置 HTTPS 与访问认证
在公网服务器上把域名反向代理到 FRP 的远端端口。以下是 Caddy 示例:
dsh.example.com {
basic_auth {
dsh-user
}
reverse_proxy 127.0.0.1:13080
}
使用 caddy hash-password 生成密码哈希。防火墙应阻止公网直接访问 13080,否则访问者可以绕过 HTTPS 和认证直接进入 DSH。
3. 在 Mac 上配置隧道
打开 DeepSeek Harness,在“设置 → 远程访问”中填写:
| 配置项 | 示例值 |
| 启用隧道 | 开启 |
| 服务器地址 | frps.example.com |
| 服务器端口 | 7000 |
| TLS | 开启 |
| 鉴权方式 | Token |
| Token | 与 frps.toml 保持一致 |
| 代理名称 | dsh-web |
| 本地服务 | 127.0.0.1:3080(固定、只读) |
| 远端端口 | 13080 |
| 公网 HTTPS 地址 | https://dsh.example.com |
先点击“测试连接”,确认 FRP Server 可达,再点击“保存并重启隧道”。如果修改了公网 HTTPS 地址,还需要重新启动 Harness,使新的 Trusted Host 生效。
4. 从手机或平板访问
确保 Mac 没有休眠、Harness 正在运行且隧道状态显示“已连接”,然后在 iPhone、iPad 或 Android 设备的浏览器中打开 https://dsh.example.com,通过公网入口的访问认证后即可使用当前 Mac 上的 DSH。
移动设备只需要现代浏览器,不需要安装 FRP 客户端。远程访问依赖 Mac、公网服务器和网络连接持续在线。
配置字段
DSH 设置页中的“远程访问”支持配置:
- FRP Server 地址和端口
- TLS 开关
- Token 鉴权
- 代理名称和远端端口
- 公网 HTTPS 地址
本地服务固定为 127.0.0.1:3080。配置文件位于 ~/.dsh/frp,Token 存放于 macOS Keychain;本地配置 API 仅监听 127.0.0.1:3081,写操作需要可信 Origin 和 CSRF 令牌。
安全说明
- FRP 只提供网络隧道,不提供公网 HTTPS、登录认证或访问控制。
- 将 DSH 暴露到公网前,必须在入口层配置 HTTPS 和可靠的访问认证。
- 使用防火墙限制 FRP 远端端口,避免绕过反向代理的 HTTPS 和认证。
- 使用高强度随机 FRP Token,并及时更新 frps、反向代理和 dsh-desktop。
- 不要把 FRP Token、私钥、Cookie 或其他凭据提交到仓库、Issue 或日志中。
- 远程页面只能读取脱敏状态,不能读取或修改本机保存的 FRP Token。
- 插件会在本机 Harness 进程中运行,只安装你信任的插件和版本。
从源码构建
依赖
- macOS 12+
- Xcode Command Line Tools(Swift、codesign、iconutil)
- Node.js / npm
- ffmpeg(生成宠物 HEVC-alpha 资源)
构建命令
./build.sh
./build.sh --install
./build.sh --dmg
./build.sh --version 1.0.0 --install --dmg
构建脚本会:
1. 编译 Swift App。
2. 从 npm 获取清单锁定的插件版本。
3. 为宠物动画生成 WKWebView 使用的 HEVC-alpha MOV。
4. 从 frp Release 下载当前架构的 frpc 0.71.0 并校验 SHA-256。
5. 对 App 进行 ad-hoc 签名,并按参数安装或生成 DMG。
可以通过环境变量指定 ffmpeg:
FFMPEG_BIN=/path/to/ffmpeg ./build.sh --dmg
测试
swiftc -swift-version 5 -typecheck \
-framework Cocoa -framework WebKit \
main.swift PluginManager.swift
node --test tests/frp-config.test.mjs
项目结构
.
├── main.swift # App 生命周期、WKWebView、自举与菜单 ├── PluginManager.swift # 原生插件管理窗口 ├── plugin-catalog.json # 内置插件清单 ├── plugins/ │ ├── dsh-frp-remote/ # FRP 宿主插件和网页设置 │ └── dsh-pet/ # HEVC-alpha 转换与补丁 ├── scripts/ # Profile 迁移和种子清理脚本 ├── tests/ # FRP 配置测试 ├── icon/ # App 图标资源 └── build.sh # App / DMG 构建脚本
数据目录
- App 运行时:~/Library/Application Support/DeepSeek Harness
- DSH Profile:~/.dsh/profiles/web
- FRP 配置:~/.dsh/frp
- 启动日志:~/.dsh/launcher.log
退出桌面窗口不会停止已通过 nohup 启动的 Harness 服务。
第三方项目
- DeepSeek Harness:MIT
- dsh-pet:MIT
- DSH-better-sidebar:MIT
- frp:Apache-2.0
第三方项目、插件及媒体资源继续适用各自的许可证和版权声明。本项目与 DeepSeek 官方不存在隶属或背书关系。
详情见 THIRD_PARTY_NOTICES.md。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
sunkeycn/dsh-desktop
把 Harness 装进 macOS 窗口,还能用手机远程连
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,125已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,465已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,457已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,710已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,378已汉化DSH
70.2
这是你的仓库?认领条目