indusclaw
v0.1.4
Published
Multi-channel AI gateway with extensible messaging integrations
Readme
🦞 Indusclaw — Personal AI Assistant Gateway
A powerful, multi-channel AI assistant that runs on your own devices. Connect to WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, Microsoft Teams, WebChat, and more—all through a private, local-first gateway.
🌟 Features
- Multi-Channel Inbox: Unified routing across WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, Teams, and more
- Local-First Gateway: Complete control plane running on your hardware with end-to-end session management
- Skills & Automations: Extensible tools system for custom integrations and automations
- Cross-Platform Nodes: macOS, iOS, and Android support with native voice and media capabilities
- Plugin System: Extend with additional channels and integrations via the plugin SDK
- Privacy-Focused: All data stays on your devices—no cloud dependency
📋 Requirements
- Node.js ≥ 22.12.0
- npm, pnpm, or bun
- macOS, Linux, or Windows (with WSL)
⚡ Quick Install
Global CLI
npm install -g indusclaw@latest
# or: pnpm add -g indusclaw@latest
# or: bun install -g indusclaw@latest
# Initialize and install the daemon
indusclaw onboard --install-daemonFrom Source (Development)
git clone https://github.com/indusclaw/indusclaw.git
cd indusclaw
pnpm install
pnpm ui:build
pnpm build
# Run in development mode
pnpm indusclaw onboard --install-daemon
pnpm gateway:watch🚀 Quick Start
Start the Gateway
# Run the gateway (requires configuration)
indusclaw gateway --port 18789 --verbose
# Or use the bundled daemon
indusclaw gateway runSend a Message
indusclaw message send --to +1234567890 --message "Hello from Indusclaw"Talk to the Assistant
# Interactive assistant with thinking enabled
indusclaw agent --message "Ship checklist" --thinking high
# Get a response
indusclaw agent --message "What time is it?" --jsonCheck Status
indusclaw channels status
indusclaw config show
indusclaw doctor🔧 Common Commands
# Configuration
indusclaw config set gateway.mode local
indusclaw config show
indusclaw config reset
# Channels
indusclaw channels status
indusclaw channels add telegram
indusclaw channels remove slack
# Gateway
indusclaw gateway run
indusclaw gateway --port 18789 --verbose
# Messages
indusclaw message send --to <recipient> --message "text"
indusclaw message list --channel telegram
# Agent
indusclaw agent --message "prompt" --thinking high
indusclaw agent --mode rpc --json
# Utilities
indusclaw doctor
indusclaw update
indusclaw version🔄 Update
Keep your installation up to date:
indusclaw update
indusclaw doctor # Run diagnostics🔌 Supported Channels
Built-in
- WhatsApp (Web)
- Telegram
- Slack
- Discord
- Google Chat
- Signal
- iMessage (macOS only)
- WebChat (Browser UI)
Extensions
- Microsoft Teams
- Matrix
- Zalo & Zalo User
- BlueBubbles (iMessage via proxy)
- Voice Calls (experimental)
🛠️ Development
Setup
git clone https://github.com/indusclaw/indusclaw.git
cd indusclaw
pnpm install
pnpm ui:build
pnpm buildCommands
- Build:
pnpm build - Type Check:
pnpm tsgo - Lint:
pnpm check - Format:
pnpm format:fix - Test:
pnpm test - Dev:
pnpm devorpnpm gateway:watch
Testing
# Unit tests
pnpm test
# Coverage
pnpm test:coverage
# Live tests (requires API keys)
indusclaw_LIVE_TEST=1 pnpm test:live
# Docker E2E tests
pnpm test:docker:live-gateway🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
📦 Architecture
indusclaw/
├── src/
│ ├── cli/ # CLI command implementations
│ ├── commands/ # Command handlers
│ ├── channels/ # Built-in channel integrations
│ ├── infra/ # Infrastructure (gateway, server)
│ ├── media/ # Media pipeline
│ ├── plugin-sdk/ # Plugin SDK exports
│ └── ...
├── extensions/ # Community plugins (channels, integrations)
├── skills/ # Built-in skills and automations
├── apps/ # Native apps (iOS, Android, macOS)
├── docs/ # Documentation (Mintlify)
└── dist/ # Built output🔐 Security & Privacy
- Local-First: All data stays on your devices—no cloud storage
- Encrypted Sessions: End-to-end encryption for sensitive data
- Plugin Sandboxing: Plugins run in isolated contexts
- Configuration Privacy: Credentials stored locally in
~/.indusclaw/
📄 License
MIT License — See LICENSE file for details.
Made with ❤️ by the Indusclaw team
