{
  "schemaVersion": "1.0",
  "item": {
    "slug": "filehost",
    "name": "LMfiles.com file hosting",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/setdemos/filehost",
    "canonicalUrl": "https://clawhub.ai/setdemos/filehost",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/filehost",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=filehost",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/delete.sh",
      "scripts/list.sh",
      "scripts/register.sh",
      "scripts/upload.sh"
    ],
    "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",
      "slug": "filehost",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-04T20:40:26.630Z",
      "expiresAt": "2026-05-11T20:40:26.630Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=filehost",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=filehost",
        "contentDisposition": "attachment; filename=\"filehost-1.0.2.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "filehost"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/filehost"
    },
    "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/filehost",
    "agentPageUrl": "https://openagent3.xyz/skills/filehost/agent",
    "manifestUrl": "https://openagent3.xyz/skills/filehost/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/filehost/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": "lmfiles",
        "body": "Use lmfiles.com as a lightweight file host for OpenClaw/LLM workflows."
      },
      {
        "title": "Provenance & trust",
        "body": "Service docs: https://lmfiles.com/docs\nOpenAPI schema: https://lmfiles.com/openapi.json\nAPI host: https://lmfiles.com\n\nPrimary credential:\n\nLMFILES_API_KEY (required for authenticated operations)\n\nBootstrap credential:\n\nLMFILES_BOOTSTRAP_TOKEN (used only for first-time account registration)\n\nSecurity notes:\n\nTreat credentials as secrets and avoid logging/pasting them.\nRotate bootstrap token if exposed.\n401 Unauthorized usually means missing/invalid LMFILES_API_KEY."
      },
      {
        "title": "Before first use (required)",
        "body": "Register an account once with a bootstrap token.\nSave returned api_key as LMFILES_API_KEY.\nUse LMFILES_API_KEY for all authenticated operations.\n\nQuick setup:\n\nexport LMFILES_BOOTSTRAP_TOKEN=\"<bootstrap-token>\"\n\ncurl -sS -X POST https://lmfiles.com/api/v1/accounts/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"username\":\"my-bot\",\"bootstrap_token\":\"'\"$LMFILES_BOOTSTRAP_TOKEN\"'\"}'\n\n# Copy api_key from response, then:\nexport LMFILES_API_KEY=\"lmf_...\"\n\nCommon auth error:\n\n401 Unauthorized = missing/invalid LMFILES_API_KEY."
      },
      {
        "title": "Required env vars",
        "body": "LMFILES_API_KEY for authenticated file operations (primary credential).\nLMFILES_BOOTSTRAP_TOKEN only for account registration (bootstrap credential)."
      },
      {
        "title": "Register account (one-time)",
        "body": "curl -sS -X POST https://lmfiles.com/api/v1/accounts/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"username\":\"my-bot\",\"bootstrap_token\":\"'\"$LMFILES_BOOTSTRAP_TOKEN\"'\"}'\n\nOr use helper script:\n\nbash scripts/register.sh my-bot\n\nSave returned api_key as LMFILES_API_KEY."
      },
      {
        "title": "Upload file (max 100 MB)",
        "body": "curl -sS -X POST https://lmfiles.com/api/v1/files/upload \\\n  -H \"X-API-Key: $LMFILES_API_KEY\" \\\n  -F \"file=@/absolute/path/to/file.ext\"\n\nExpected response includes:\n\nfile_id\nurl (public download link)"
      },
      {
        "title": "Download (public)",
        "body": "curl -L \"https://lmfiles.com/f/<file_id>\" -o downloaded.file"
      },
      {
        "title": "File metadata (public)",
        "body": "curl -sS \"https://lmfiles.com/api/v1/files/<file_id>\""
      },
      {
        "title": "Account info and usage",
        "body": "curl -sS https://lmfiles.com/api/v1/accounts/me \\\n  -H \"X-API-Key: $LMFILES_API_KEY\""
      },
      {
        "title": "List account files",
        "body": "curl -sS https://lmfiles.com/api/v1/accounts/me/files \\\n  -H \"X-API-Key: $LMFILES_API_KEY\"\n\nOr helper script:\n\nbash scripts/list.sh"
      },
      {
        "title": "Delete file (owner only)",
        "body": "curl -sS -X DELETE https://lmfiles.com/api/v1/files/<file_id> \\\n  -H \"X-API-Key: $LMFILES_API_KEY\"\n\nOr helper script:\n\nbash scripts/delete.sh <file_id>"
      },
      {
        "title": "Constraints",
        "body": "Max upload size: 100 MB.\nExecutable file types are rejected (for example .php, .sh, .py, .exe).\nFiles expire after 90 days of inactivity; downloads reset the expiry clock.\nDownloads are public for anyone with the URL."
      },
      {
        "title": "Safety checks before upload",
        "body": "Confirm file is safe to publish publicly.\nAvoid uploading secrets or credentials.\nIf uncertain, ask user before upload."
      }
    ],
    "body": "lmfiles\n\nUse lmfiles.com as a lightweight file host for OpenClaw/LLM workflows.\n\nProvenance & trust\nService docs: https://lmfiles.com/docs\nOpenAPI schema: https://lmfiles.com/openapi.json\nAPI host: https://lmfiles.com\n\nPrimary credential:\n\nLMFILES_API_KEY (required for authenticated operations)\n\nBootstrap credential:\n\nLMFILES_BOOTSTRAP_TOKEN (used only for first-time account registration)\n\nSecurity notes:\n\nTreat credentials as secrets and avoid logging/pasting them.\nRotate bootstrap token if exposed.\n401 Unauthorized usually means missing/invalid LMFILES_API_KEY.\nBefore first use (required)\nRegister an account once with a bootstrap token.\nSave returned api_key as LMFILES_API_KEY.\nUse LMFILES_API_KEY for all authenticated operations.\n\nQuick setup:\n\nexport LMFILES_BOOTSTRAP_TOKEN=\"<bootstrap-token>\"\n\ncurl -sS -X POST https://lmfiles.com/api/v1/accounts/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"username\":\"my-bot\",\"bootstrap_token\":\"'\"$LMFILES_BOOTSTRAP_TOKEN\"'\"}'\n\n# Copy api_key from response, then:\nexport LMFILES_API_KEY=\"lmf_...\"\n\n\nCommon auth error:\n\n401 Unauthorized = missing/invalid LMFILES_API_KEY.\nRequired env vars\nLMFILES_API_KEY for authenticated file operations (primary credential).\nLMFILES_BOOTSTRAP_TOKEN only for account registration (bootstrap credential).\nRegister account (one-time)\ncurl -sS -X POST https://lmfiles.com/api/v1/accounts/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"username\":\"my-bot\",\"bootstrap_token\":\"'\"$LMFILES_BOOTSTRAP_TOKEN\"'\"}'\n\n\nOr use helper script:\n\nbash scripts/register.sh my-bot\n\n\nSave returned api_key as LMFILES_API_KEY.\n\nUpload file (max 100 MB)\ncurl -sS -X POST https://lmfiles.com/api/v1/files/upload \\\n  -H \"X-API-Key: $LMFILES_API_KEY\" \\\n  -F \"file=@/absolute/path/to/file.ext\"\n\n\nExpected response includes:\n\nfile_id\nurl (public download link)\nDownload (public)\ncurl -L \"https://lmfiles.com/f/<file_id>\" -o downloaded.file\n\nFile metadata (public)\ncurl -sS \"https://lmfiles.com/api/v1/files/<file_id>\"\n\nAccount info and usage\ncurl -sS https://lmfiles.com/api/v1/accounts/me \\\n  -H \"X-API-Key: $LMFILES_API_KEY\"\n\nList account files\ncurl -sS https://lmfiles.com/api/v1/accounts/me/files \\\n  -H \"X-API-Key: $LMFILES_API_KEY\"\n\n\nOr helper script:\n\nbash scripts/list.sh\n\nDelete file (owner only)\ncurl -sS -X DELETE https://lmfiles.com/api/v1/files/<file_id> \\\n  -H \"X-API-Key: $LMFILES_API_KEY\"\n\n\nOr helper script:\n\nbash scripts/delete.sh <file_id>\n\nConstraints\nMax upload size: 100 MB.\nExecutable file types are rejected (for example .php, .sh, .py, .exe).\nFiles expire after 90 days of inactivity; downloads reset the expiry clock.\nDownloads are public for anyone with the URL.\nSafety checks before upload\nConfirm file is safe to publish publicly.\nAvoid uploading secrets or credentials.\nIf uncertain, ask user before upload."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/setdemos/filehost",
    "publisherUrl": "https://clawhub.ai/setdemos/filehost",
    "owner": "setdemos",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/filehost",
    "downloadUrl": "https://openagent3.xyz/downloads/filehost",
    "agentUrl": "https://openagent3.xyz/skills/filehost/agent",
    "manifestUrl": "https://openagent3.xyz/skills/filehost/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/filehost/agent.md"
  }
}