← 返回 Skills 市场
higangssh

Homebutler

作者 SangheeSon · GitHub ↗ · v2.3.2 · MIT-0
cross-platform ⚠ suspicious
62
总下载
1
收藏
0
当前安装
4
版本数
在 OpenClaw 中安装
/install homebutler
功能描述
Homelab server operations via homebutler CLI/MCP. Check system status, generate butler reports, scan inventory/topology, manage Docker containers, install se...
使用说明 (SKILL.md)

Homebutler

Manage homelab servers using the homebutler CLI. Single binary, no daemon/database required, JSON output, MCP-friendly.

Prerequisites

homebutler must be installed and available in PATH.

# Check if installed
which homebutler

# Option 1: Install via Homebrew (macOS/Linux)
brew install Higangssh/homebutler/homebutler

# Option 2: Install via Go
go install github.com/Higangssh/homebutler@latest

# Option 3: Build from source
git clone https://github.com/Higangssh/homebutler.git
cd homebutler && make build && sudo mv homebutler /usr/local/bin/

Commands

Setup Wizard

homebutler init                      # Interactive config setup

Creates a config file at ~/.config/homebutler/config.yaml with guided prompts.

System Status

homebutler status                    # Local server
homebutler status --server rpi       # Specific remote server
homebutler status --all              # All servers in parallel

Returns: hostname, OS, arch, uptime, CPU (usage%, cores), memory (total/used/%), disks (mount/total/used/%)

Butler Report

homebutler report                    # Health, warnings, changes, suggested actions
homebutler report --no-save          # Preview without writing a snapshot
homebutler report --keep 7           # Retain latest 7 snapshots
homebutler report --json             # Structured output for automation/MCP

Use this first when the user asks “how is my homelab/server doing?” and wants a concise operational summary. It snapshots current system/container/port state and compares it with the previous run.

Inventory & Topology

homebutler inventory scan                     # Tree view of system, containers, ports
homebutler inventory scan --json              # Structured inventory
homebutler inventory export --format mermaid  # Mermaid topology diagram

Use this when the user asks what is running, which container owns a port, or wants topology/context for docs or AI analysis.

Docker Management

homebutler docker list               # List all containers
homebutler docker list --server rpi  # List on remote server
homebutler docker list --all         # List on all servers
homebutler docker restart \x3Cname>     # Restart a container
homebutler docker stop \x3Cname>        # Stop a container
homebutler docker logs \x3Cname>        # Last 50 lines of logs
homebutler docker logs \x3Cname> 200    # Last 200 lines

Wake-on-LAN

homebutler wake \x3Cmac-address>           # Wake by MAC
homebutler wake \x3Cname>                   # Wake by config name
homebutler wake \x3Cmac> 192.168.1.255     # Custom broadcast

Config names are defined in config under wake targets.

Open Ports

homebutler ports                     # Local
homebutler ports --server rpi        # Remote
homebutler ports --all               # All servers

Returns: protocol, address, port, PID, process name

Network Scan

homebutler network scan

Discovers devices on the local LAN via ping sweep + ARP table. Returns: IP, MAC, hostname, status. Note: May take up to 30 seconds. Some devices may not appear if they don't respond to ping.

TUI Dashboard

homebutler watch                     # Live terminal dashboard for all servers

Real-time monitoring of all configured servers with auto-refresh. Shows CPU, memory, disk, docker containers in a terminal UI.

Web Dashboard

homebutler serve                     # Start web dashboard on port 8080
homebutler serve --port 3000         # Custom port
homebutler serve --demo              # Demo mode with fake data (no real system calls)

Browser-based dashboard at http://localhost:8080. Read-only view of all servers, docker containers, alerts.

SSH Host Key Trust

homebutler trust \x3Cserver>            # Trust remote server's SSH host key
homebutler trust \x3Cserver> --reset    # Remove old key and re-trust

TOFU (Trust On First Use) model. Required before first SSH connection to a new server.

Upgrade

homebutler upgrade                   # Upgrade local + all remote servers
homebutler upgrade --local           # Upgrade only local binary

Downloads latest release from GitHub and installs it. For remote servers, uses SSH to upgrade.

Resource Alerts

homebutler alerts                    # Local
homebutler alerts --server rpi       # Remote
homebutler alerts --all              # All servers

Checks CPU/memory/disk against thresholds in config. Returns status (ok/warning/critical) per resource.

