Files
2026-07-27 11:04:38 -07:00

5.7 KiB
Raw Permalink Blame History

CopilotKit <> Microsoft Agent Framework (Python)

This is a starter template for building CopilotKit experiences using the Microsoft Agent Framework. It ships with a Next.js UI and a FastAPI server that exposes a Microsoft Agent Framework agent over the AG-UI protocol, so you can study and customize both sides of the stack.

Prerequisites

  • OpenAI or Azure OpenAI credentials (for the Microsoft Agent Framework agent)
  • Python 3.12+
  • uv
  • Node.js 20+
  • Any of the following package managers:

Getting Started

  1. Install dependencies using your preferred package manager:

    # Using npm (default)
    npm install
    
    # Using pnpm
    pnpm install
    
    # Using yarn
    yarn install
    
    # Using bun
    bun install
    

    Note: This automatically sets up the Python environment as well.

    If you have manual issues, you can run:

    npm run install:agent
    
  2. Set up your agent credentials. The backend automatically uses Azure when the Azure env vars below are present; otherwise it falls back to OpenAI. Create a .env file inside the agent folder with one of the following configurations:

    OpenAI

    OPENAI_API_KEY=sk-...your-openai-key-here...
    OPENAI_CHAT_MODEL_ID=gpt-4o-mini
    

    Azure OpenAI

    AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
    AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=gpt-4o-mini
    # If you are not relying on az login:
    # AZURE_OPENAI_API_KEY=...
    
  3. Start the development server:

    # Using npm (default)
    npm run dev
    
    # Using pnpm
    pnpm dev
    
    # Using yarn
    yarn dev
    
    # Using bun
    bun run dev
    

    This will start both the UI and the Microsoft Agent Framework server concurrently.

CopilotKit Intelligence & Threads (Optional)

CopilotKit Intelligence provides durable, multi-turn conversation threads with memory persistence. To enable:

Prerequisites

Setup

  1. Clone the Intelligence repository (if not already cloned):
# Clone to a sibling directory (recommended)
cd ..
git clone https://github.com/CopilotKit/Intelligence.git
cd -
  1. Start the intelligence stack:
# Set your license token (if not already in .env)
echo "COPILOTKIT_LICENSE_TOKEN=your-token-here" >> .env

# Set the path to your Intelligence repo checkout
# Default: ../../../Intelligence (assumes CopilotKit monorepo layout)
# For standalone starters, adjust to your actual path:
export INTELLIGENCE_REPO=../Intelligence  # if cloned as sibling

# Start intelligence services (postgres, redis, intelligence API)
docker compose -f docker-compose.intelligence.yml up -d

# Verify services are healthy
docker compose -f docker-compose.intelligence.yml ps
  1. Ensure intelligence configuration in .env (uncomment if already present):
COPILOTKIT_LICENSE_TOKEN=your-token-here
INTELLIGENCE_API_URL=http://localhost:4201
INTELLIGENCE_GATEWAY_WS_URL=ws://localhost:4401
  1. Run your application:
npm run dev

The intelligence stack will now handle conversation threads, state persistence, and memory. See docker-compose.intelligence.yml and docker/01-create-databases.sql for configuration details.

Note: The Intelligence service is built from source and requires the Intelligence repository. If you're using this as a standalone starter (extracted from the CopilotKit monorepo), you must clone the Intelligence repo separately and set INTELLIGENCE_REPO to point to it.

Stopping Intelligence

# Stop services (keeps data)
docker compose -f docker-compose.intelligence.yml stop

# Stop and remove containers + volumes (fresh start)
docker compose -f docker-compose.intelligence.yml down -v

Available Scripts

The following scripts can also be run using your preferred package manager:

  • dev – Starts both UI and agent servers in development mode
  • dev:debug – Starts development servers with debug logging enabled
  • dev:ui – Starts only the Next.js UI server
  • dev:agent – Starts only the Microsoft Agent Framework server
  • build – Builds the Next.js application for production
  • start – Starts the production server
  • lint – Runs ESLint for code linting
  • install:agent – Installs Python dependencies for the agent

Documentation

The main UI component is in src/app/page.tsx. You can:

  • Modify the theme colors and styling
  • Add new frontend actions
  • Customize the CopilotKit sidebar appearance

📚 Documentation

Contributing

Feel free to submit issues and enhancement requests! This starter is designed to be easily extensible.

License

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

Troubleshooting

Agent Connection Issues

If you see "I'm having trouble connecting to my tools", make sure:

  1. The Microsoft Agent Framework agent is running on port 8000
  2. Your OpenAI/Azure credentials are set correctly
  3. Both servers started successfully

Python Dependencies

If you encounter Python import errors:

cd agent
uv sync
uv run src/main.py