DeepSeek Harness Plugin: dsh-home-hosted

Introduction

The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” As developers, when setting up and managing services locally, you usually need to deal with fragmented configuration and restart recovery issues. The dsh-home-hosted plugin connects DSH with the home-hosted panel. It does not directly install software; instead, it manages entries for services such as Gitea, Jellyfin, and FTP, along with their containerized stacks, through the panel API. It also takes over the panel’s own startup and automatic recovery workflow.

Plugin Overview

  • Name: dsh-home-hosted
  • Maintainer: NamesMT
  • Category: Workflow
  • License: MIT
  • Core features: Generates local server entries via DSH prompts and manages the dsh panel, entries, and autostart from DSH.

Installation and Enablement

Run the following command in the terminal to install the plugin. After installation, the corresponding entry can be found in the settings of the DSH web interface.

dsh plugin --profile web add dsh-home-hosted

Core Features

1. Service Entry Management

The plugin allows full lifecycle management of entries in the home-hosted panel.
* Operations: add, edit, start, stop, restart.
* Supported types: Gitea, Jellyfin, FTP, Compose stacks, and more.

2. Panel Self-Management

In addition to specific service instances, the plugin can also manage the home-hosted panel itself.
* Features: support for BYOU (Bring Your Own UI) custom interfaces, workspace management, reverse proxy (with HTTPS), backups (with AES-256 encryption), notifications, dynamic DNS (DDNS), health checks, real-time logs, and host resource monitoring.

3. Agent Toolset

The plugin includes a built-in set of Agent tools for operating the panel directly within DSH sessions, without manually switching interfaces.
* Status and lists: home_hosted_status (panel status), home_hosted_workspaces_list, home_hosted_servers_list.
* Lifecycle and editing: home_hosted_servers_lifecycle (start/stop/restart), home_hosted_servers_edit (create/update/delete).
* Automatic recovery and logs: home_hosted_autostart_manage (install/uninstall), home_hosted_ui_manage (UI status/update/rollback), home_hosted_panel_logs (panel console logs).

4. Autostart

The plugin supports configuring system-level autostart for the panel, ensuring services are automatically restored after a machine reboot.
* Linux: systemd-user, systemd-system, XDG autostart.
* macOS: launchd-agent, launchd-daemon.
* Windows: Run key, Task Scheduler.

Typical Usage

  1. Add a server: Open Settings → Home Hosted in the DSH interface and add a server following the prompts. For example, you can enter a command to add Gitea (port 3000) and Jellyfin (port 8096).
  2. Configure automatic recovery: Enable Manage dsh and Autostart in the settings. This ensures the panel and all services it manages start automatically after a system reboot.
  3. Use Agent tools: Call Agent tools within a DSH session. For example, use home_hosted_servers_lifecycle to check or control server status, or view home_hosted_panel_logs when the panel does not respond to API requests.

Notes

  • Explicit startup: The plugin does not automatically install or start services after adding them. Actions are executed only when explicitly prompted by the user.
  • Permission requirements: Agent tools are subject to session permission limits. Write operations (such as stopping services or modifying configuration) usually require “full access” permissions.
  • Running identity: Autostart entries run under an elevated user identity or the identity of the panel root owner. If running as root, moving paths may cause startup failures, so directory ownership should be carefully managed.
  • Token handling: If the API Token is missing or rejected, the page will prompt you and allow one-click generation of a valid Token.
  • Multi-panel identification: If multiple home-hosted panel instances exist on the machine, Agent tools will first identify and lock onto the target panel before executing operations, avoiding accidental changes to the wrong panel.

Ecosystem Context

DSH’s philosophy is “everything is a plugin.” This plugin is maintained by community developer NamesMT and aims to enhance DSH’s local deployment capabilities. For more details and source code, see: GitHub.

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

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

Xiaoye