{
  "schemaVersion": "1.0",
  "item": {
    "slug": "vps",
    "name": "VPS",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/ivangdavila/vps",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/vps",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/vps",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=vps",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/vps"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/vps",
    "agentPageUrl": "https://openagent3.xyz/skills/vps/agent",
    "manifestUrl": "https://openagent3.xyz/skills/vps/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/vps/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Choosing a VPS",
        "body": "Match location to users — latency matters more than raw specs for user-facing apps\nARM instances cost 20-40% less with equivalent performance for most workloads — check compatibility first\nShared vCPU is fine for most apps — dedicated CPU only for sustained compute-heavy workloads\nBandwidth overage fees can exceed server cost — check limits before choosing plan"
      },
      {
        "title": "Initial Setup Priority",
        "body": "Update system packages immediately after first boot — fresh images are often months behind on security patches\nCreate non-root user with sudo before disabling root — locking yourself out requires provider console access\nSSH key authentication before disabling password login — test the key works first\nFirewall rules before exposing services — default is often all ports open"
      },
      {
        "title": "SSH Hardening",
        "body": "Change SSH port from 22 — reduces automated scanning noise by 99%\nDisable root login via SSH — force sudo for audit trail\nDisable password authentication — keys only, no exceptions\nInstall fail2ban — bans IPs after failed attempts, essential for any public server"
      },
      {
        "title": "Firewall Basics",
        "body": "Default deny incoming, allow outgoing — only open what you need\nAllow SSH (your custom port) before enabling firewall — or you're locked out\nHTTP/HTTPS (80/443) only if running web services\nKeep firewall rules minimal — every open port is attack surface"
      },
      {
        "title": "Resource Management",
        "body": "Enable swap even with enough RAM — prevents OOM kills during traffic spikes\nMonitor disk usage — logs and Docker images fill disks silently\nSet up basic monitoring (uptime, disk, memory) — know when things break before users tell you\nReboot periodically to apply kernel updates — unattended-upgrades doesn't cover everything"
      },
      {
        "title": "Backups and Snapshots",
        "body": "Provider snapshots are not backups — they're tied to the provider, not portable\nTest restore process before you need it — untested backups are wishful thinking\nAutomate backups — manual backups get forgotten\nKeep at least one backup offsite — provider outages take everything with them"
      },
      {
        "title": "Networking",
        "body": "Static IP is usually default — but verify before relying on it for DNS\nIPv6 is free and increasingly expected — enable it unless you have specific reasons not to\nPrivate networking between VPS instances avoids public internet for internal traffic\nDocument your IP addresses — easy to lose track with multiple servers"
      },
      {
        "title": "Cost Awareness",
        "body": "Stopped instances still cost money for storage — delete unused servers\nReserved instances save 30-50% for long-term use — commit if you're sure\nBandwidth is often the surprise cost — especially for media-heavy apps\nMultiple small VPS often beats one large one — isolation and redundancy"
      },
      {
        "title": "Provider-Specific",
        "body": "Hetzner, DigitalOcean, Linode, Vultr all work similarly — skills transfer between them\nProvider firewalls (security groups) act before OS firewall — configure both\nProvider console access works when SSH is broken — know how to access it\nSome providers charge for IPv4 addresses separately — check before assuming you have one"
      },
      {
        "title": "Common Mistakes",
        "body": "Not updating for months — security vulnerabilities accumulate\nRunning everything as root — no audit trail, maximum blast radius\nNo firewall because \"nobody knows my IP\" — scanners find everything\nOversizing from day one — start small, scale when needed\nIgnoring provider status pages — outages explain mysterious issues"
      }
    ],
    "body": "VPS Management Rules\nChoosing a VPS\nMatch location to users — latency matters more than raw specs for user-facing apps\nARM instances cost 20-40% less with equivalent performance for most workloads — check compatibility first\nShared vCPU is fine for most apps — dedicated CPU only for sustained compute-heavy workloads\nBandwidth overage fees can exceed server cost — check limits before choosing plan\nInitial Setup Priority\nUpdate system packages immediately after first boot — fresh images are often months behind on security patches\nCreate non-root user with sudo before disabling root — locking yourself out requires provider console access\nSSH key authentication before disabling password login — test the key works first\nFirewall rules before exposing services — default is often all ports open\nSSH Hardening\nChange SSH port from 22 — reduces automated scanning noise by 99%\nDisable root login via SSH — force sudo for audit trail\nDisable password authentication — keys only, no exceptions\nInstall fail2ban — bans IPs after failed attempts, essential for any public server\nFirewall Basics\nDefault deny incoming, allow outgoing — only open what you need\nAllow SSH (your custom port) before enabling firewall — or you're locked out\nHTTP/HTTPS (80/443) only if running web services\nKeep firewall rules minimal — every open port is attack surface\nResource Management\nEnable swap even with enough RAM — prevents OOM kills during traffic spikes\nMonitor disk usage — logs and Docker images fill disks silently\nSet up basic monitoring (uptime, disk, memory) — know when things break before users tell you\nReboot periodically to apply kernel updates — unattended-upgrades doesn't cover everything\nBackups and Snapshots\nProvider snapshots are not backups — they're tied to the provider, not portable\nTest restore process before you need it — untested backups are wishful thinking\nAutomate backups — manual backups get forgotten\nKeep at least one backup offsite — provider outages take everything with them\nNetworking\nStatic IP is usually default — but verify before relying on it for DNS\nIPv6 is free and increasingly expected — enable it unless you have specific reasons not to\nPrivate networking between VPS instances avoids public internet for internal traffic\nDocument your IP addresses — easy to lose track with multiple servers\nCost Awareness\nStopped instances still cost money for storage — delete unused servers\nReserved instances save 30-50% for long-term use — commit if you're sure\nBandwidth is often the surprise cost — especially for media-heavy apps\nMultiple small VPS often beats one large one — isolation and redundancy\nProvider-Specific\nHetzner, DigitalOcean, Linode, Vultr all work similarly — skills transfer between them\nProvider firewalls (security groups) act before OS firewall — configure both\nProvider console access works when SSH is broken — know how to access it\nSome providers charge for IPv4 addresses separately — check before assuming you have one\nCommon Mistakes\nNot updating for months — security vulnerabilities accumulate\nRunning everything as root — no audit trail, maximum blast radius\nNo firewall because \"nobody knows my IP\" — scanners find everything\nOversizing from day one — start small, scale when needed\nIgnoring provider status pages — outages explain mysterious issues"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/vps",
    "publisherUrl": "https://clawhub.ai/ivangdavila/vps",
    "owner": "ivangdavila",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/vps",
    "downloadUrl": "https://openagent3.xyz/downloads/vps",
    "agentUrl": "https://openagent3.xyz/skills/vps/agent",
    "manifestUrl": "https://openagent3.xyz/skills/vps/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/vps/agent.md"
  }
}