Skip to content
View openakita's full-sized avatar
  • Joined Jan 30, 2026

Block or report openakita

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
openakita/README.md

OpenAkita Logo

OpenAkita

Your Loyal and Reliable AI Companion

License Python Version Version

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
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

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
CLI βœ… Full Support
Telegram βœ… Full Support
Feishu ⚠️ Implemented, Not Tested
WeCom ⚠️ Implemented, Not Tested
DingTalk ⚠️ Implemented, Not Tested
QQ ⚠️ 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 *-thinking variant (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/

Acknowledgments

License

MIT License - See LICENSE


OpenAkita β€” Your Loyal and Reliable AI Companion

Pinned Loading

  1. openakita openakita Public

    An open-source AI assistant framework with skills and agent architecture

    Python 4