intentkit

intentkit

An open and fair framework for everyone to build AI agents equipped with powerful skills. Launch your agent, improve the world, your wallet, or both!

Stars: 73

Visit
 screenshot

IntentKit is an autonomous agent framework that enables the creation and management of AI agents with capabilities including blockchain interactions, social media management, and custom skill integration. It supports multiple agents, autonomous agent management, blockchain integration, social media integration, extensible skill system, and plugin system. The project is in alpha stage and not recommended for production use. It provides quick start guides for Docker and local development, integrations with Twitter and Coinbase, configuration options using environment variables or AWS Secrets Manager, project structure with core application code, entry points, configuration management, database models, skills, skill sets, and utility functions. Developers can add new skills by creating, implementing, and registering them in the skill directory.

README:

IntentKit

IntentKit is an autonomous agent framework that enables the creation and management of AI agents with various capabilities including blockchain interactions, social media management, and custom skill integration.

Alpha Warning

This project is currently in alpha stage and is not recommended for production use.

Features

  • 🤖 Multiple Agent Support
  • 🔄 Autonomous Agent Management
  • 🔗 Blockchain Integration (CDP for now, will add more)
  • 🐦 Social Media Integration (Twitter,Telegram for now, will add more)
  • 🛠️ Extensible Skill System
  • 🔌 Extensible Plugin System

Quick Start

Docker (Recommended)

  1. Create a new directory and navigate into it:
mkdir intentkit && cd intentkit
  1. Download the required files:
# Download docker-compose.yml
curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/docker-compose.yml

# Download example environment file
curl -O https://raw.githubusercontent.com/crestalnetwork/intentkit/main/example.env
  1. Set up environment:
# Rename example.env to .env
mv example.env .env

# Edit .env file and add your configuration
# Make sure to set OPENAI_API_KEY
  1. Start the services:
docker compose up
  1. Create your first Agent:
curl -X POST http://127.0.0.1:8000/agents \
     -H "Content-Type: application/json" \
     -d '{
         "id": "admin",
         "name": "Admin",
         "prompt": "You are an autonomous AI agent. Respond to user queries."
     }'
  1. Try it out:
curl "http://127.0.0.1:8000/agents/admin/chat?q=Hello"

In terminal, curl can not auto esacpe special chars, so you can use browser to test. Just copy the url to your browser, replace "Hello" with your words.

Local Development

  1. Clone the repository:
git clone https://github.com/crestalnetwork/intentkit.git
cd intentkit
  1. Set up your environment: Python 3.10-3.12 are supported versions, and it's recommended to use 3.12. If you haven't installed poetry, please install it first.
poetry install --with dev
poetry shell
  1. Configure your environment:
cp example.env .env
# Edit .env with your configuration
  1. Run the application:
# Run the API server in development mode
uvicorn app.entrypoints.api:app --reload

# Run the autonomous agent scheduler
python -m app.entrypoints.autonomous

"Create Agent" and "Try it out" refer to the Docker section.

Integrations

Twitter

Twitter Integration

Coinbase

Work in progress

Configuration

The application can be configured using environment variables or AWS Secrets Manager. Key configuration options:

  • ENV: Environment (local, or others)
  • DB_*: PostgreSQL Database configuration (Required)
  • OPENAI_API_KEY: OpenAI API key for agent interactions (Required)
  • CDP_*: Coinbase Developer Platform configuration (Optional)

See example.env for all available options.

Project Structure

  • app/: Core application code
    • core/: Core modules
      • ai.py: Agent initialization and execution
    • entrypoints/: Entry points
      • autonomous.py: Autonomous agent scheduler
      • api.py: API entrypoint
    • config/: Configuration management
      • config.py: Configuration loading and validation
    • models/: Database models
      • db.py: Database models and connection
  • skills/: Skill implementations
  • skill_sets/: Predefined skill set collections
  • utils/: Utility functions

Development

Adding New Skills

  1. Create a new skill in the skill/ directory
  2. Implement the skill interface
  3. Register the skill in skill/__init__.py

Contributing

Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for intentkit

Similar Open Source Tools

For similar tasks

For similar jobs