🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面壳与远程访问 sunkeycn/dsh-desktop

DeepSeek Harness
sunkeycn71 天前有提交已提供中文文档扫描:含敏感能力

把 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
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
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
预览分享卡片长什么样 ↓sunkeycn/dsh-desktop
分享 · DeepSeek Harness Hub
sunkeycn/dsh-desktop

把 Harness 装进 macOS 窗口,还能用手机远程连

这是你的仓库?认领条目

回到顶部