Deploy (Remote Installation)

homebutler deploy --server rpi                          # Download from GitHub Releases
homebutler deploy --server rpi --local ./homebutler     # Air-gapped: copy local binary
homebutler deploy --all                                 # Deploy to all remote servers

Installs homebutler on remote servers via SSH. Auto-detects remote OS/architecture. Install path priority: /usr/local/binsudo /usr/local/bin~/.local/bin (with PATH auto-registration in .profile/.bashrc/.zshrc).

App Install

homebutler install list              # List available apps
homebutler install \x3Capp>             # Install an app (docker compose)
homebutler install \x3Capp> --port 9090 # Custom port
homebutler install status \x3Capp>      # Check app status
homebutler install uninstall \x3Capp>   # Stop app, keep data
homebutler install purge \x3Capp>       # Stop + delete all data

Deploys self-hosted apps via docker compose. Each app gets its own directory at ~/.homebutler/apps/\x3Capp>/ with auto-generated docker-compose.yml and persistent data. Pre-checks docker availability, port conflicts, and duplicates. Available apps include uptime-kuma, plex, vaultwarden, filebrowser, it-tools, gitea, jellyfin, homepage, stirling-pdf, speedtest-tracker, mealie, pi-hole, adguard-home, portainer, and nginx-proxy-manager.

Backup, Restore & Backup Drill

homebutler backup                          # Back up Docker compose volumes/files
homebutler backup --service uptime-kuma    # Back up one service
homebutler backup list                     # List backup archives
homebutler backup drill uptime-kuma        # Boot backup in isolation and verify HTTP health
homebutler backup drill --all              # Drill every supported app in backup
homebutler backup drill --archive ./file   # Drill a specific archive
homebutler restore ./backup.tar.gz         # Restore volumes from archive

Prefer backup drill when the user asks whether backups are trustworthy: it validates the archive, boots the app in an isolated Docker environment, health-checks it, and cleans up.

MCP Server

homebutler mcp                       # Start MCP server (JSON-RPC over stdio)

Starts a built-in MCP (Model Context Protocol) server for use with Claude Desktop, ChatGPT, Cursor, and other MCP clients. No network ports opened — uses stdio only.

Current MCP tools:

  • system_status
  • report
  • inventory_scan, inventory_export
  • docker_list, docker_restart, docker_stop, docker_logs, docker_stats
  • wake, open_ports, network_scan, alerts
  • backup_create, backup_list, backup_drill, backup_restore
  • install_list, install_app, install_status, install_uninstall, install_purge

Version

homebutler version

Output Format

All commands output human-readable text by default. Use --json flag for machine-parseable JSON output (recommended for AI/script integration).

Config File

Config file is auto-discovered in order:

  1. --config \x3Cpath> — Explicit flag
  2. $HOMEBUTLER_CONFIG — Environment variable
  3. ~/.config/homebutler/config.yaml — XDG standard (recommended)
  4. ./homebutler.yaml — Current directory

If no config found, sensible defaults are used.

Config Options

  • servers — Server list with SSH connection details
  • wake — Named WOL targets with MAC + broadcast
  • alerts.cpu/memory/disk — Threshold percentages
  • output — Default output format

Multi-Server Config Example

servers:
  - name: main-server
    host: 192.168.1.10
    local: true

  - name: rpi
    host: 192.168.1.20
    user: pi
    auth: key                # "key" (default, recommended) or "password"
    key: ~/.ssh/id_ed25519   # optional, auto-detects

  - name: vps
    host: example.com
    user: deploy
    port: 2222
    auth: key
    key: ~/.ssh/id_ed25519

Usage Guidelines

  1. Always run commands, don't guess — execute homebutler status to get real data
  2. Interpret results for the user — don't dump raw JSON, summarize in natural language
  3. Warn on alerts — if any resource shows "warning" or "critical", highlight it
  4. Use --all for overview — when user asks about "all servers" or "everything", use --all
  5. Use --server for specific — when user mentions a server by name, use --server \x3Cname>
  6. Docker errors — if docker is not installed or daemon not running, explain clearly
  7. Network scan — warn user it may take ~30 seconds
  8. Security — never expose raw JSON with hostnames/IPs in group chats, summarize instead
  9. Deploy — suggest --local for air-gapped environments

