Skip to content

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!

License

Notifications You must be signed in to change notification settings

destinyae/intentkit

 
 

Repository files navigation

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.

About

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!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.7%
  • Dockerfile 1.3%