dsh-macos-skin:把 DeepSeek Harness 装扮成原生 macOS 应用的插件

前言

DeepSeek Harness (DSH) 提供了基于插件的架构,其中 dsh web 是主要的图形界面。虽然功能完备,但在终端中运行时,它看起来仍然像浏览器标签页,且调试可能很棘手。dsh-macos-skin 解决了这两个问题:它提供了原生的 macOS 视觉风格,并为整个会话(浏览器和服务器)提供了一个集中式的错误日志面板。

功能

该插件主要包含两部分功能:

macOS 桌面皮肤

将网页版界面模拟为 macOS 桌面应用,包括:
* 毛玻璃菜单栏:包含文件/显示/窗口/帮助菜单及实时时钟。
* 浮动应用窗口:窗口左上角带有红绿灯按钮,分别对应最小化到 Dock、显示 Dock、全屏。
* 底部 Dock:图标支持悬停放大效果。
* 明暗主题:自动跟随系统的明暗主题切换。

实时报错日志

在 Dock 栏增加日志图标(或使用快捷键 ⌘L)打开日志面板,支持:
* 浏览器端错误:捕获 window.onerror、未处理 Promise、console.error/warn 等。
* 服务端运行日志:轮询读取 ~/.dsh/logs/web.log。
* 插件安装日志:轮询读取 ~/.dsh/logs/install.log。
* 日志操作:支持按级别过滤、自动滚动、清空、导出为 .log 文件;检测到错误时,Dock 和标题栏会显示红色角标。

安装与启用

安装前请确保环境已安装 pnpm。

dsh plugin --profile web add "dsh-macos-skin@github:hero-goblins/dsh-macos-skin"

插件通过 dsh.bundle.patch 自动加入 profile 层,通过 dsh.client 声明注入 window.__DSH_BOOT__。安装后重启 dsh web 并刷新浏览器即可生效。

典型用法

  • 查看日志:按 ⌘L 或点击 Dock 中的日志图标打开日志面板。
  • 服务端日志同步:为了让日志面板显示服务端输出,启动命令需将日志重定向到文件:
    dsh web 2>&1 | tee -a ~/.dsh/logs/web.log
插件通过 `/dsh-logs/` 路由读取 `~/.dsh/logs/*.log`,日志内容由启动方式决定。
  • 卸载:
    dsh plugin --profile web remove dsh-macos-skin

注意事项

  • 依赖环境:需要 pnpm 环境。
  • 权限与读取:Host 半端只负责提供 ~/.dsh/logs/*.log 的读取路由,日志文件的实际内容由启动时的命令决定(如是否使用 tee 命令)。
  • 代码审查:插件使用 MIT 许可证,安装前建议检查源码。

总结

dsh-macos-skin 通过视觉伪装和日志聚合,显著提升了 dsh web 的使用体验。它不仅让界面更接近原生应用,还通过集中管理服务端和客户端日志,简化了开发调试流程。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