myclaw  by stellarlinkco

Personal AI assistant for any OS/Platform

Created 1 month ago
253 stars

Top 99.3% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a personal AI assistant designed for cross-platform deployment, offering users a self-hosted, extensible solution. It targets developers and power users seeking a flexible AI agent that integrates with various communication channels and supports multiple AI model providers, enhancing productivity and control over AI interactions.

How It Works

Myclaw employs a modular architecture centered around a Gateway that orchestrates multiple communication channels (CLI, Telegram, Feishu, WeCom, WhatsApp, WebUI), scheduled tasks (Cron), and periodic checks (Heartbeat). The core logic resides in the agentsdk-go runtime, which implements a ReAct loop for reasoning and tool execution. A message bus facilitates communication between channels and the runtime, enabling a unified inbound/outbound data flow. This design allows for flexible integration and extensibility through custom skills.

Quick Start & Requirements

Build the binary using make build or make build-release. Interactive configuration setup is available via make setup, which generates ~/.myclaw/config.json. Alternatively, manual configuration and workspace initialization can be done with make onboard. Set your AI provider API key using export MYCLAW_API_KEY=your-api-key. Run the agent in single-message mode (./myclaw agent -m "Hello") or REPL mode (make run). Start the gateway for channel, cron, and heartbeat services with make gateway. Key dependencies include Go for building and API keys for AI providers (Anthropic/OpenAI). Links to detailed setup guides for Telegram, Feishu, and WeCom are provided in the docs/ directory.

Highlighted Details

  • Supports both Anthropic and OpenAI model providers.
  • Offers multimodal capabilities, including image recognition and document processing.
  • Integrates with multiple communication platforms: Telegram, Feishu (Lark), WeCom, WhatsApp, and a responsive Web UI.
  • Features extensible custom skill loading from a defined workspace directory.
  • Includes built-in support for cron jobs with JSON persistence and periodic heartbeat tasks.
  • Provides options for building optimized, multi-platform release binaries and compressed packages.

Maintenance & Community

The provided README does not contain specific details regarding notable contributors, sponsorships, partnerships, or community channels (e.g., Discord, Slack).

Licensing & Compatibility

The project is released under the MIT license. This permissive license allows for commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

Outbound markdown messages via WeCom are truncated if they exceed 20480 bytes, and the short-lived response_url may cause delayed or repeated replies to fail. WhatsApp integration relies on QR code scanning for login, potentially requiring periodic re-authentication. Setting up webhooks for Feishu and WeCom necessitates a publicly accessible URL, often requiring tools like cloudflared for tunneling during development.

Health Check
Last Commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
1
Star History
67 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.