Security Notes

  • SSH authentication: Always prefer key-based auth over passwords. Never store plaintext passwords in config.
  • Network scans: Only run on your own local network. Warn user before scanning.
  • Deploy: Only deploy to servers you own. Confirm with user before remote installations.
  • Config file permissions: Keep config files readable only by owner (chmod 600).
  • No telemetry: homebutler sends zero data externally. All operations are local or to user-configured hosts only.

Error Handling

  • SSH connection failed → Check host/port/user in config, verify SSH key is registered on remote
  • homebutler not found on remote → Run homebutler deploy --server \x3Cname> first
  • docker not installed → Tell user docker is not available on that server
  • docker daemon not running → Suggest sudo systemctl start docker
  • network scan timeout → Normal on large subnets, suggest retrying
  • permission denied → May need sudo for ports/docker commands on some systems

Example Interactions

User: "How's the server doing?" → Prefer homebutler report, summarize health, warnings, notable changes, and suggested actions. Use homebutler status only for a raw point-in-time status.

User: "What changed / what owns this port / map my homelab" → Run homebutler inventory scan or homebutler inventory export --format mermaid.

User: "Check all servers" → Run homebutler status --all, summarize each server's status

User: "How's the Raspberry Pi?" → Run homebutler status --server rpi, summarize

User: "What docker containers are running?" → Run homebutler docker list, list container names and states

User: "Wake up the NAS" → Run homebutler wake nas (if configured) or ask for MAC address

User: "Any alerts across all servers?" → Run homebutler alerts --all, report any warnings/critical

User: "Deploy homebutler to the new server" → Run homebutler deploy --server \x3Cname>, report result

User: "Install uptime-kuma" → Run homebutler install uptime-kuma, report URL and status

User: "What apps are available?" → Run homebutler install list, show available apps

User: "Remove vaultwarden completely" → Run homebutler install purge vaultwarden, confirm deletion

User: "Can I trust my backup?" → Run homebutler backup drill \x3Capp> or homebutler backup drill --all, report pass/fail and health status

安全使用建议
Install this only if you trust the external Homebutler CLI and want an agent to help administer your homelab. Before allowing changes, confirm the exact server/container/app target, avoid broad `--all` actions unless intended, review SSH and sudo access, and use read-only status/report commands first.
能力评估
Purpose & Capability
The stated purpose is coherent: a Homebutler skill for homelab status, Docker, inventory, network, deployment, and app-management operations. Those capabilities are broad and operationally powerful, but they are disclosed in SKILL.md.
Instruction Scope
The visible instructions list mutating commands such as Docker restart/stop, app installation, remote deploy, and all-server upgrade, but do not show explicit safeguards such as requiring user confirmation, target scoping, dry-run review, or rollback planning before those actions.
Install Mechanism
This is an instruction-only skill with no bundled code, but it depends on an external homebutler binary and documents unpinned installation/upgrade paths from GitHub/Homebrew/Go. That is expected for this CLI skill, but the external binary is outside the reviewed artifact set.
Credentials
The skill can affect local and remote homelab environments through SSH, sudo install locations, Docker operations, web serving, and all-server deployment/upgrade commands. This is proportionate to server administration, but high-impact enough to warrant review.
Persistence & Privilege
The skill describes saved report snapshots, SSH host-key trust changes, PATH auto-registration for remote installs, and long-running dashboard commands. These are disclosed and purpose-aligned, but users should understand the persistent local/remote changes.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install homebutler
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /homebutler 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v2.3.2
Display the skill name as Homebutler and keep the homebutler identity.
v0.18.1
Align the ClawHub skill with the Homebutler project name and current homebutler release line. Keep homeserver as a redirect to homebutler.
v2.3.1
Align skill branding with the new homebutler slug and keep homeserver as a redirect.
v2.3.0
Rename skill from homeserver to homebutler and refresh SKILL.md for recent homebutler features: report snapshots, inventory/topology export, backup drills, install tools, and expanded MCP operations.
元数据
Slug homebutler
版本 2.3.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 4
常见问题

Homebutler 是什么?

Homelab server operations via homebutler CLI/MCP. Check system status, generate butler reports, scan inventory/topology, manage Docker containers, install se... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 62 次。

如何安装 Homebutler?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install homebutler」即可一键安装,无需额外配置。

Homebutler 是免费的吗?

是的,Homebutler 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Homebutler 支持哪些平台?

Homebutler 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Homebutler?

由 SangheeSon(@higangssh)开发并维护,当前版本 v2.3.2。

💬 留言讨论