A leader agent for attention-heavy work.
npx skills add https://github.com/cklxx/elephant.ai --skill soul-self-evolutionInstall this skill with the CLI and start using the SKILL.md workflow in your workspace.
A leader agent for attention-heavy work.
Lives in Lark. Tracks what's moving, surfaces what matters, follows up automatically, and only pulls you in when judgment is needed.
A leader agent that lives in your Lark groups and DMs. It takes ownership of work — tracking progress, following up on tasks, surfacing what needs attention, and handling coordination. Behind the scenes it orchestrates specialist agents and tools. To you, it's one reliable operator who never drops the ball.
Prerequisites: Go 1.24+, Node.js 20+, a Lark bot token, and an LLM API key.
# 1. Clone and build
git clone https://github.com/cklxx/elephant.ai.git && cd elephant.ai
make build
# 2. Configure (LLM key + Lark credentials)
cp examples/config/runtime-config.yaml ~/.alex/config.yaml
export LLM_API_KEY="sk-..."
alex setup # interactive first-run wizard
# 3. Start everything
alex dev up
# 4. Talk to it in Lark — or use the CLI directly
./alex "summarize the last 3 conversations and draft follow-up emails"
Full setup guide → docs/guides/quickstart.md
You (Lark group or DM)
↓
Chat (lightweight LLM, ~1-3s) — instant reply, routing, ack
│
├── direct reply ──────────▶ back to you immediately
│
└── dispatch ──▶ Worker (ReAct Agent, background, minutes)
↓
Context Assembly · Memory · Policies
↓
Think → Act → Observe → Tool Execution
↓
Reply delivered to Lark (with progress updates)
The leader agent runs a background scheduler alongside Lark conversations. It monitors task health, generates digests, and surfaces decisions and blockers before they become problems.
| Feature | Description |
|---|---|
| Blocker Radar | Scans every 10 min for stale/blocked tasks. Auto-notifies with cooldown. |
| Weekly Pulse | Monday 9am digest: tasks completed, cycle time, token spend, success rate. |
| Daily Summary | End-of-day activity recap with top agents and key outcomes. |
| 1:1 Prep Brief | Auto-generated talking points before meetings: wins, open items, blockers. |
| Milestone Check-ins | Hourly progress snapshots of active tasks. |
| Attention Gate | Per-chat message budget with urgency classification and quiet hours. |
| Decision Memory | Records team decisions with context. Searchable by topic, tag, date, or participant. |
Enable in ~/.alex/config.yaml:
proactive:
scheduler:
enabled: true
blocker_radar:
enabled: true
channel: lark
chat_id: oc_your_chat_id
weekly_pulse:
enabled: true
channel: lark
chat_id: oc_your_chat_id
| Surface | Description |
|---|---|
| Lark (primary) | WebSocket gateway. Real-time progress, emoji reactions, approval flows. |
| Web Console | Next.js dashboard with SSE streaming, artifact rendering, cost tracking. |
| CLI / TUI | Interactive terminal with streaming output for local workflows. |
Skills are markdown-driven workflows triggered by natural language:
| Skill | What it does |
|---|---|
deep-research |
Multi-step web research with source synthesis |
meeting-notes |
Structured summaries and action item extraction |
email-drafting |
Context-aware email composition |
ppt-deck |
Slide deck generation |
video-production |
Video script and production planning |
research-briefing |
Concise briefing documents |
best-practice-search |
Engineering best practice lookup |
OpenAI · Anthropic (Claude) · DeepSeek · ByteDance ARK (Doubao)
OpenRouter · Ollama (local) · Kimi · Qwen
Set llm_provider: auto — the runtime picks the best available provider from your environment keys.
Delivery Lark · Web Console · CLI · API Server
↓
Application Coordination · Context Assembly · Cost Control
↓
Domain ReAct Loop · Typed Events · Approval Gates
↓
Infra Multi-LLM · Memory Store · Tool Registry · Observability
| Layer | Key packages |
|---|---|
| Delivery | internal/delivery/channels/lark/, cmd/alex-server, web/ |
| Agent core | internal/{app,domain}/agent — ReAct loop, typed events, approval gates |
| Tools | internal/infra/tools/builtin/ — search, code, browser, files, artifacts, media |
| Memory | internal/infra/memory/ — Postgres / file / in-memory with tokenization |
| LLM | internal/infra/llm/ — multi-provider, auto-selection, streaming |
| MCP | internal/infra/mcp/ — JSON-RPC servers for external integrations |
| Observability | internal/infra/observability/ — OTel traces, Prometheus metrics, cost accounting |
| Quick Start | From clone to running in minutes |
| Configuration Reference | Full config schema and precedence rules |
| Architecture | Runtime layering and execution model |
| Deployment Guide | Production deployment |
| Roadmap | What's next |
Contributions are welcome. See CONTRIBUTING.md for development setup, code standards, and PR workflow. First time? Look for issues labeled good first issue.
Please read CODE_OF_CONDUCT.md before participating, and report security vulnerabilities via SECURITY.md.
MIT © 2025 cklxx