Agent Core
Orchestrates conversations, manages context, and coordinates tool execution.
Ash is a Python-based personal assistant agent with modular architecture.
Agent Core
Orchestrates conversations, manages context, and coordinates tool execution.
LLM Providers
Abstraction layer for Anthropic Claude and OpenAI models.
Tool System
Extensible tools including sandboxed bash and web search.
Memory
SQLite-based storage with semantic search via embeddings.
Sandbox
Docker containers for secure command execution.
Providers
Communication channels (Telegram, CLI).
User Message │ ▼┌─────────────┐│ Provider │ (Telegram, CLI)└─────┬───────┘ │ ▼┌─────────────┐│ Agent │ Orchestrator└─────┬───────┘ │ ├──────────────┐ │ │ ▼ ▼┌─────────────┐ ┌─────────────┐│ LLM │ │ Memory ││ Provider │ │ Store │└─────────────┘ └─────────────┘ │ ▼┌─────────────┐│ Tools │ ──► Sandbox└─────────────┘| Component | Technology |
|---|---|
| Language | Python 3.12+ |
| CLI | Typer |
| HTTP Server | FastAPI + Uvicorn |
| Telegram | aiogram 3.x |
| Database | SQLite + sqlite-vec |
| ORM | SQLAlchemy 2.0 (async) |
| LLM SDKs | anthropic, openai |
| Container | docker-py |
| Validation | Pydantic |
src/ash/├── cli/ # Typer CLI├── config/ # Configuration loading├── core/ # Agent orchestrator├── llm/ # LLM abstraction├── providers/ # Communication providers├── tools/ # Tool system├── sandbox/ # Docker sandboxing├── db/ # Database layer├── memory/ # Memory + retrieval├── skills/ # Skill system├── server/ # FastAPI server└── service/ # Background service| Section | Description |
|---|---|
| LLM | LLM providers and model configuration |
| Tools | Tool system and execution |
| Skills | Configurable skill system |
| Agents | Built-in subagents |
| Memory | Storage and semantic search |
| Sandbox | Docker container isolation |
| Providers | Communication channels |