在原生窗口里运行 dsh 网页界面并管理服务
29.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add gustavofullstack/harness-mac该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 原生窗口运行网页界面
- 管理服务
非官方原生 macOS 应用,把 DeepSeek Harness(dsh)官方 Web UI 装进原生窗口,还带一个类型化 Swift 客户端对接 dsh SDK。
README
由 DeepSeek 最新模型翻译生成适用于 Mac 的 DSH
一个非官方的原生 macOS 应用,用于 DeepSeek Harness(dsh)。
它在一个原生窗口中运行 harness 自带的 Web UI,因此界面与官方完全一致——相同的代码、相同的功能、相同的更新——同时该应用为它提供了浏览器标签页无法提供的东西:Dock 图标、真正的菜单栏、重启后依然保留的窗口状态,以及一个整个生命周期都由该应用掌控的 dsh 服务器。
与 DeepSeek 无关联,也未获其认可。“DeepSeek”和“DeepSeek Harness”是其各自所有者的商标。
功能
- 启动绑定到 127.0.0.1 的 dsh --profile web --no-open,并将其加载到 WKWebView 中。
- 退出时停止它(先 SIGTERM,6 秒后 SIGKILL,以便 MCP 服务器干净地关闭)。
dsh --profile web 在其父进程死亡时不会退出,因此该应用会记录服务器的 pid,并在下次启动时
停止残留的服务器(在崩溃或强制退出之后)。
- 每次启动时启动一个新的服务器,并加载它输出的登录 URL。来自 / 的响应若不带该登录令牌,则不会建立已认证的会话。
- 以用户发起的 QoS 启动 dsh。视图 → DSH 运行期间保持 Mac 唤醒 默认开启,以防止任务期间进入空闲睡眠,也可以将其关闭。
展开完整文档(README 剩余 1 节)
适用于 Mac 的 DSH 一个非官方的原生 macOS 应用,用于 DeepSeek Harness(dsh)。 它在一个原生窗口中运行 harness 自带的 Web UI,因此界面与官方完全一致——相同的代码、相同的功能、相同的更新——同时该应用为它提供了浏览器标签页无法提供的东西:Dock 图标、真正的菜单栏、重启后依然保留的窗口状态,以及一个整个生命周期都由该应用掌控的 dsh 服务器。 与 DeepSeek 无关联,也未获其认可。“DeepSeek”和“DeepSeek Harness”是其各自所有者的商标。 功能 - 启动绑定到 127.0.0.1 的 dsh --profile web --no-open,并将其加载到 WKWebView 中。 - 退出时停止它(先 SIGTERM,6 秒后 SIGKILL,以便 MCP 服务器干净地关闭)。 dsh --profile web 在其父进程死亡时不会退出,因此该应用会记录服务器的 pid,并在下次启动时 停止残留的服务器(在崩溃或强制退出之后)。 - 每次启动时启动一个新的服务器,并加载它输出的登录 URL。来自 / 的响应若不带该登录令牌,则不会建立已认证的会话。 - 以用户发起的 QoS 启动 dsh。视图 → DSH 运行期间保持 Mac 唤醒 默认开启,以防止任务期间进入空闲睡眠,也可以将其关闭。 - 将服务器保持在回环地址上:任何其他链接都会在你的默认浏览器中打开。 - 使用一个稳定的本地端口(3179,若不可用则回退到一个空闲端口),以便 UI 的本地存储——当前会话、草稿——在重启后依然保留。 - 原生菜单:⌘R 重新加载,⇧⌘R 重启 harness,⇧⌘O 在浏览器中打开,⌘0/⌘=/⌘- 缩放,全屏,标准编辑快捷键。 - 将原生标题栏融入 harness 画布,同时保留 macOS 窗口控件。 - 设置…(⌘,)将可选的 Jev 和 OmniRoute 密钥保存在此 Mac 的钥匙串中。两者默认关闭,且登录 shell 导出的凭据不会为这些集成所继承。启用某个开关只会将该用户保存的密钥转发给 dsh;实际的 DSH 提供方、插件或网关必须单独配置,并通过一次请求加以验证。 - Swift 宿主不发送任何遥测数据。已安装的 dsh、模型提供方、插件以及用户配置的网关可能会根据其自身设置使用网络。Harness 设置和会话保留在 $DSH_HOME 下(通常为 ~/.dsh)。 要求 - macOS 15 或更高版本(Apple 芯片或 Intel)。 - 已安装 DeepSeek Harness 且位于你的 PATH 中——请遵循官方快速入门。 该应用从你的登录 shell 解析 PATH,因此如果 dsh 在终端中可用,在这里也可用。 若要指向特定的二进制文件: defaults write io.github.harness-mac dshPath /path/to/dsh 构建 swift test # 单元测试 scripts/bundle.sh # 通用、临时签名的 dist/DSH.app scripts/bundle.sh --install # 同上,替换 /Applications/DSH.app(仅保留一份副本)临时签名应用的首次启动需要右键 → 打开。 应用图标是 harness 自带的 logo,在构建时从你本地的 dsh 安装中读取(它不属于本仓库)。如果没有安装 dsh,则使用一个中性图标。 无头检查 应用可以离屏渲染、保存 PNG 并退出——这对于 CI 以及在不占用你屏幕的情况下验证改动非常方便: HARNESS_SNAPSHOT=/tmp/harness.png /Applications/DSH.app/Contents/MacOS/DSH HARNESS_SNAPSHOT_JS 会在页面加载后于页面中求值,而 HARNESS_SNAPSHOT_DELAY (秒,默认 5)则是在其前后等待的时间。 布局 | 路径 | 内容 | | Sources/HarnessApp | AppKit 应用:窗口、菜单、WKWebView 宿主 | | Sources/DSHKit | dsh 的类型化 Swift 客户端:Web 服务器生命周期以及 SDK stdio JSON-RPC 协议 | | Sources/harness-smoke | 端到端驱动 SDK 运行时的 CLI(harness-smoke "") | | Sources/webserver-smoke | 启动和停止 dsh --profile web N 次并打印启动时间的 CLI(webserver-smoke 6) | | Tests/DSHKitTests | 分帧、协议解码、设置、转录归约器、URL 解析 | webserver-smoke 使用操作系统分配的端口,检查发出的登录 URL 能否通过认证,并检查服务器在 stop() 之后是否停止接受连接。 python3 scripts/reconnect-smoke.py 会使用一个临时 DSH 配置文件离屏运行应用, 仅终止它自己的服务器子进程,检查页面是否重新连接,并验证替换后的服务器会随应用一起退出。 若要发送带有选定 effort 的最小 SDK 请求,请在运行 harness-smoke 之前设置 HARNESS_SMOKE_EFFORT。该 effort 必须由已安装的 DSH 配置为该模型声明。 设置 HARNESS_SMOKE_EXPECT 可要求一个精确的合成答案;若不设置它,冒烟检查只能判断收到了一条助手消息,而无法判断该路由是否真正成功。 说明 有关模型、effort、OAuth、agent、MCP 以及 Jev 边界,请参阅集成契约。 可选的 Jev Cordis 路由选择器是用于用户配置的 DSH 覆盖层的源代码。其 JavaScript 文件也打包在 DSH.app/Contents/Resources/Integrations/Jev/ 下;应用不会静默激活它。 - 在本地检查中,一次健康的 dsh 启动耗时 3–8 秒。一次间歇性的 DSH 启动在看门狗重启它之前没有产生 URL(在八次运行的样本中为 35.8 秒)。应用现在会在 15 秒没有 URL 后重启一次,然后最多等待 180 秒进行重试。底层的 DSH 停滞仍在调查中。 - 模型和 effort 菜单由已安装的 DSH Web UI 提供。自定义模型仅当它们在 $DSH_HOME/settings.yaml 中声明了 reasoningEfforts 时才会显示 Effort 菜单。让 effort 保持未选中状态可让配置的路由自动选择。应用不会为每个 effort 创建单独的模型条目。 - SDK 会话(DSHKit)无法跨运行时进程恢复;该限制来自 dsh。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
gustavofullstack/harness-mac
在原生窗口里运行 dsh 网页界面并管理服务
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,362已汉化DSH
71.4
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,814已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。