Back to Copilotkit

CopilotKit <> strands Starter

examples/integrations/strands-python/README.md

1.64.14.6 KB
Original Source

CopilotKit <> strands Starter

This is a starter template for building AI agents using strands and CopilotKit. It provides a modern Next.js application with an integrated investment analyst agent that can research stocks, analyze market data, and provide investment insights.

Prerequisites

  • Node.js 20+
  • Python 3.12+
  • uv (Python package manager)
  • OpenAI API Key (for the strands agent)
  • Any of the following package managers:

Getting Started

  1. Install dependencies using your preferred package manager:
bash
# Using npm (default)
npm install

# Using pnpm
pnpm install

# Using yarn
yarn install

# Using bun
bun install

Note: Installing the package dependencies will also install the agent's python dependencies via the install:agent script.

  1. Set up your OpenAI API key:
bash
export OPENAI_API_KEY="your-openai-api-key-here"

or create a .env file.

bash
echo "OPENAI_API_KEY=your-openai-api-key-here" > .env
  1. Start the development server:
bash
# 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 agent servers concurrently.

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:ui - Starts only the Next.js UI server
  • dev:agent - Starts only the strands agent server
  • build - Builds the Next.js application for production
  • start - Starts the production server
  • 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

Otherwise, check out the documentation relevant to your task:

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 strands agent is running on port 8000
  2. Your OpenAI API key is set correctly
  3. Both servers started successfully

Python Dependencies

If you encounter Python import errors:

bash
cd agent
uv sync

CopilotKit Intelligence & Threads (Optional)

CopilotKit Intelligence adds durable thread history and cross-session memory to your agent. It requires a COPILOTKIT_LICENSE_TOKEN and a running local Intelligence stack (Docker Desktop + a local Intelligence repo checkout).

Prerequisites

  • Docker Desktop running
  • A COPILOTKIT_LICENSE_TOKEN (obtain from CopilotKit Cloud)
  • The Intelligence repo cloned locally. The docker-compose.intelligence.yml defaults to a sibling directory at ../../../Intelligence relative to this starter; override with the INTELLIGENCE_REPO env var if your checkout is elsewhere.

Start the intelligence stack

bash
# From inside this starter directory:
docker compose -f docker-compose.intelligence.yml up -d --wait

First run builds the intelligence image from source (may take several minutes).

Verify the stack is healthy

bash
docker compose -f docker-compose.intelligence.yml ps

All three services (postgres, redis, intelligence) should show healthy.

Set environment variables

Add the following to your .env file:

env
COPILOTKIT_LICENSE_TOKEN=your-license-token-here
INTELLIGENCE_API_URL=http://localhost:4207
INTELLIGENCE_GATEWAY_WS_URL=ws://localhost:4407

Then start the dev server as usual (npm run dev). Thread history and memory features are activated automatically when COPILOTKIT_LICENSE_TOKEN is set.

Stop / reset

bash
# Stop without removing data:
docker compose -f docker-compose.intelligence.yml down

# Full reset (removes postgres + redis volumes):
docker compose -f docker-compose.intelligence.yml down -v