Skip to content

marouen19/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.

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

My test

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.9%
  • Dockerfile 2.9%
  • Shell 0.2%