copilotkit/copilotkit

copilotkit-integrations

Use when wiring an external agent framework (LangGraph, CrewAI, PydanticAI, Mastra, ADK, LlamaIndex, Agno, Strands, Microsoft Agent Framework, or others) into a CopilotKit application via the AG-UI protocol.

Zobacz źródło
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

CopilotKit Integrations

Live Documentation (MCP)

This plugin includes an MCP server (copilotkit-docs) that provides search-docs and search-code tools for querying live CopilotKit documentation and source code. Useful for looking up framework-specific integration details.

  • Claude Code: Auto-configured by the plugin's .mcp.json -- no setup needed.
  • Codex: Requires manual configuration. See the copilotkit-debug skill for setup instructions.

Overview

CopilotKit connects to external agent frameworks through the AG-UI (Agent-UI) protocol -- a streaming protocol that enables bidirectional communication between a frontend CopilotKit application and a backend agent. Every integration follows the same architectural pattern:

  1. Agent server -- your agent framework runs as an HTTP server (usually FastAPI/uvicorn for Python, or an Express/Next.js route for JS/TS)
  2. AG-UI adapter -- a framework-specific adapter translates between the agent's native interface and the AG-UI wire protocol
  3. CopilotKit runtime -- the Next.js catch-all API route creates a CopilotRuntime that connects to the agent via an AG-UI client class, mounted with the V2 multi-route Hono handler
  4. Frontend -- React components use useAgent, useFrontendTool, useRenderTool, and useHumanInTheLoop to interact with the agent

Supported Integrations

FrameworkLanguageAG-UI Client (route.ts)AG-UI Server AdapterAgent Port
LangGraph (Python, self-hosted)PythonLangGraphHttpAgent from @copilotkit/runtime/langgraphag-ui-langgraph (add_langgraph_fastapi_endpoint)8123
LangGraph (Python, LangGraph Platform)PythonLangGraphAgent from @copilotkit/runtime/langgraphLangGraph Platform (managed)varies
LangGraph (JS)TypeScriptLangGraphAgent from @copilotkit/runtime/langgraphBuilt into @copilotkit/sdk-js/langgraph8123
CrewAI FlowsPythonHttpAgent from @ag-ui/clientag-ui-crewai (add_crewai_flow_fastapi_endpoint)8000
CrewAI CrewsPythonCrewAIAgent from @ag-ui/crewaiag-ui-crewai (add_crewai_crew_fastapi_endpoint)8000
PydanticAIPythonHttpAgent from @ag-ui/clientpydantic-ai-slim[ag-ui] (AGUIAdapter.dispatch_request())8000
MastraTypeScriptMastraAgent from @ag-ui/mastraBuilt into @ag-ui/mastraNext.js dev server
Google ADKPythonHttpAgent from @ag-ui/clientag-ui-adk (add_adk_fastapi_endpoint)8000
LlamaIndexPythonLlamaIndexAgent from @ag-ui/llamaindexllama-index-protocols-ag-ui (get_ag_ui_workflow_router)9000
AgnoPythonHttpAgent from @ag-ui/clientagno (built-in AgentOS with AGUI interface)8000
StrandsPythonHttpAgent from @ag-ui/clientag_ui_strands (create_strands_app)8000
Microsoft Agent Framework (Python)PythonHttpAgent from @ag-ui/clientagent-framework-ag-ui (add_agent_framework_fastapi_endpoint)8000
Microsoft Agent Framework (.NET)C#HttpAgent from @ag-ui/clientMicrosoft.Agents.AI.Hosting.AGUI.AspNetCore (MapAGUI)8000
A2A MiddlewarePython + TSA2AMiddlewareAgent from @ag-ui/a2a-middlewarePer-agent (mixed frameworks)9000-9002
MCP AppsTypeScriptBuiltInAgent with MCPAppsMiddlewareN/A (middleware on BuiltInAgent)3108

Decision Tree

Use this to pick the right integration:

