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

原生桌面外壳 zereraz/dsh-native

DeepSeek Harnessv0.1.0
zereraz38 天前有提交已提供中文文档扫描:含敏感能力

用系统 WebView 运行 dsh 仪表盘,免装 Chromium

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

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

自动兼容检查未通过:缺少 main/exports/bin 入口声明;要求 dsh 0.1.1-rc.2,而最新版为 0.2.1-rc.2;仓库 package.json 标记 private,未发布到 npm,需从源码安装;安装清单取自 supervisor/package.json。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zereraz/dsh-native
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 38 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;要求 dsh 0.1.1-rc.2,而最新版为 0.2.1-rc.2;仓库 package.json 标记 private,未发布到 npm,需从源码安装;安装清单取自 supervisor/package.json

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-supervisor @ 0.1.0
✓Node 引擎未声明 engines.node
✗dsh CLI 依赖要求 0.1.1-rc.2 · 最新 0.2.1-rc.2 不兼容
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/20 00:18:44

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
  • 写入本地文件
    supervisor/dsh-web.mjs:30
    mkdirSync(profileDir, { recursive: true });
  • 写入本地文件
    supervisor/dsh-web.mjs:31
    copyFileSync(join(here, '..', 'config', 'cordis.patch.yml'), join(profileDir, 'cordis.patch.yml'));
  • 读取本地文件
    supervisor/dsh-web.mjs:47
    try { text = readFileSync(join(home, f), 'utf8'); } catch { continue; }
  • 执行外部命令来自配置/变量
    supervisor/dsh-web.mjs:79
    const child = spawn(
  • 写入本地文件
    supervisor/dsh-web.mjs:95
    writeFileSync(tmp, m[1] + '\n');
  • 写入本地文件
    supervisor/dsh-web.mjs:96
    renameSync(tmp, WEB_URL_FILE);
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 免装Chromium

README

由 DeepSeek 最新模型翻译生成
dsh-native 一个独立的 原生 桌面应用,用于 DeepSeek Harness,基于 vercel-labs/native(“Native SDK”)构建——没有 Electron,没有捆绑的 Chromium。外壳是一个约 3 MB 的 Zig 二进制文件;dsh Web 仪表盘在系统 WebView(macOS 上为 WebKit)中渲染,由一个小型 supervisor sidecar 驱动,该 sidecar 运行 dsh 运行时。 - 单个窗口,拥有自己的数据主目录(~/.dsh-native)和 WebView 配置文件。 - 遥测和消息/命令反馈被硬性禁用——每次启动时都会向配置文件中安装一个隐私补丁层。 - dsh Web 在固定的回环端口(41730)上提供服务,然后由外壳加载。
展开完整文档(README 剩余 1 节)
dsh-native

一个独立的 原生 桌面应用,用于 DeepSeek Harness,基于 vercel-labs/native(“Native SDK”)构建——没有 Electron,没有捆绑的 Chromium。外壳是一个约 3 MB 的 Zig 二进制文件;dsh Web 仪表盘在系统 WebView(macOS 上为 WebKit)中渲染,由一个小型 supervisor sidecar 驱动,该 sidecar 运行 dsh 运行时。

- 单个窗口,拥有自己的数据主目录(~/.dsh-native)和 WebView 配置文件。
- 遥测和消息/命令反馈被硬性禁用——每次启动时都会向配置文件中安装一个隐私补丁层。
- dsh Web 在固定的回环端口(41730)上提供服务,然后由外壳加载。

开发

cd supervisor && npm install # 一次性操作:获取 @deepseek-ai/dsh 运行时
cd .. && native build # -> zig-out/bin/dsh-shell

运行它(两个终端):

node supervisor/dsh-web.mjs # 在 127.0.0.1:41730 上启动 dsh web + 安装隐私补丁
zig-out/bin/dsh-shell # 原生窗口,指向仪表盘

native check 验证 app.zon;native package --target macos 生成可分发的 .app。

布局

- app.zon — 窗口、bundle id、能力、.frontend.dev(URL + supervisor 命令)、导航安全。
- src/main.zig — 精简入口:native_sdk.WebViewSource.url(...)、窗口标题、允许的来源。不附带 JS 运行时。
- src/runner.zig — SDK runner 胶水代码。
- supervisor/ — Node sidecar:拥有 DSH_HOME,安装 config/cordis.patch.yml,以 --expose-internals 启动 dsh web。
- config/cordis.patch.yml — 隐私补丁层(禁用遥测、消息/命令反馈、客户端 HMR)。

操作规则(承重规则——从事故中习得)

这些规则约束 任何接触本仓库生命周期脚本的 agent 或人类。它们不是风格偏好;每一条的存在都是因为跳过它曾破坏用户正在运行的应用。底部的两个机械门禁编码了最严重的违规者——不要移除它们。

1. 禁止尾部掩盖的判定。 绝不要将构建/验证通过 | tail 管道后称之为通过。将完整输出捕获到文件;在其中 grep 失败标记;引用退出码。(事故:构建在失败时被宣布为通过;一次 staging 运行在流水线中途两次静默死亡。)
2. 先插桩,再打补丁。 当失败原因未知时,先添加日志或复现探针——不要凭猜测更改共享代码。(事故:一次盲目的“修复”散落了 185 个杂散构建文件,之后才找到真正的根本原因——陈旧的幽灵包目录。)
3. 先枚举,再过滤。 任何选择谓词(遍历、门禁、允许列表)都必须打印它 丢弃 了什么,绝不静默跳过。(事故 01a06e17:一个仅限 lib/ 的门禁静默丢弃了仅含 bin 的平台附加组件包;启动保持通过,而每个用户会话在激活后恢复时崩溃。)
4. 中断安全的 git。 在任何中止的提交/变基(lint 钩子、冲突标记),在下一次变更前运行 git status + git log。绝不盲目 --amend。(事故:一次被 lint 中止的提交,被后来的 --amend 折叠进了一个无关的补丁。)
5. 实证,而非文学。 关于运行时行为的断言要通过探测获得—— curl、CLI、动态导入 —— 绝不从阅读源码中直接断言。
(事故:从源码断言的重启安全性建议在回滚顺序、影响范围和会话丢失三方面都是错的;三者均被实证反驳纠正。)
6. 大声失败,绝不静默跳过。 每一个吞掉错误的 catch/|| true 都必须打印它吞掉了什么,以及为什么这样做是安全的。
7. 把守咽喉点,而非源头。 插件通过三种不同方式到达(事务性发布、手工链接的 misc/、手动编辑 profile),而它们全都汇聚到恰好一个地方 —— 一次后端重启。
按路径设关卡会漏掉你没想到的那条路径;在咽喉点设关卡则能全部捕获。(事故:手工链接的 dsh-chat-notes 注册了一条重复路由 —— 1,611 次启动失败,而没有任何关卡看到它,因为没有关卡设在重启上。)*
8. 崩溃循环看起来像活着。 launchd KeepAlive 盲目地永远重新拉起;一个每隔几秒就死掉的后端仍然能足够频繁地提供登录页面,以至于 GUI 在转圈而不是显示“已宕机”。对病态进程行为的检测必须存在于进程之外 ——那是哨兵的职责,不是应用的。
9. 抬高上限是一种缓解,不是修复。 --max-old-space-size 把 GC 死亡螺旋的墙从 4 GB 移到了 16 GB;而蠕变本身在被测量之前始终未获解释。在接受任何“提高限制”的修复之前,先启动本应为其提供依据的测量。
10. 签名的 bundle 不是逐字节相同的副本。 从签名的应用 bundle 启动时,home-patch 插件条目(根 ~/.dsh/cordis.patch.yml)导入失败 —— “failed to import”,错误被吞进一个静默的 ctx logger —— 而逐字节相同的 supervisor 副本却能干净地启动它们。cordis 加载器的 Node 内部导入快速路径是差异所在;注册任何 ESM 钩子(--import 一个空操作的 register)会强制走标准导入路径并修复它。launchd plist 为此携带了
NODE_OPTIONS="--import ~/.dsh/loader-hook/register.mjs";钩子文件位于 ~/.dsh/loader-hook/;patch-entry 包必须能从 ~/.dsh/node_modules/ 解析(patch 文件所在目录是条目导入基准 —— 真实目录副本,而非指向 bundle 的符号链接)。
症状类别:MCP 服务器(indmoney、tinyfish)静默死亡,以及包含其工具事件的会话出现长达数分钟的“Loading history…”挂起。

机械关卡(不要移除):
- stage-app.mjs —— 依赖闭包断言:候选版本中任何包声明的每一个 @deepseek-ai 内部依赖都必须存在于磁盘上(要求宿主平台变体,其他豁免)。一个悬空的
- 引用在签名前中止暂存。
- update-app.sh 门禁——flock 冒烟测试:通过产物的 node-addon-system 平台二进制文件获取真实的文件锁。捕获全新启动门禁无法发现的缺失仅二进制包。
- restart-app.sh——配置文件预检(profile-preflight.sh):在触碰正在运行的后端之前,真实配置文件必须能干净地沙箱启动。中止退出码 5 会使正在运行的应用保持原样。捕获无论以何种方式引入的、会破坏启动的配置文件/插件变更。
- ~/.dsh/scripts/dsh-sentinel.sh(LaunchAgent com.zereraz.dsh-sentinel)——堆内存爬升看门狗(警告 8 GB → 空闲门控优雅重启,严重 12 GB → 强制重启),崩溃循环频繁检测(≥6 个 pid/10 分钟 → 带最后加载器错误的醒目通知),全新启动加载器腐化浮现。日志记录到 ~/.dsh/logs/mem-watch.log。

路线图

- 暂时保持完整的 dsh Web 仪表板原样。
- 随着时间推移,通过 Native SDK 的 web_panes / 分屏窗口,将聚焦界面(会话列表、状态栏、模型选择器、审批)移植为嵌入式仪表板旁的 .native 组件。
预览分享卡片长什么样 ↓zereraz/dsh-native
分享 · DeepSeek Harness Hub
zereraz/dsh-native

用系统 WebView 运行 dsh 仪表盘,免装 Chromium

这是你的仓库?认领条目

回到顶部