Skip to content

Latest commit

 

History

History
169 lines (129 loc) · 3.84 KB

File metadata and controls

169 lines (129 loc) · 3.84 KB

🦞 miniclawd

A lightweight personal AI assistant with multi-channel support. Built with TypeScript + Bun in ~5900 lines of code.

miniclawd

中文文档

Inspired by openclawd and nanobot.

Features

  • Multi-LLM Support — Anthropic, OpenAI, Google, OpenRouter, Groq, AWS Bedrock
  • Multi-Channel — Telegram, Feishu (Lark)
  • Built-in Tools — File I/O, shell execution, web search & fetch
  • Skills System — Extend capabilities via Markdown
  • Persistent Memory — Long-term memory + daily notes
  • Scheduling — Cron jobs + heartbeat checks
  • Subagents — Background task spawning

Screenshots

Stock Product Hunt
case1 case2

Installation

Via npm:

npm install -g miniclawd@latest
# or: pnpm add -g miniclawd@latest

From source:

git clone https://github.com/FoundDream/miniclawd.git
cd miniclawd
bun install && bun run build && bun link

Quick Start

# 1. Initialize
miniclawd onboard

# 2. Add API key to ~/.miniclawd/config.json
# 3. Chat
miniclawd agent -m "Hello!"

Commands

Command Description
miniclawd onboard Initialize config and workspace
miniclawd agent Interactive chat
miniclawd agent -m "..." Single message mode
miniclawd gateway Start gateway (Telegram/Feishu)
miniclawd status Show system status
miniclawd cron list List scheduled jobs

Configuration

Config file: ~/.miniclawd/config.json

Providers

{
  "providers": {
    "anthropic": { "api_key": "sk-ant-..." },
    "openai": { "api_key": "sk-..." },
    "openrouter": { "api_key": "sk-or-..." },
    "google": { "api_key": "..." },
    "groq": { "api_key": "gsk_..." },
    "bedrock": { "region": "us-east-1" }
  }
}

Model

Format: provider/model

{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-sonnet-4-20250514"
    }
  }
}

Telegram

  1. Create bot via @BotFather/newbot
  2. Copy token, add to config:
{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "123456789:ABCdef...",
      "allow_from": []
    }
  }
}

Feishu

  1. Create app at Feishu Open Platform
  2. Enable WebSocket mode, add im.message.receive_v1 event
  3. Add permissions: im:message, im:message:send_as_bot
{
  "channels": {
    "feishu": {
      "enabled": true,
      "app_id": "cli_xxx",
      "app_secret": "xxx",
      "allow_from": []
    }
  }
}

Then start: miniclawd gateway

Directory Structure

~/.miniclawd/
├── config.json        # Configuration
├── sessions/          # Session storage (JSONL)
├── media/             # Downloaded media
├── cron/jobs.json     # Scheduled jobs
└── workspace/
    ├── AGENTS.md      # Agent instructions
    ├── SOUL.md        # Agent personality
    ├── USER.md        # User info
    ├── HEARTBEAT.md   # Heartbeat tasks
    ├── memory/        # Long-term memory
    └── skills/        # Custom skills

Development

bun run typecheck   # Type check
bun run dev -- ...  # Dev mode
bun run build       # Build

Star History

Star History Chart

License

MIT