No project description provided
Project description
Ainator
Ainator is a CLI/API framework for AI agents built on the agno framework. It provides interactive chat, persistent sessions, knowledge bases (RAG), and built-in tools for shell execution, file operations, and web search.
Features
- Interactive Chat: Persistent sessions with compression and summarization
- Knowledge Bases (RAG): Embed code repositories (AST-aware chunking), websites, and directories
- Built-in Tools: Shell execution (with safety controls), file operations, DuckDuckGo search
- Session Management: List, switch, show, and compress sessions
- Learning & Memory: User profile, memory, and session context
- Cultural Knowledge: Context-aware cultural knowledge integration
- KeyboardInterrupt Handling: Proper handling of interruption signals
- Skills System: Extensible via
.ainator/skills/directory - MCP Support: Local, remote, any MCP is configurable
- Web Server: FastAPI server with Swagger documentation
- Model Support: VLLM, DeepSeek, OpenAI, Anthropic...
Installation
pip install ainator
Quick Start
# Run a one-off prompt (creates new session)
ainator hi "What is the capital of France?"
# Continue in existing session
ainator but "Tell me more about that"
# Or start interactive chat
ainator chat
# Or Start the web server (localhost:7777/docs)
ainator server
# Then consume it through https://github.com/agno-agi/agent-ui
Commands
Chat & Prompt
ainator hi "your prompt"- One-off prompt execution (creates new session)ainator but "your prompt"- Continue in existing sessionainator chat- Interactive chat session
Test-Driven Development & Fixing
ainator fix "python my_script.py or any command or pytest"- Run until rc == 0
Session Management
ainator sessions- List all sessionsainator switch <id>- Switch to a sessionainator show- Show messages in current session
Skills Management
ainator skills- List available skills
RAG Management
ainator rag code add ./path/to/repo python- Add code repositoryainator rag website add <url>- Add website contentainator rag search <knowledge-name> "query"- Search knowledge baseainator rag remove <knowledge-name>- Remove knowledge baseainator rag- Show RAG status
Server
ainator server- Start FastAPI web server (port 7777)
Configuration
Configuration file is auto-managed, but you can still hack it if you want to
tweak parameters: .ainator/config.yml
Example Configuration
agent:
add_culture_to_context: true
add_history_to_context: true
compress_tool_results: true
enable_session_summaries: true
reasoning: true
reasoning_max_steps: 5
reasoning_min_steps: 2
store_events: true
update_cultural_knowledge: true
update_memory_on_run: true
compression_manager: agno.compression.manager:CompressionManager compress_token_limit=60000 compress_tool_results=True
compression_model: agno.models.vllm:VLLM id=coder
db: ainator.db.sqlite:AsyncSqliteDb db_file=/home/jpic/src/ainator/.ainator/agno.db
extra_skills: []
knowledge:
agno:
path: /home/jpic/src/agno/libs/agno/agno
plugin: code
learning_machine: agno.learn:LearningMachine user_profile=False user_memory=False session_context=True entity_memory=False learned_knowledge=True
model: agno.models.vllm:VLLM id=coder
session_id: bf51cd29-c374-4074-b0eb-faa54f2a6e70
session_name: Fixing Configuration Tests with Temporary Directories
tools:
- agno.tools.file:FileTools base_dir=/home/jpic/src/ainator
- agno.tools.shell:ShellTools
- agno.tools.duckduckgo:DuckDuckGoTools
mcp:
- url: https://docs.agno.com/mcp
- commad: npx -y @modelcontextprotocol/server-google-maps
Model Configuration Examples
# VLLM
model: agno.models.vllm:VLLM id=coder
# DeepSeek
model: agno.models.deepseek:DeepSeek id=deepseek-chat
Environment Variables
AINATOR_MODEL- Override the model configuration
Architecture
Core Framework
- agno: Core AI agent framework (agents, models, tools, SQLite database)
- cli2: Command-line interface framework
Knowledge Plugins
- code: Repository embedding with AST-aware chunking
- Uses llama-index CodeSplitter and HierarchicalNodeParser
- BAAI/bge-small-en-v1.5 embeddings
- LanceDB vector storage
- site: Website scraping with Parsel
- generic: Directory embedding descriptive file names is required
Skills System
Extensible via .ainator/skills/ directory, just create a skill in there or
clone a skills repo such as:
git clone https://github.com/anthropics/skills .ainator/skills/anthropics
Renderer
Streaming Markdown output
Server
FastAPI server via AgentOS, consumable with AgentUI or the AgentOS client, or plain HTTP even.
Tools
- Enhanced shell execution with chunked output
- File operations
- DuckDuckGo search
- Custom knowledge tools (RAGs)
Compression
Automatic
Learning
- User profile management
- Memory system
- Session context tracking
Development
Installation for Development
pip install -e '.'
Testing
pytest tests/
Version
Version 0.0.3 (defined in src/ainator/__about__.py)
License
MIT © 2026-present jpic
Links
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 ainator-0.1.7.tar.gz.
File metadata
- Download URL: ainator-0.1.7.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf075ed9c080bb97fb7d4884fec0f5d0e70f94df4a690f62a2b8ed32abea517e
|
|
| MD5 |
100202e1e3bc6e4cb81e0094b393c1e0
|
|
| BLAKE2b-256 |
921afa2526f58f400e4a64004ab33d795c4c5e9b4a92d5866011ae7f7d16efab
|
File details
Details for the file ainator-0.1.7-py3-none-any.whl.
File metadata
- Download URL: ainator-0.1.7-py3-none-any.whl
- Upload date:
- Size: 23.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
967a27d1f80fa85b60c292c3dfc2e9a0d5f741cc7b3045b0ae84df2325b0fc3b
|
|
| MD5 |
b2594c4dcb40a5269f365b8f98bf79bd
|
|
| BLAKE2b-256 |
f216aba57706266971efdc04be604470f95eed1999101b8dd83b676c10e23639
|