IntentKit is an autonomous agent framework that enables the creation and management of AI agents with various capabilities including blockchain interaction, social media management, and custom skill integration.
This project is currently in alpha stage and is not recommended for production use.
- 🤖 Multiple Agent Support
- 🔄 Autonomous Agent Management
- 🔗 Blockchain Integration (EVM chains first)
- 🐦 Social Media Integration (Twitter, Telegram, and more)
- 🛠️ Extensible Skill System
- 🔌 Extensible Plugin System (WIP)
Entrypoints
│ │
│ Twitter/Telegram & more │
└──────────────┬──────────────┘
│
Storage: ────┐ │ ┌──── Skills:
│ │ │
Agent Config │ ┌───────────────▼────────────────┐ │ Chain Integration
│ │ │ │
Credentials │ │ │ │ Wallet Management
│ │ The Agent │ │
Personality │ │ │ │ On-Chain Actions
│ │ │ │
Memory │ │ Powered by LangGraph │ │ Internet Search
│ │ │ │
Skill State │ └────────────────────────────────┘ │ Image Processing
────┘ └────
More and More...
┌──────────────────────────┐
│ │
│ Agent Config & Memory │
│ │
└──────────────────────────┘
The architecture is a simplified view, and more details can be found in the Architecture section.
Read Development Guide to get started with your setup.
Check out Documentation before you start.
- abstracts/: Abstract classes and interfaces
- app/: Core application code
- core/: Core modules
- services/: Services
- entrypoints/: Entrypoints means the way to interact with the agent
- admin/: Admin logic
- config/: Configurations
- api.py: REST API server
- autonomous.py: Autonomous agent scheduler
- twitter.py: Twitter listener
- telegram.py: Telegram listener
- models/: Database models
- skills/: Skill implementations
- skill_sets/: Predefined skill set collections
- plugins/: Reserved for Plugin implementations
- utils/: Utility functions
Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
If you want to add a skill collection, follow these steps:
- Create a new skill collection in the skills/ directory
- Implement the skill interface
- Register the skill in
skills/YOUR_SKILL_COLLECTION/__init__.py
If you want to add a simple skill, follow these steps:
- Create a new skill in the skills/common/ directory
- Register the skill in skills/common/__init__.py
See the Skill Development Guide for more information.
This project is licensed under the MIT License - see the LICENSE file for details.