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

桌面外壳 qq984876303/deepseek-DSH-Desktop

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

在 macOS 上以原生窗口运行 dsh 并加密保存密钥

26.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add qq984876303/deepseek-DSH-Desktop
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · security
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 78 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
  • 读取本地文件
    src/main.js:29
    if (!fs.existsSync(f)) return null;
  • 读取本地文件
    src/main.js:30
    return safeStorage.decryptString(fs.readFileSync(f));
  • 写入本地文件
    src/main.js:40
    fs.writeFileSync(apiKeyFile(), safeStorage.encryptString(key));
  • 删除本地文件
    src/main.js:45
    fs.unlinkSync(apiKeyFile());
  • 读取本地文件
    src/main.js:61
    return Object.assign(defaultSettings(), JSON.parse(fs.readFileSync(settingsFile(), 'utf8')));
  • 写入本地文件
    src/main.js:68
    fs.writeFileSync(settingsFile(), JSON.stringify(Object.assign(readSettings(), s), null, 2));
  • 写入本地文件
    src/main.js:74
    fs.mkdirSync(home, { recursive: true });
  • 执行外部命令来自配置/变量
    src/main.js:90
    dshProc = spawn(
  • 发起网络请求
    src/main.js:131
    const req = http.get(url, (res) => {
  • 请求外部主机api.github.com
    src/main.js:342
    const res = await fetch('https://api.github.com/repos/' + REPO + '/releases/latest', {
  • 发起网络请求
    src/main.js:342
    const res = await fetch('https://api.github.com/repos/' + REPO + '/releases/latest', {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
涉及外部主机:api.github.com

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis-plugin-group@deepseek-ai/dsh@deepseek-ai/dsh-anonymous-user-id@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-bash-local@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-compaction@deepseek-ai/dsh-fs@deepseek-ai/dsh-invariants@deepseek-ai/dsh-output-retention@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-scope
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 原生窗口运行
  • 加密保存密钥

基于deepseek-harness 封装的mac os 桌面端

README

由 DeepSeek 最新模型翻译生成
DSH Desktop macOS 版 DeepSeek Harness(dsh)桌面外壳。 本文档为双语:每个章节先给出英文,再给出中文对照。 Run (dev) · 运行(开发模式) npm install npm start The Electron main process spawns the published @deepseek-ai/dsh CLI (dsh web, run as a Node process via ELECTRON_RUN_AS_NODE) and a BrowserWindow loads the served UI. No need to clone or build the dsh monorepo from source — the published npm package already bundles the web frontend. - First launch shows a setup window for the DeepSeek API key. It is encrypted with macOS Keychain (Electron safeStorage) and stored under ~/Library/Application Support/DSH Desktop/apikey.
展开完整文档(README 剩余 1 节)
DSH Desktop

macOS 版 DeepSeek Harness(dsh)桌面外壳。

本文档为双语:每个章节先给出英文,再给出中文对照。

Run (dev) · 运行(开发模式)

npm install
npm start

The Electron main process spawns the published @deepseek-ai/dsh CLI (dsh web,
run as a Node process via ELECTRON_RUN_AS_NODE) and a BrowserWindow loads the
served UI. No need to clone or build the dsh monorepo from source — the published
npm package already bundles the web frontend.

- First launch shows a setup window for the DeepSeek API key. It is encrypted with
macOS Keychain (Electron safeStorage) and stored under
~/Library/Application Support/DSH Desktop/apikey.
- dsh home (DSH_HOME) is redirected to
~/Library/Application Support/DSH Desktop/dsh-home (profiles, session log,
installed plugins).
- The main process starts dsh web --port 0 (OS picks a free port), parses the
printed URL, and loads it.

中文 Electron 主进程会拉起已发布的 @deepseek-ai/dsh CLI(dsh web,通过 ELECTRON_RUN_AS_NODE 以 Node 进程方式运行),再由 BrowserWindow 加载它提供的 Web UI。无需克隆或从源码构建 dsh 的 monorepo——已发布的 npm 包已经自带前端界面。

- 首次启动会弹出设置窗口,用于录入 DeepSeek API key。该 key 通过 macOS 钥匙串(Electron safeStorage)加密,保存在 ~/Library/Application Support/DSH Desktop/apikey。
- dsh 主目录(DSH_HOME)重定向到 ~/Library/Application Support/DSH Desktop/dsh-home(存放配置档、会话日志、已安装插件)。
- 主进程启动 dsh web --port 0(由系统分配空闲端口),解析其打印出的 URL 并加载。

Features · 功能特性

- Settings panel — re-enter or clear the API key anytime from the app menu (DSH Desktop → Settings…, or ⌘,). No more deleting files by hand.
- Ollama local backend — switch the model backend to Ollama and run models entirely on your machine, no API key required. The shell points dsh's OpenAI- compatible provider at http://localhost:11434/v1; pick the model name inside the
dsh Web UI.
- Native macOS menu — application / edit / view / window / help menus, with About, Settings, developer tools, and a direct link to the GitHub repo.
- Dark mode — follows the system appearance by default, or force Dark / Light from the View menu.
- Update check — unsigned apps can't self-update via Sparkle, so the Help menu checks the latest GitHub Release and opens the download page when a newer version exists.

功能特性

- 设置面板 —— 随时从应用菜单(DSH Desktop → 设置…,或 ⌘,)重新录入或清除 API key,不用再手动删文件。
- Ollama 本地后端 —— 把模型后端切到 Ollama,模型全部跑在本机,无需 API key。
外壳会把 dsh 的 OpenAI 兼容服务商指向 http://localhost:11434/v1;模型名在
dsh Web UI 里选。
- 原生 macOS 菜单 —— 应用 / 编辑 / 视图 / 窗口 / 帮助菜单,含关于、设置、开发者工具,以及直达 GitHub 仓库的入口。
- 深色模式 —— 默认跟随系统外观,也可在视图菜单里强制深色 / 浅色。
- 更新检查 —— 未签名应用无法通过 Sparkle 自更新,因此帮助菜单会查询最新的 GitHub Release,发现新版本时打开下载页。

Build from source · 本地重建 dmg

npm run dist # outputs: out/DSH Desktop-<version>-arm64.dmg (and -x64.dmg)
English — Prerequisites
- macOS(推荐 Apple Silicon / arm64;也会产出 x64 版本)。
- Node.js 18+(本项目用 Node 22 构建)和 npm。
- 约 1.5 GB 空闲磁盘,留给 node_modules 和构建产物。

English — Steps
1. 克隆并进入项目: sh
git clone https://github.com/qq984876303/deepseek-DSH-Desktop.git
cd deepseek-DSH-Desktop
2. 安装依赖(这一步也会下载 Electron 二进制和 dsh 运行时包): sh
npm install
如果安装后 node_modules/electron/dist 不见了,手动拉取二进制:
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ node node_modules/electron/install.js
3. 打包 dmg: sh
npm run dist
4. 在 out/ 里找到产物: DSH Desktop-<version>-arm64.dmg(还有 -x64.dmg)。

English — Notes
- identity: null 会产出未签名版本。首次打开时,macOS Gatekeeper 会拦截——右键 App → 打开,放行一次即可。
- asar 是故意关掉的,这样拉起的 Node 进程才能读取磁盘上的 dsh 文件。
- .dmg 不会提交到这个仓库(超过 GitHub 100 MB 文件上限)。请从 Releases 页面下载。
- API key 绝不打包进去——它只存在你本机的钥匙串里。

中文 — 前置条件
- macOS(推荐 Apple Silicon / arm64;也会同时产出 x64 版本)。
- Node.js 18+(本项目使用 Node 22)与 npm。
- 约 1.5 GB 空闲磁盘空间,用于 node_modules 与构建产物。

中文 — 步骤
1. 克隆并进入项目: sh
git clone https://github.com/qq984876303/deepseek-DSH-Desktop.git
cd deepseek-DSH-Desktop
2. 安装依赖(这一步会下载 Electron 二进制以及 dsh 运行时依赖包): sh
npm install
若安装后 node_modules/electron/dist 为空,可手动补全二进制:
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ node node_modules/electron/install.js
3. 打包 dmg: sh
npm run dist

4. 在 out/ 目录下查看产物: DSH Desktop-<version>-arm64.dmg(以及 -x64.dmg)。

中文 — 说明
- identity: null 表示打包出的是未签名版本。首次打开时 macOS 的 Gatekeeper 会拦截——右键 App →「打开」即可放行一次。
- asar 被刻意关闭,以便拉起的 Node 子进程能直接读取磁盘上的 dsh 文件。
- .dmg 不会提交进本仓库(超过 GitHub 单文件 100 MB 上限)。请从 Releases 页面下载安装包。
- API key 绝不会被打进包里——它只存在于你本机的钥匙串中。

Architecture notes · 架构说明

- src/main.js — boot flow: API key → spawn dsh → parse URL → load window.
- src/preload.js — contextBridge for the setup window.
- src/setup.html — first-run API key entry form.
- build/entitlements.mac.plist — hardened-runtime entitlements (used when signing).
- build/entitlements.mac.sandbox.plist — App Sandbox entitlements (future use).

- src/main.js —— 启动流程:读 API key → 拉起 dsh → 解析 URL → 加载窗口。
- src/preload.js —— 设置窗口的 contextBridge 桥接。
- src/setup.html —— 首次启动录入 API key 的表单页。
- build/entitlements.mac.plist —— Hardened Runtime 权限(签名时使用)。
- build/entitlements.mac.sandbox.plist —— App Sandbox 权限(预留,未来启用)。

Sandbox caveat (important) · 沙箱注意事项(重要)

dsh 是一个代码执行型 harness:它会拉起子进程(shell、PTY、LSP)。macOS 的 App Sandbox 会限制任意子进程拉起,因此 App Sandbox 与完整的代码执行型智能体在根本上存在冲突。

- v1 版本默认不开启 App Sandbox,而是依赖 dsh 自身的审批策略 + hardened-runtime 权限。这一点已体现在构建配置中。
- 仓库中提供了 entitlements.mac.sandbox.plist 以备将来启用。一旦启用,需要把 DSH_HOME 重定向进沙箱容器,并且会限制 shell 执行类工具的能力。
- dsh 自带的 Landlock 沙箱仅支持 Linux,在 macOS 上本就是空操作(已发布的包在 macOS 上无需它也能正常运行)。
预览分享卡片长什么样 ↓qq984876303/deepseek-DSH-Desktop
分享 · DeepSeek Harness Hub
qq984876303/deepseek-DSH-Desktop

在 macOS 上以原生窗口运行 dsh 并加密保存密钥

回到顶部