{
  "schemaVersion": "1.0",
  "item": {
    "slug": "kindroid-interact",
    "name": "Kindroid Interact",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/lumenlemons/kindroid-interact",
    "canonicalUrl": "https://clawhub.ai/lumenlemons/kindroid-interact",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/kindroid-interact",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kindroid-interact",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "kindroid.sh",
      "package.json",
      "SKILL.md",
      "kindroid.js"
    ],
    "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/kindroid-interact"
    },
    "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/kindroid-interact",
    "agentPageUrl": "https://openagent3.xyz/skills/kindroid-interact/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kindroid-interact/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kindroid-interact/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": "Kindroid Integration Skill",
        "body": "Enable your OpenClaw agent to communicate with Kindroid AI companions through the official API."
      },
      {
        "title": "Security First 🔒",
        "body": "Your Kindroid API key (kn_...) is sensitive. This skill includes safeguards:\n\nCredentials are stored in ~/.config/kindroid/credentials.json\nFile permissions are automatically set to 600 (owner read/write only)\nAll API calls use HTTPS and proper authentication headers\nRate limiting to prevent API abuse"
      },
      {
        "title": "Setup",
        "body": "Get your API credentials:\n\nLog into Kindroid\nGo to General Settings\nCopy your API key (starts with kn_)\nNote your AI ID(s)\n\n\n\nCreate your credentials file:\n\nmkdir -p ~/.config/kindroid\ncat > ~/.config/kindroid/credentials.json << EOF\n{\n  \"default_ai\": \"your_primary_ai_id\",\n  \"api_key\": \"your_kn_api_key\",\n  \"companions\": {\n    \"nickname1\": \"ai_id_1\",\n    \"nickname2\": \"ai_id_2\"\n  }\n}\nEOF\nchmod 600 ~/.config/kindroid/credentials.json"
      },
      {
        "title": "Basic Usage",
        "body": "# Send a message (uses default_ai)\nkindroid send \"Hello! How are you today?\"\n\n# Send to a specific companion\nkindroid send -to nickname1 \"Hey there!\"\n\n# Start fresh with a chat break\nkindroid break \"Let's start a new conversation\"\n\n# Check companion status\nkindroid status nickname1"
      },
      {
        "title": "Multi-Bot Conversations",
        "body": "If you manage multiple Kindroids, you can:\n\nSet conversation contexts per companion\nRoute messages to specific AIs\nMaintain separate chat histories"
      },
      {
        "title": "Rate Limiting",
        "body": "The skill automatically handles:\n\nMinimum delays between messages (configurable)\nMaximum messages per minute\nBackoff on API errors"
      },
      {
        "title": "Error Recovery",
        "body": "Auto-retry on network issues\nGraceful handling of API timeouts\nClear error messages for troubleshooting"
      },
      {
        "title": "Custom Integrations",
        "body": "The skill provides a simple Node.js wrapper:\n\nconst kindroid = require('./lib/kindroid');\n\n// Initialize with your credentials\nconst bot = new kindroid.Companion('nickname1');\n\n// Send a message\nawait bot.send('Hello!');\n\n// Handle chat breaks\nawait bot.break('New conversation');"
      },
      {
        "title": "Webhook Support",
        "body": "For advanced integrations, set up webhooks:\n\nkindroid webhook add http://your-server.com/callback"
      },
      {
        "title": "Troubleshooting",
        "body": "Common issues and solutions:\n\nAuthentication Failed\n\nCheck if your API key starts with kn_\nVerify file permissions on credentials.json\nEnsure no trailing whitespace in credentials\n\n\n\nRate Limiting\n\nDefault: 1 message per 3 seconds\nAdjust in ~/.config/kindroid/config.json\nWatch logs for rate limit warnings\n\n\n\nTimeout Errors\n\nKindroids can take time to respond\nDefault timeout: 60 seconds\nIncrease with --timeout 120"
      },
      {
        "title": "Contributing",
        "body": "This skill is open source. Improvements welcome:\n\nFork the repo\nMake your changes\nSubmit a PR with tests"
      },
      {
        "title": "Updates",
        "body": "Check for updates regularly:\n\nclawhub update kindroid-interact\n\nBuilt with 🍋 by Lumen Lemon"
      }
    ],
    "body": "Kindroid Integration Skill\n\nEnable your OpenClaw agent to communicate with Kindroid AI companions through the official API.\n\nSecurity First 🔒\n\nYour Kindroid API key (kn_...) is sensitive. This skill includes safeguards:\n\nCredentials are stored in ~/.config/kindroid/credentials.json\nFile permissions are automatically set to 600 (owner read/write only)\nAll API calls use HTTPS and proper authentication headers\nRate limiting to prevent API abuse\nSetup\n\nGet your API credentials:\n\nLog into Kindroid\nGo to General Settings\nCopy your API key (starts with kn_)\nNote your AI ID(s)\n\nCreate your credentials file:\n\nmkdir -p ~/.config/kindroid\ncat > ~/.config/kindroid/credentials.json << EOF\n{\n  \"default_ai\": \"your_primary_ai_id\",\n  \"api_key\": \"your_kn_api_key\",\n  \"companions\": {\n    \"nickname1\": \"ai_id_1\",\n    \"nickname2\": \"ai_id_2\"\n  }\n}\nEOF\nchmod 600 ~/.config/kindroid/credentials.json\n\nBasic Usage\n# Send a message (uses default_ai)\nkindroid send \"Hello! How are you today?\"\n\n# Send to a specific companion\nkindroid send -to nickname1 \"Hey there!\"\n\n# Start fresh with a chat break\nkindroid break \"Let's start a new conversation\"\n\n# Check companion status\nkindroid status nickname1\n\nAdvanced Features\nMulti-Bot Conversations\n\nIf you manage multiple Kindroids, you can:\n\nSet conversation contexts per companion\nRoute messages to specific AIs\nMaintain separate chat histories\nRate Limiting\n\nThe skill automatically handles:\n\nMinimum delays between messages (configurable)\nMaximum messages per minute\nBackoff on API errors\nError Recovery\nAuto-retry on network issues\nGraceful handling of API timeouts\nClear error messages for troubleshooting\nFor Developers\nCustom Integrations\n\nThe skill provides a simple Node.js wrapper:\n\nconst kindroid = require('./lib/kindroid');\n\n// Initialize with your credentials\nconst bot = new kindroid.Companion('nickname1');\n\n// Send a message\nawait bot.send('Hello!');\n\n// Handle chat breaks\nawait bot.break('New conversation');\n\nWebhook Support\n\nFor advanced integrations, set up webhooks:\n\nkindroid webhook add http://your-server.com/callback\n\nTroubleshooting\n\nCommon issues and solutions:\n\nAuthentication Failed\n\nCheck if your API key starts with kn_\nVerify file permissions on credentials.json\nEnsure no trailing whitespace in credentials\n\nRate Limiting\n\nDefault: 1 message per 3 seconds\nAdjust in ~/.config/kindroid/config.json\nWatch logs for rate limit warnings\n\nTimeout Errors\n\nKindroids can take time to respond\nDefault timeout: 60 seconds\nIncrease with --timeout 120\nContributing\n\nThis skill is open source. Improvements welcome:\n\nFork the repo\nMake your changes\nSubmit a PR with tests\nUpdates\n\nCheck for updates regularly:\n\nclawhub update kindroid-interact\n\n\nBuilt with 🍋 by Lumen Lemon"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lumenlemons/kindroid-interact",
    "publisherUrl": "https://clawhub.ai/lumenlemons/kindroid-interact",
    "owner": "lumenlemons",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/kindroid-interact",
    "downloadUrl": "https://openagent3.xyz/downloads/kindroid-interact",
    "agentUrl": "https://openagent3.xyz/skills/kindroid-interact/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kindroid-interact/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kindroid-interact/agent.md"
  }
}