Is your agent written in TypeScript/JavaScript?
  YES --> Is it a Mastra agent?
    YES --> Use Mastra integration (references/integrations/mastra.md)
    NO  --> Is it a LangGraph JS agent?
      YES --> Use LangGraph JS integration (references/integrations/langgraph.md, JS section)
      NO  --> Use BuiltInAgent with MCP Apps middleware or HttpAgent
  NO (Python or .NET) -->
    Which framework?
      LangGraph     --> references/integrations/langgraph.md
      CrewAI        --> references/integrations/crewai.md
      PydanticAI    --> references/integrations/pydantic-ai.md
      Google ADK    --> references/integrations/adk.md
      LlamaIndex    --> references/integrations/llamaindex.md
      Agno          --> references/integrations/agno.md
      Strands       --> references/integrations/strands.md
      MS Agent Fw   --> references/integrations/ms-agent-framework.md
      Multiple agents (A2A) --> references/integrations/a2a.md

Common AG-UI Protocol Patterns

Every integration shares these patterns on the frontend side.

CopilotKit Provider (layout.tsx)

tsx
import { CopilotKit } from "@copilotkit/react-core/v2";
import "@copilotkit/react-core/v2/styles.css";

export default function RootLayout({ children }) {
  return (
    <CopilotKit runtimeUrl="/api/copilotkit" useSingleEndpoint={false}>
      {children}
    </CopilotKit>
  );
}

The provider component is CopilotKit (imported from @copilotkit/react-core/v2). There is no agent prop -- agents are selected per-hook via agentId (matching a key from CopilotRuntime({ agents: { ... } })). useSingleEndpoint={false} pins multi-route transport against the catch-all backend route below. It is optional — omitting it lets the provider detect the mode — but pinning it skips the detection probe.

API Route Pattern (route.ts)

All integrations create a Next.js catch-all API route at src/app/api/copilotkit/[[...slug]]/route.ts using the V2 multi-route Hono handler:

tsx
import {
  CopilotRuntime,
  createCopilotHonoHandler,
  InMemoryAgentRunner,
} from "@copilotkit/runtime/v2";
import { handle } from "hono/vercel";
// Import the appropriate agent class for your framework

const runtime = new CopilotRuntime({
  agents: {
    default: new SomeAgentClass({ url: "http://localhost:8000/" }),
  },
  runner: new InMemoryAgentRunner(),
});

const app = createCopilotHonoHandler({
  runtime,
  basePath: "/api/copilotkit",
});

export const GET = handle(app);
export const POST = handle(app);
export const PATCH = handle(app);
export const DELETE = handle(app);

Use createCopilotHonoHandler (the non-deprecated factory; createCopilotEndpoint is an alias). The frontend selects this agent via agentId: "default".

Shared State (useAgent)

useAgent returns { agent } only. Read state via agent.state and write via agent.setState:

tsx
const { agent } = useAgent({ agentId: "default" });
const state = (agent.state as { proverbs: string[] } | undefined) ?? {
  proverbs: [],
};
const setState = (next: { proverbs: string[] }) => agent.setState(next);

Frontend Tools (useFrontendTool)

tsx
import { z } from "zod";

useFrontendTool({
  name: "setThemeColor",
  parameters: z.object({
    themeColor: z.string().describe("The theme color to set."),
  }),
  handler: async ({ themeColor }) => {
    setThemeColor(themeColor);
    return `Set theme color to ${themeColor}`;
  },
});

Generative UI (useRenderTool)

tsx
import { z } from "zod";

useRenderTool(
  {
    name: "get_weather",
    parameters: z.object({ location: z.string() }),
    render: ({ parameters }) => <WeatherCard location={parameters.location} />,
  },
  [],
);

Human in the Loop (useHumanInTheLoop)

tsx
useHumanInTheLoop(
  {
    name: "go_to_moon",
    description: "Go to the moon on request.",
    render: ({ respond, status }) => (
      <MoonCard status={status} respond={respond} />
    ),
  },
  [],
);

Agent-Side State Management

On the agent side, shared state is managed differently per framework, but the protocol is the same -- agents emit STATE_SNAPSHOT events to update the frontend. See each integration guide for framework-specific patterns.

