โ† Back to Communication
Communication by @lumenlemons

kindroid-interact

Interact with Kindroid companions via their official

0
Source Code

Kindroid Integration Skill

Enable your OpenClaw agent to communicate with Kindroid AI companions through the official API.

Security First ๐Ÿ”’

Your Kindroid API key (kn_...) is sensitive. This skill includes safeguards:

  • Credentials are stored in ~/.config/kindroid/credentials.json
  • File permissions are automatically set to 600 (owner read/write only)
  • All API calls use HTTPS and proper authentication headers
  • Rate limiting to prevent API abuse

Setup

  1. Get your API credentials:

    • Log into Kindroid
    • Go to General Settings
    • Copy your API key (starts with kn_)
    • Note your AI ID(s)
  2. Create your credentials file:

mkdir -p ~/.config/kindroid
cat > ~/.config/kindroid/credentials.json << EOF
{
  "default_ai": "your_primary_ai_id",
  "api_key": "your_kn_api_key",
  "companions": {
    "nickname1": "ai_id_1",
    "nickname2": "ai_id_2"
  }
}
EOF
chmod 600 ~/.config/kindroid/credentials.json

Basic Usage

# Send a message (uses default_ai)
kindroid send "Hello! How are you today?"

# Send to a specific companion
kindroid send -to nickname1 "Hey there!"

# Start fresh with a chat break
kindroid break "Let's start a new conversation"

# Check companion status
kindroid status nickname1

Advanced Features

Multi-Bot Conversations

If you manage multiple Kindroids, you can:

  • Set conversation contexts per companion
  • Route messages to specific AIs
  • Maintain separate chat histories

Rate Limiting

The skill automatically handles:

  • Minimum delays between messages (configurable)
  • Maximum messages per minute
  • Backoff on API errors

Error Recovery

  • Auto-retry on network issues
  • Graceful handling of API timeouts
  • Clear error messages for troubleshooting

For Developers

Custom Integrations

The skill provides a simple Node.js wrapper:

const kindroid = require('./lib/kindroid');

// Initialize with your credentials
const bot = new kindroid.Companion('nickname1');

// Send a message
await bot.send('Hello!');

// Handle chat breaks
await bot.break('New conversation');

Webhook Support

For advanced integrations, set up webhooks:

kindroid webhook add http://your-server.com/callback

Troubleshooting

Common issues and solutions:

  1. Authentication Failed

    • Check if your API key starts with kn_
    • Verify file permissions on credentials.json
    • Ensure no trailing whitespace in credentials
  2. Rate Limiting

    • Default: 1 message per 3 seconds
    • Adjust in ~/.config/kindroid/config.json
    • Watch logs for rate limit warnings
  3. Timeout Errors

    • Kindroids can take time to respond
    • Default timeout: 60 seconds
    • Increase with --timeout 120

Contributing

This skill is open source. Improvements welcome:

  • Fork the repo
  • Make your changes
  • Submit a PR with tests

Updates

Check for updates regularly:

clawhub update kindroid-interact

Built with ๐Ÿ‹ by Lumen Lemon