全能自进化AI Agent - 基于Ralph Wiggum模式,永不放弃
Project description
OpenAkita
Your Loyal and Reliable AI Companion
Philosophy • Features • Quick Start • Architecture • Multi-Agent
What is OpenAkita?
OpenAkita is a self-evolving AI assistant — your loyal and reliable companion in the digital world.
Like the Akita dog it's named after, OpenAkita embodies:
- 🤝 Loyal Companion — Always by your side, ready to help whenever you need
- 🧠 Grows With You — Remembers your preferences and becomes more helpful over time
- 💪 Reliable Partner — Commits to completing tasks, never gives up easily
- 🛡️ Trustworthy — Keeps your data safe and respects your privacy
OpenAkita is more than a tool — it's a partner that remembers you, understands you, and stands by you through every challenge.
Philosophy
1. Human-Centered
OpenAkita's core is serving people, not showcasing technology. We focus on:
- Understanding Intent: Not just executing commands, but understanding what you really want
- Proactive Communication: Asks when encountering problems, rather than guessing or failing
- Privacy Respect: Your data belongs to you, never misused
2. Continuous Evolution
OpenAkita can learn and evolve:
- Memory System: Remembers your preferences, habits, common operations
- Skill Extension: Automatically searches or generates new capabilities for new needs
- Experience Accumulation: Learns from each task, becomes more efficient
3. Reliable Execution
Once a task is assigned to OpenAkita:
- Persistent Completion: Won't give up due to minor errors
- Smart Retry: Analyzes failure reasons, tries different approaches
- Progress Saving: Long tasks support checkpoint recovery
4. Multi-Platform Collaboration
Through Multi-Agent architecture for efficient parallelism:
- Master-Worker Architecture: Master coordinates, Workers execute
- Smart Scheduling: Allocates resources based on task complexity
- Fault Recovery: Automatic detection and restart of failed nodes
Features
Basic Capabilities
| Feature | Description |
|---|---|
| Smart Dialogue | Multi-turn contextual conversation |
| Task Execution | Shell commands, file operations, network requests |
| Code Abilities | Write, debug, explain code |
| Knowledge Retrieval | Search web, GitHub, local documents |
Advanced Capabilities
| Feature | Description |
|---|---|
| Plan Mode | Intelligent multi-step task planning and execution |
| Skill System | Extensible skill library, supports customization |
| MCP Integration | Connect browsers, databases, external services |
| Scheduled Tasks | Set reminders, periodic tasks |
| User Profile | Learn your preferences, personalized service |
Plan Mode (Multi-Step Task Management)
For complex tasks requiring multiple steps, OpenAkita automatically activates Plan Mode to ensure reliable execution:
How It Works
┌─────────────────────────────────────────────────────────────┐
│ Plan Mode │
├─────────────────────────────────────────────────────────────┤
│ │
│ User Request │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Multi-Step Detection │ │
│ │ • 5+ action words (complex task) │ │
│ │ • 3+ actions + connectors ("then", "after") │ │
│ │ • Compound task type │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ create_plan → Execute Steps → update_plan_step │ │
│ │ ↓ ↓ ↓ │ │
│ │ Plan Created Tool Calls Progress Tracked │ │
│ │ ↓ ↓ ↓ │ │
│ │ User Notified Real-time Status Updates │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ complete_plan → Summary Report │
│ │
└─────────────────────────────────────────────────────────────┘
Features
| Feature | Description |
|---|---|
| Auto Detection | Automatically identifies multi-step tasks |
| Plan First | Forces plan creation before execution |
| Progress Tracking | Real-time status updates for each step |
| User Notification | Sends progress to IM channels |
| Persistent Plans | Saves plans as Markdown files |
| Step Dependencies | Supports step dependency chains |
Example
User: "Open Baidu, search for weather, and take a screenshot"
📋 Task Plan: Search weather on Baidu and screenshot
├─ 1. Launch browser and navigate to Baidu
├─ 2. Enter search keyword
├─ 3. Click search button
└─ 4. Take screenshot and send
Execution:
✅ [1/4] Launch browser - Done
✅ [2/4] Enter keyword - Done
✅ [3/4] Click search - Done
✅ [4/4] Screenshot - Done
🎉 Task completed! 4/4 steps successful.
Plan Tools
| Tool | Description |
|---|---|
create_plan |
Create execution plan with steps |
update_plan_step |
Update step status (pending/in_progress/completed/failed) |
get_plan_status |
Get current plan progress |
complete_plan |
Mark plan as completed, generate summary |
Self-Maintenance System
OpenAkita's "sleep cycle" — automatic maintenance during quiet hours:
| Feature | Schedule | Description |
|---|---|---|
| Memory Consolidation | 03:00 AM | Consolidate daily conversations into long-term memory |
| Self-Check & Repair | 04:00 AM | Analyze errors, auto-fix tool issues, generate reports |
| Task Retrospection | After long tasks | Review execution, extract lessons learned |
| Loop Detection | Real-time | Prevent infinite loops |
How It Works
┌─────────────────────────────────────────────────────────────┐
│ Self-Maintenance System │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Log System │ │ Memory System │ │
│ │ • File rotation│ │ • Consolidation│ │
│ │ • Auto cleanup │ │ • Deduplication│ │
│ │ • Error filter │ │ • Vector search│ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬───────────┘ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Daily Self-Check │ │
│ │ • Analyze errors │ │
│ │ • LLM diagnosis │ │
│ │ • Auto-fix tools │ │
│ │ • Generate report │ │
│ └─────────────────────┘ │
│ │
│ Error Types: │
│ • Core (Brain/Memory/Scheduler) → Report only, no auto-fix │
│ • Tool (Shell/File/Web/MCP) → Auto-fix, self-test │
│ │
└─────────────────────────────────────────────────────────────┘
Configuration
# Log settings
LOG_LEVEL=INFO
LOG_DIR=logs
LOG_RETENTION_DAYS=30
# Self-check (system tasks, cannot be deleted, can be disabled)
# Runs at 03:00 (memory) and 04:00 (self-check) daily
Multi-Platform Support
| Platform | Status | Supported Message Types |
|---|---|---|
| CLI | ✅ Full Support | Text |
| Telegram | ✅ Full Support | Text, Voice, Image, File |
| Feishu | ✅ Full Support | Text, Voice, Image, File |
| WeCom | ⚠️ Implemented, Not Tested | - |
| DingTalk | ⚠️ Implemented, Not Tested | - |
| ⚠️ Implemented, Not Tested | - |
Quick Start
⚠️ Early Stage Project: This project is in early development. For faster deployment, we recommend using AI coding assistants like Cursor, Claude, or GitHub Copilot to help with setup and troubleshooting.
Requirements
- Python 3.11+
- LLM API Key (Anthropic, OpenAI-compatible, or other providers)
Recommended Models
| Model | Provider | Notes |
|---|---|---|
claude-sonnet-4-5-* |
Anthropic | Default, balanced |
claude-opus-4-5-* |
Anthropic | Most capable |
qwen3-max |
Alibaba | Strong Chinese support |
minimax-2.1 |
MiniMax | Good for dialogue |
kimi-2.5 |
Moonshot | Long-context capability |
💡 Tip: Enable "extended thinking" mode for complex tasks. Set model to
*-thinkingvariant (e.g.,claude-opus-4-5-20251101-thinking) for better reasoning.
Quick Install (Recommended)
One-line install with interactive setup wizard:
# Install from PyPI
pip install openakita
# Run setup wizard (interactive configuration)
openakita init
The setup wizard will guide you through:
- LLM API configuration (API key, model selection)
- IM channel setup (optional: Telegram, Feishu, etc.)
- Memory system configuration
- Directory structure creation
Or use the quick start script:
# Linux/macOS
curl -fsSL https://raw.githubusercontent.com/openakita/openakita/main/scripts/quickstart.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/openakita/openakita/main/scripts/quickstart.ps1 | iex
Manual Installation
# Clone repository
git clone https://github.com/openakita/openakita.git
cd openakita
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install
pip install -e .
# Run setup wizard
openakita init
# Or configure manually
cp .env.example .env
# Edit .env, fill in your API keys
Run
# Interactive CLI
openakita
# Execute single task
openakita run "Write a Python calculator"
# Service mode (IM channels only)
openakita serve
# Check status
openakita status
Basic Configuration
# .env file
# Required
ANTHROPIC_API_KEY=your-api-key
# Optional: Custom API endpoint
ANTHROPIC_BASE_URL=https://api.anthropic.com
# Optional: Enable Telegram
TELEGRAM_ENABLED=true
TELEGRAM_BOT_TOKEN=your-bot-token
# Optional: Enable Multi-Agent
ORCHESTRATION_ENABLED=true
Architecture
Overall Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ OpenAkita │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────── Identity Layer ──────────────────────┐ │
│ │ │ │
│ │ SOUL.md AGENT.md USER.md MEMORY.md │ │
│ │ (Values) (Behavior) (Profile) (Memory) │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────── Core Layer ──────────────────────────┐ │
│ │ │ │
│ │ ┌─────────┐ ┌──────────┐ ┌───────────────┐ │ │
│ │ │ Brain │ │ Identity │ │ Memory │ │ │
│ │ │ (LLM) │ │ (Self) │ │ (System) │ │ │
│ │ └─────────┘ └──────────┘ └───────────────┘ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────── Tool Layer ──────────────────────────┐ │
│ │ │ │
│ │ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ │ │
│ │ │ Shell │ │ File │ │ Web │ │ MCP │ │ │
│ │ └───────┘ └───────┘ └───────┘ └───────┘ │ │
│ │ │ │
│ │ ┌───────────┐ ┌────────────┐ ┌─────────────┐ │ │
│ │ │ Skills │ │ Scheduler │ │ Evolution │ │ │
│ │ └───────────┘ └────────────┘ └─────────────┘ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────── Channel Layer ───────────────────────┐ │
│ │ │ │
│ │ ┌─────┐ ┌──────────┐ ┌────────┐ ┌──────────┐ ┌────┐ │ │
│ │ │ CLI │ │ Telegram │ │ Feishu │ │ DingTalk │ │ QQ │ │ │
│ │ └─────┘ └──────────┘ └────────┘ └──────────┘ └────┘ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Core Components
| Component | Description |
|---|---|
| Brain | LLM interaction layer, supports multi-endpoint failover |
| Identity | Identity system, loads SOUL/AGENT/USER/MEMORY |
| Memory | Vector memory system, supports semantic retrieval |
| Skills | Skill system, supports dynamic loading and extension |
| Scheduler | Scheduled task scheduler |
| Channels | Multi-platform message channels |
Multi-Agent
When ORCHESTRATION_ENABLED=true is set, OpenAkita enters Multi-Agent collaboration mode:
Architecture
┌────────────────────────────────────────────────────────────────┐
│ Main Process │
│ │
│ ┌─────────┐ ┌──────────┐ ┌───────────┐ │
│ │ CLI │ │ Gateway │ │ Scheduler │ │
│ │(Command)│ │(IM Chan.)│ │ (Tasks) │ │
│ └────┬────┘ └────┬─────┘ └─────┬─────┘ │
│ │ │ │ │
│ └──────────────┼────────────────┘ │
│ ▼ │
│ ┌────────────────┐ │
│ │ MasterAgent │ │
│ │ (Coordinator) │ │
│ │ │ │
│ │ • Task Routing │ │
│ │ • Worker Mgmt │ │
│ │ • Health Check │ │
│ │ • Fault Recov. │ │
│ └───────┬────────┘ │
│ │ │
│ ┌───────┴────────┐ │
│ │ AgentBus │ │
│ │ (ZMQ Comm.) │ │
│ └───────┬────────┘ │
│ │ │
│ ┌───────┴────────┐ │
│ │ AgentRegistry │ │
│ │ (Registry) │ │
│ └────────────────┘ │
│ │
└────────────────────────────────────────────────────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌────────────┐ ┌────────────┐ ┌────────────┐
│ Worker 1 │ │ Worker 2 │ │ Worker N │
│ (Process) │ │ (Process) │ │ (Process) │
│ │ │ │ │ │
│ • Execute │ │ • Execute │ │ • Execute │
│ • Heartbeat│ │ • Heartbeat│ │ • Heartbeat│
│ • Return │ │ • Return │ │ • Return │
└────────────┘ └────────────┘ └────────────┘
Features
| Feature | Description |
|---|---|
| Smart Routing | Simple tasks local, complex tasks to Workers |
| Stateless Workers | Session history via messages, flexible scheduling |
| Shared Memory | All Workers use same memory storage |
| Fault Recovery | Heartbeat + automatic Worker restart |
| Dynamic Scaling | Auto-adjust Worker count based on load |
Configuration
# Enable Multi-Agent
ORCHESTRATION_ENABLED=true
# Worker count
ORCHESTRATION_MIN_WORKERS=1
ORCHESTRATION_MAX_WORKERS=5
# Heartbeat interval (seconds)
ORCHESTRATION_HEARTBEAT_INTERVAL=5
# ZMQ addresses
ORCHESTRATION_BUS_ADDRESS=tcp://127.0.0.1:5555
ORCHESTRATION_PUB_ADDRESS=tcp://127.0.0.1:5556
CLI Commands
# View Agent status
/agents
# View collaboration stats
/status
Project Structure
openakita/
├── identity/ # Identity configs
│ ├── SOUL.md # Values
│ ├── AGENT.md # Behavior rules
│ ├── USER.md # User profile
│ └── MEMORY.md # Working memory
├── src/openakita/
│ ├── core/ # Core modules
│ │ ├── agent.py # Agent main class
│ │ ├── brain.py # LLM interaction
│ │ ├── identity.py # Identity system
│ │ └── ralph.py # Task loop
│ ├── orchestration/ # Multi-Agent
│ │ ├── master.py # MasterAgent
│ │ ├── worker.py # WorkerAgent
│ │ ├── registry.py # Registry
│ │ ├── bus.py # ZMQ communication
│ │ └── monitor.py # Monitoring
│ ├── tools/ # Tool layer
│ ├── skills/ # Skill system
│ ├── channels/ # Message channels
│ ├── memory/ # Memory system
│ └── scheduler/ # Scheduled tasks
├── skills/ # Skills directory
├── data/ # Data storage
└── docs/ # Documentation
Documentation
| Document | Description |
|---|---|
| Quick Start | Installation and basic usage |
| Configuration | All configuration options |
| Skill System | Creating and using skills |
| MCP Integration | Connecting external services |
| IM Channels | Telegram/Feishu/DingTalk setup |
| Deployment | Production deployment |
Contributing
Contributions welcome! See Contributing Guide.
# Development environment
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Code check
ruff check src/
mypy src/
Community
Join our community for help, discussions, and updates!
Instant Communication
|
WeChat Group Scan to join (Chinese) |
💬 WeChat - Chinese community chat 🎮 Discord - Join Discord 🐦 X (Twitter) - @openakita 📧 Email - zacon365@gmail.com |
Project Resources
- 📖 Documentation - Complete guides
- 🐛 Issues - Bug reports & feature requests
- 💬 Discussions - Q&A and ideas
- ⭐ Star us - Show your support
Acknowledgments
- Anthropic Claude — LLM Engine
- browser-use — AI browser automation
- AGENTS.md Standard — Agent behavior specification
- ZeroMQ — Inter-process communication
License
MIT License - See LICENSE
OpenAkita — Your Loyal and Reliable AI Companion
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openakita-1.2.6.tar.gz.
File metadata
- Download URL: openakita-1.2.6.tar.gz
- Upload date:
- Size: 5.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c60eaa760e08361b5ebfc653b5dc0f897b12a55dedd1715350aa3eb069be75e
|
|
| MD5 |
05e651adf58e878e23f5db815b30186a
|
|
| BLAKE2b-256 |
3d4f8fd8b0548d03102ac2db4562dfd70265a612e4767e13bbff7505d2f9f0e9
|
File details
Details for the file openakita-1.2.6-py3-none-any.whl.
File metadata
- Download URL: openakita-1.2.6-py3-none-any.whl
- Upload date:
- Size: 574.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6b804d6b4254f63c09908b8c6993db992fe34edc5979a31873b16eed5b1a9fe
|
|
| MD5 |
6ea20b5fed6cf7eeeb94264e8ca7101a
|
|
| BLAKE2b-256 |
7fda04a3af52d33bc2e84a2f480fe546f3f595014e71c931549a3410a3368106
|