前言¶
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 的使用体验。它不仅让界面更接近原生应用,还通过集中管理服务端和客户端日志,简化了开发调试流程。