Introduction

DeepSeek Harness (DSH) provides a plugin-based architecture, in which dsh web is the main graphical interface. Although it is feature-complete, when running in the terminal, it still looks like a browser tab, and debugging can be cumbersome. dsh-macos-skin addresses these two issues: it provides a native macOS visual style and a centralized error log panel for the entire session (browser and server).

Features

This plugin primarily provides two feature groups:

macOS Desktop Skin

The web interface is styled as a macOS desktop application, including:
* Frosted glass menu bar: It includes File/View/Window/Help menus and a real-time clock.
* Floating application window: The top-left corner of the window has traffic-light buttons, corresponding to minimizing to the Dock, showing the Dock, and entering full screen.
* Bottom Dock: Icons support hover-to-magnify effects.
* Light/Dark themes: Automatically follows the system’s light or dark theme.

Real-Time Error Logs

Add a log icon to the Dock (or use the keyboard shortcut ⌘L) to open the log panel. Supported features include:
* Browser-side errors: captures window.onerror, unhandled Promise rejections, console.error/warn, etc.
* Server-side runtime logs: polls and reads ~/.dsh/logs/web.log.
* Plugin installation logs: polls and reads ~/.dsh/logs/install.log.
* Log operations: supports filtering by level, auto-scrolling, clearing, and exporting to a .log file; when an error is detected, the Dock and title bar display a red badge.

Installation and Activation

Before installing, ensure that pnpm is installed in the environment.

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

The plugin is automatically added to the profile layer via dsh.bundle.patch and injected into window.__DSH_BOOT__ through the dsh.client declaration. After installation, restart dsh web and refresh the browser for the changes to take effect.

Common Usage

  • View logs: Press ⌘L or click the log icon in the Dock to open the log panel.
  • Server log synchronization: To display server-side output in the log panel, the startup command must redirect logs to a file:
    dsh web 2>&1 | tee -a ~/.dsh/logs/web.log
The plugin reads `~/.dsh/logs/*.log` through the `/dsh-logs/` route. The log content is determined by the startup method.
  • Uninstall:
    dsh plugin --profile web remove dsh-macos-skin

Notes

  • Dependencies: Requires a pnpm environment.
  • Permissions and reading: The host side is only responsible for providing a read route for ~/.dsh/logs/*.log. The actual log file content is determined by the command used at startup (for example, whether the tee command is used).
  • Code review: The plugin uses the MIT license. It is recommended to review the source code before installation.

Summary

dsh-macos-skin significantly improves the user experience of dsh web through visual disguise and log aggregation. It not only makes the interface closer to a native application but also simplifies the development and debugging process by centrally managing server-side and client-side logs.