{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agentkeys",
    "name": "AgentKeys",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/alexandr-belogubov/agentkeys",
    "canonicalUrl": "https://clawhub.ai/alexandr-belogubov/agentkeys",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agentkeys",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agentkeys",
    "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",
      "slug": "agentkeys",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T15:33:03.226Z",
      "expiresAt": "2026-05-06T15:33:03.226Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agentkeys",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agentkeys",
        "contentDisposition": "attachment; filename=\"agentkeys-1.2.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "agentkeys"
      },
      "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/agentkeys"
    },
    "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/agentkeys",
    "agentPageUrl": "https://openagent3.xyz/skills/agentkeys/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agentkeys/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agentkeys/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": "AgentKeys Skill",
        "body": "Secure credential proxy for AI agents. Route API calls through AgentKeys so your agent never sees real secrets."
      },
      {
        "title": "Configuration",
        "body": "You have two options. Set these in your environment or .env:"
      },
      {
        "title": "Option A — API Key (recommended, multi-credential)",
        "body": "AGENTKEYS_API_KEY=ak_ws_...\nAGENTKEYS_PROXY_URL=https://proxy.agentkeys.io\n\nUse your workspace API key to proxy requests to any credential by name. Get your API key from Settings."
      },
      {
        "title": "Option B — Direct Proxy Token (single credential)",
        "body": "AGENTKEYS_PROXY_TOKEN=pxr_...\nAGENTKEYS_PROXY_URL=https://proxy.agentkeys.io\n\nUse a proxy token for one specific credential. Get it by assigning a credential to an agent in the dashboard."
      },
      {
        "title": "With API Key (Option A) — reference credentials by name",
        "body": "curl -X POST $AGENTKEYS_PROXY_URL/v1/proxy \\\n  -H \"Authorization: Bearer $AGENTKEYS_API_KEY\" \\\n  -H \"X-Credential-Name: resend\" \\\n  -H \"X-Target-Url: https://api.resend.com/emails\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"from\": \"noreply@example.com\", \"to\": \"user@example.com\", \"subject\": \"Hello\", \"text\": \"Sent via AgentKeys\"}'"
      },
      {
        "title": "With Proxy Token (Option B) — direct credential access",
        "body": "curl -X POST $AGENTKEYS_PROXY_URL/v1/proxy \\\n  -H \"Authorization: Bearer $AGENTKEYS_PROXY_TOKEN\" \\\n  -H \"X-Target-Url: https://api.resend.com/emails\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"from\": \"noreply@example.com\", \"to\": \"user@example.com\", \"subject\": \"Hello\", \"text\": \"Sent via AgentKeys\"}'"
      },
      {
        "title": "Headers",
        "body": "HeaderRequiredDescriptionAuthorization✅Bearer $AGENTKEYS_API_KEY or Bearer $AGENTKEYS_PROXY_TOKENX-Target-Url✅Target API URL to forward toX-Credential-Name✅ (API key mode)Name of the credential to use (case-insensitive)Content-Type❌Passed through to target"
      },
      {
        "title": "How It Works",
        "body": "Agent sends request to AgentKeys proxy with API key + credential name (or proxy token)\nAgentKeys finds and decrypts the real credential server-side\nReal credential is injected into headers\nRequest is forwarded to the target API\nResponse is returned to the agent\nEvery request is logged in the audit trail\n\nThe agent never sees the real API key, OAuth token, or password."
      },
      {
        "title": "Credential Types Supported",
        "body": "API Key — injected as Authorization: Bearer <key>\nBasic Auth — injected as Authorization: Basic base64(user:pass)\nCustom Headers — injected as key-value pairs\nQuery Parameters — appended to URL\nCookies — injected as Cookie header\nOAuth — auto-refreshed tokens"
      },
      {
        "title": "Security",
        "body": "Credentials are AES-256-GCM encrypted at rest\nProxy tokens are scoped to one credential + one agent\nAPI key mode still respects workspace permissions\nTokens can be revoked instantly from the dashboard\nFull audit trail for every proxied request\nAgent never has access to plaintext secrets"
      },
      {
        "title": "Links",
        "body": "Dashboard: app.agentkeys.io\nDocs: agentkeys.io/docs\nSupport: support@agentkeys.io"
      }
    ],
    "body": "AgentKeys Skill\n\nSecure credential proxy for AI agents. Route API calls through AgentKeys so your agent never sees real secrets.\n\nConfiguration\n\nYou have two options. Set these in your environment or .env:\n\nOption A — API Key (recommended, multi-credential)\nAGENTKEYS_API_KEY=ak_ws_...\nAGENTKEYS_PROXY_URL=https://proxy.agentkeys.io\n\n\nUse your workspace API key to proxy requests to any credential by name. Get your API key from Settings.\n\nOption B — Direct Proxy Token (single credential)\nAGENTKEYS_PROXY_TOKEN=pxr_...\nAGENTKEYS_PROXY_URL=https://proxy.agentkeys.io\n\n\nUse a proxy token for one specific credential. Get it by assigning a credential to an agent in the dashboard.\n\nUsage\nWith API Key (Option A) — reference credentials by name\ncurl -X POST $AGENTKEYS_PROXY_URL/v1/proxy \\\n  -H \"Authorization: Bearer $AGENTKEYS_API_KEY\" \\\n  -H \"X-Credential-Name: resend\" \\\n  -H \"X-Target-Url: https://api.resend.com/emails\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"from\": \"noreply@example.com\", \"to\": \"user@example.com\", \"subject\": \"Hello\", \"text\": \"Sent via AgentKeys\"}'\n\nWith Proxy Token (Option B) — direct credential access\ncurl -X POST $AGENTKEYS_PROXY_URL/v1/proxy \\\n  -H \"Authorization: Bearer $AGENTKEYS_PROXY_TOKEN\" \\\n  -H \"X-Target-Url: https://api.resend.com/emails\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"from\": \"noreply@example.com\", \"to\": \"user@example.com\", \"subject\": \"Hello\", \"text\": \"Sent via AgentKeys\"}'\n\nHeaders\nHeader\tRequired\tDescription\nAuthorization\t✅\tBearer $AGENTKEYS_API_KEY or Bearer $AGENTKEYS_PROXY_TOKEN\nX-Target-Url\t✅\tTarget API URL to forward to\nX-Credential-Name\t✅ (API key mode)\tName of the credential to use (case-insensitive)\nContent-Type\t❌\tPassed through to target\nHow It Works\nAgent sends request to AgentKeys proxy with API key + credential name (or proxy token)\nAgentKeys finds and decrypts the real credential server-side\nReal credential is injected into headers\nRequest is forwarded to the target API\nResponse is returned to the agent\nEvery request is logged in the audit trail\n\nThe agent never sees the real API key, OAuth token, or password.\n\nCredential Types Supported\nAPI Key — injected as Authorization: Bearer <key>\nBasic Auth — injected as Authorization: Basic base64(user:pass)\nCustom Headers — injected as key-value pairs\nQuery Parameters — appended to URL\nCookies — injected as Cookie header\nOAuth — auto-refreshed tokens\nSecurity\nCredentials are AES-256-GCM encrypted at rest\nProxy tokens are scoped to one credential + one agent\nAPI key mode still respects workspace permissions\nTokens can be revoked instantly from the dashboard\nFull audit trail for every proxied request\nAgent never has access to plaintext secrets\nLinks\nDashboard: app.agentkeys.io\nDocs: agentkeys.io/docs\nSupport: support@agentkeys.io"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/alexandr-belogubov/agentkeys",
    "publisherUrl": "https://clawhub.ai/alexandr-belogubov/agentkeys",
    "owner": "alexandr-belogubov",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agentkeys",
    "downloadUrl": "https://openagent3.xyz/downloads/agentkeys",
    "agentUrl": "https://openagent3.xyz/skills/agentkeys/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agentkeys/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agentkeys/agent.md"
  }
}