Skip to content

FoundDream/miniclawd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦞 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

About

🦞 A lightweight openclaw build with TypeScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published