DeepSeek Harness 插件:dsh-home-hosted

前言

DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。作为开发者,在本地搭建并管理服务时,通常需要面对分散的配置和重启恢复的问题。dsh-home-hosted 插件连接了 DSH 与 home-hosted 面板,它不负责直接安装软件,而是通过面板 API 管理 Gitea、Jellyfin、FTP 等服务及其容器化堆栈的条目,同时接管面板自身的启动和自动恢复流程。

插件概况

  • 名称:dsh-home-hosted
  • 维护者:NamesMT
  • 类别:工作流
  • 许可证:MIT
  • 核心功能:通过 DSH 提示生成本地服务器条目,并从 dsh 管理面板、条目及开机自启。

安装与启用

在终端中执行以下命令安装插件。安装后,在 DSH 的 Web 界面设置中即可找到对应入口。

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

核心功能

1. 服务条目管理

插件允许对 home-hosted 面板中的条目进行全生命周期管理。
* 操作:添加、编辑、启动、停止、重启。
* 支持类型:Gitea、Jellyfin、FTP、Compose 堆栈等。

2. 面板自身管理

除了具体的服务实例,插件还能管理 home-hosted 面板本身。
* 功能:支持 BYOU(Bring Your Own UI)自定义界面、工作区管理、反向代理(含 HTTPS)、备份(支持 AES-256 加密)、通知、动态 DNS (DDNS)、健康检查、实时日志及主机资源监控。

3. Agent 工具集

插件内置了一组 Agent 工具,用于在 DSH 会话中直接操作面板,无需手动切换界面。
* 状态与列表:home_hosted_status(面板状态)、home_hosted_workspaces_list、home_hosted_servers_list。
* 生命周期与编辑:home_hosted_servers_lifecycle(启动/停止/重启)、home_hosted_servers_edit(创建/更新/删除)。
* 自动恢复与日志:home_hosted_autostart_manage(安装/卸载)、home_hosted_ui_manage(UI 状态/更新/回滚)、home_hosted_panel_logs(面板控制台日志)。

4. 开机自启

插件支持为面板配置系统级开机自启,确保机器重启后服务自动恢复。
* Linux:systemd-user、systemd-system、XDG autostart。
* macOS:launchd-agent、launchd-daemon。
* Windows:Run key、Task Scheduler。

典型用法

  1. 添加服务器:在 DSH 界面打开 Settings → Home Hosted,根据提示添加服务器。例如,可以输入指令添加 Gitea(端口 3000)和 Jellyfin(端口 8096)。
  2. 配置自动恢复:在设置中开启 Manage dsh 和 Autostart。这会确保面板及其管理的所有服务在系统重启后自动启动。
  3. 使用 Agent 工具:在 DSH 会话中调用 Agent 工具。例如,使用 home_hosted_servers_lifecycle 检查或控制服务器状态,或在面板未响应 API 时查看 home_hosted_panel_logs。

注意事项

  • 显式启动:插件不会在添加后自动安装或启动服务,必须由用户明确提示才会执行。
  • 权限要求:Agent 工具受会话权限限制,执行写入操作(如停止服务、修改配置)通常需要「完全访问」权限。
  • 运行身份:开机自启条目以提升权限的用户身份或面板 root 所有者的身份运行。若以 root 运行,路径移动可能导致启动失败,需注意目录归属。
  • Token 处理:如果 API Token 缺失或被拒绝,页面会提示并允许一键生成有效的 Token。
  • 多面板识别:如果机器上存在多个 home-hosted 面板实例,Agent 工具在执行操作前会先识别并锁定目标面板,避免误操作。

生态背景

DSH 理念是「一切皆插件」,该插件由社区开发者 NamesMT 维护,旨在丰富 DSH 的本地化部署能力。更多详情与源码可参考:GitHub。

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

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

小夜