Key Packages

Frontend (all integrations):

  • @copilotkit/react-core/v2 -- provider (CopilotKit), hooks (useAgent, useFrontendTool, useRenderTool, useHumanInTheLoop), and chat components (CopilotChat, CopilotSidebar, CopilotPopup). Styles: import "@copilotkit/react-core/v2/styles.css".
  • @copilotkit/runtime/v2 -- server runtime (CopilotRuntime, createCopilotHonoHandler, InMemoryAgentRunner)

AG-UI client classes (choose one per integration):

  • @copilotkit/runtime/langgraph -- LangGraphAgent, LangGraphHttpAgent
  • @ag-ui/client -- HttpAgent (generic, works with any AG-UI server)
  • @ag-ui/crewai -- CrewAIAgent
  • @ag-ui/mastra -- MastraAgent
  • @ag-ui/llamaindex -- LlamaIndexAgent
  • @ag-ui/a2a-middleware -- A2AMiddlewareAgent
  • @ag-ui/mcp-apps-middleware -- MCPAppsMiddleware
z tego samego repozytorium

Więcej Skills

Wszystkie Skills
copilotkit
Społeczność

a2ui-renderer

Render A2UI (Agent-to-UI declarative surfaces) in CopilotKit v2. Enable the runtime via CopilotRuntime({ a2ui: {...} }), then enable the provider via . Auto-activates via /info — do NOT manually pass renderActivityMessages. createA2UIMessageRenderer ships from @copilotkit/react-core/v2; low-level primitives (A2UIProvider, A2UIRenderer, createCatalog) ship from @copilotkit/a2ui-renderer. Covers theme customization, createSurface dedup, action-bridge try/finally cleanup. Load when an agent emits A2UI operations (createSurface / updateComponents / updateDataModel), when wiring a2ui on CopilotRuntime, or when styling A2UI surfaces.

instalacje
2
GitHub Stars
37,3 tys.
Aktualizacja
9 wrz
copilotkit
Społeczność

react-core

@copilotkit/react-core — mount the CopilotKit provider (from @copilotkit/react-core/v2) in a Next.js App Router / React Router v7 / TanStack Start / SPA app, drop in CopilotChat/CopilotPopup/CopilotSidebar (v2 chat components ship from react-core/v2 — NOT react-ui, which is CSS-only in v2), access and subscribe to agents with useAgent / useAgentContext / useCapabilities, switch between multiple agents, manage durable Intelligence threads with useThreads, register browser-side tools via useFrontendTool, render tool calls with useRenderTool / useComponent / useDefaultRenderTool, gate execution with useHumanInTheLoop, wire file attachments with useAttachments, configure suggestion pills, and register activity- and custom-message renderers. publicLicenseKey is canonical (publicApiKey is deprecated alias). Load the reference under references/ that matches your task.

instalacje
2
GitHub Stars
37,3 tys.
Aktualizacja
9 wrz
copilotkit
Społeczność

runtime

@copilotkit/runtime — mount a fetch-native CopilotRuntime on any JS server, wire middleware, pick an AgentRunner, instantiate BuiltInAgent (Factory Mode with TanStack AI is the preferred default) or plug in any of 12 external agent frameworks (Mastra, LangGraph, CrewAI Crews/Flows, PydanticAI, ADK, LlamaIndex, Agno, AWS Strands, MS Agent Framework, AG2, A2A), enable Intelligence mode for durable threads + websocket, register server-side tools via defineTool, and wire voice transcription. Uses the fetch-based createCopilotRuntimeHandler primitive — the Express/Hono adapters are discouraged. Load the reference under references/ that matches your task.

instalacje
2
GitHub Stars
37,3 tys.
Aktualizacja
9 wrz
copilotkit
Społeczność

copilotkit-contribute

Use when contributing to the CopilotKit open-source project — forking, cloning, setting up the monorepo, creating branches, running tests, and submitting pull requests against CopilotKit/CopilotKit.

instalacje
1
GitHub Stars
37,3 tys.
Aktualizacja
9 wrz