前言¶
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。
典型用法¶
- 添加服务器:在 DSH 界面打开 Settings → Home Hosted,根据提示添加服务器。例如,可以输入指令添加 Gitea(端口 3000)和 Jellyfin(端口 8096)。
- 配置自动恢复:在设置中开启 Manage dsh 和 Autostart。这会确保面板及其管理的所有服务在系统重启后自动启动。
- 使用 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。