soul-self-evolution

A leader agent for attention-heavy work.

Installation
CLI
npx skills add https://github.com/cklxx/elephant.ai --skill soul-self-evolution

Install this skill with the CLI and start using the SKILL.md workflow in your workspace.

Last updated 4/22/2026

elephant.ai banner

elephant.ai

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.

CI Go Report Card License: MIT 中文文档


What is elephant.ai?

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.


Why a leader agent?

  • Continuous ownership — Hand off a task and it stays tracked until done.
  • Attention gating — Compresses noise into what matters, what's at risk, and what needs your call.
  • Proactive follow-up — Chases status, summarizes results, escalates blockers automatically.
  • Coordination absorbed — Handles the track/ask/remind/align overhead.
  • Persistent memory — Remembers conversations, decisions, and context across weeks and months.
  • Approval gates — Knows when to ask before acting. Risky operations require explicit sign-off.
  • MCP extensible — Connect any external tool through the Model Context Protocol.
  • Lark-native — WebSocket gateway, always present in groups and DMs.

Quick Start

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


How It Works

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)

Leader Agent Features

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

Delivery Surfaces

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.

Built-in Skills

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

LLM Providers

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.


Architecture

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

Documentation

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

Contributing

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.


Star History

Star History Chart


License

MIT © 2025 cklxx