# CopilotKit
**Repository Path**: dearyiming/CopilotKit
## Basic Information
- **Project Name**: CopilotKit
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-06-10
- **Last Updated**: 2025-06-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Build deeply-integrated AI assistants & agents
that work alongside your users inside your applications.
Stay up to date with our latest releases!
## π Featured Examples
### π [Form-Filling Copilot](https://github.com/CopilotKit/CopilotKit/tree/main/examples/copilot-form-filling)
Transform tedious form-filling into natural conversations. The AI assistant asks the right questions, understands context, and completes forms automaticallyβno more field-by-field drudgery.
### π [State Machine Copilot](https://github.com/CopilotKit/CopilotKit/tree/main/examples/copilot-state-machine)
Transform complex conversational flows into manageable state machines. This AI-powered car sales application demonstrates how to build sophisticated multi-stage interactions with contextual awareness and state transitions.
### π¬ [Chat With Your Data](https://github.com/CopilotKit/CopilotKit/tree/main/examples/copilot-chat-with-your-data)
Transform your data visualization experience with an AI-powered dashboard assistant. Ask questions about your data in natural language, get insights, and interact with your metricsβall through a conversational interface powered by CopilotKit.
### π¦ [SaaS Copilot (Bank)](https://github.com/CopilotKit/demo-banking)
A context-aware financial assistant that analyzes transactions, provides spending insights, and helps users manage their finances through natural conversation. Demonstrates how CopilotKit can integrate deeply with complex data structures.
## π§ββοΈ Agent Examples
### βοΈ [Travel Planner](https://github.com/CopilotKit/CopilotKit/tree/main/examples/coagents-travel)
An agent-native application that helps users plan trips by generating detailed itineraries, finding attractions, and visualizing travel plans. Shows how agents can collaborate with users to create rich, interactive experiences.
### π [Research Canvas](https://github.com/CopilotKit/CopilotKit/tree/main/examples/coagents-research-canvas)
Multi-agent document analysis system that helps users analyze papers, synthesize information, and generate comprehensive research summaries through collaborative AI workflows.
# Getting Started
Get started in minutes - check out the [quickstart documentation](https://docs.copilotkit.ai/quickstart).
# Code Samples
```ts
// Headless UI with full control
const { visibleMessages, appendMessage, setMessages, ... } = useCopilotChat();
// Pre-built components with deep customization options (CSS + pass custom sub-components)
// ---
// Frontend RAG
useCopilotReadable({
description: "The current user's colleagues",
value: colleagues,
});
// knowledge-base integration
useCopilotKnowledgebase(myCustomKnowledgeBase)
// ---
// Frontend actions + generative UI, with full streaming support
useCopilotAction({
name: "appendToSpreadsheet",
description: "Append rows to the current spreadsheet",
parameters: [
{ name: "rows", type: "object[]", attributes: [{ name: "cells", type: "object[]", attributes: [{ name: "value", type: "string" }] }] }
],
render: ({ status, args }) => ,
handler: ({ rows }) => setSpreadsheet({ ...spreadsheet, rows: [...spreadsheet.rows, ...canonicalSpreadsheetData(rows)] }),
});
// ---
// structured autocomplete for anything
const { suggestions } = useCopilotStructuredAutocompletion(
{
instructions: `Autocomplete or modify spreadsheet rows based on the inferred user intent.`,
value: { rows: spreadsheet.rows.map((row) => ({ cells: row })) },
enabled: !!activeCell && !spreadsheetIsEmpty,
},
[activeCell, spreadsheet]
);
```
# Code Samples (CoAgents: in-app LangGraph Agents)
```ts
// Share state between app and agent
const { agentState } = useCoAgent({
name: "basic_agent",
initialState: { input: "NYC" }
});
// agentic generative UI
useCoAgentStateRender({
name: "basic_agent",
render: ({ state }) => ,
});
// Human in the Loop (Approval)
useCopilotAction({
name: "email_tool",
parameters: [{ name: "email_draft", type: "string", description: "The email content", required: true }],
renderAndWaitForResponse: ({ args, status, respond }) => (
respond?.({ approved: false })}
onSend={() => respond?.({ approved: true, metadata: { sentAt: new Date().toISOString() } })}
/>
),
});
// ---
// intermediate agent state streaming (supports both LangGraph.js + LangGraph python)
const modifiedConfig = copilotKitCustomizeConfig(config, {
emitIntermediateState: [{
stateKey: "outline",
tool: "set_outline",
toolArgument: "outline"
}],
});
const response = await ChatOpenAI({ model: "gpt-4o" }).invoke(messages, modifiedConfig);
```
## Contributing
Thanks for your interest in contributing to CopilotKit! π
We value all contributions, whether it's through code, documentation, creating demo apps, or just spreading the word.
Here are a few useful resources to help you get started:
- For code contributions, [CONTRIBUTING.md](./CONTRIBUTING.md).
- For documentation-related contributions, [check out the documentation contributions guide](https://docs.copilotkit.ai/contributing/docs-contributions?ref=github_readme).
- Want to contribute but not sure how? [Join our Discord](https://discord.gg/6dffbvGU3D) and we'll help you out!
> π‘ **NOTE:** All contributions must be submitted via a pull request and be reviewed by our team. This ensures all contributions are of high quality and align with the project's goals.
## Get in touch
You are invited to join our community on [Discord](https://discord.gg/6dffbvGU3D) and chat with our team and other community members.
## License
This repository's source code is available under the [MIT License](https://github.com/CopilotKit/CopilotKit/blob/main/LICENSE).