github

airweave-ai / airweave

  • Ρ‡Π΅Ρ‚Π²Π΅Ρ€Π³, 15 мая 2025β€―Π³. Π² 00:00:02
https://github.com/airweave-ai/airweave

Airweave lets agents search any app



airweave-lettermark

Ruff ESLint Backend Tests Codecov Discord

Airweave

Airweave is a tool that lets agents semantically search any app. It's MCP compatible and seamlessly connects any app, database, or API, to transform their contents into agent-ready knowledge.

πŸŽ₯ Watch Demo

airweave_launch_bf_demo_vid_inverted_4k.mp4

Overview

Airweave simplifies the process of making information retrievable for your agent. Whether you have structured or unstructured data, Airweave helps you break it into processable entities, store the data and make it retrievable through REST and MCP endpoints.

Table of Contents

πŸš€ Quick Start

# 1. Clone the repository
git clone https://github.com/airweave-ai/airweave.git
cd airweave

# 2. Build and run
chmod +x start.sh
./start.sh

That's it! Access the dashboard at http://localhost:8080

πŸ”Œ Supported Integrations

AsanaCalendlyChat-gptClickupConfluenceDropboxFacebookGithub GmailGoogle CalendarGoogle DriveHubspotIntercomJiraLinearLinkedin MailchimpMondayMysqlNotionOnedriveOracleOutlook CalendarOutlook Mail PerplexityPostgresqlSalesforceSlackSql ServerSqliteStripeTodoist TrelloWhatsappZendesk

πŸ’» Usage

Frontend

  • Access the UI at http://localhost:8080
  • Connect sources, configure syncs, and query data

API

  • Swagger docs: http://localhost:8001/docs
  • Create connections, trigger syncs, and search data

πŸ“¦ SDKs

Python

pip install airweave-sdk
from airweave import AirweaveClient

client = AirweaveClient(api_key="your-api-key")

# List all sources
sources = client.sources.list()

# Create a sync job
job = client.sync.create_sync(
  name="My first sync",
  source_connection_id=source_id,
  run_immediately=True
)

TypeScript/JavaScript

npm install @airweave/sdk
# or
yarn add @airweave/sdk
import { AirweaveClient } from "@airweave/sdk";

const client = new AirweaveClient({
  apiKey: "your-api-key",
});

// List sources
const sources = await client.sources.list();

// Create a sync job
const job = await client.sync.create_sync({
  name: "My first sync",
  source_connection_id: sourceId,
  run_immediately: true,
});

πŸ”‘ Key Features

  • Data synchronization from 25+ sources with minimal config
  • Entity extraction and transformation pipeline
  • Multi-tenant architecture with OAuth2
  • Incremental updates using content hashing
  • Semantic search for agent queries
  • Versioning for data changes
  • White-labeling support for SaaS builders

πŸ”§ Technology Stack

  • Frontend: React/TypeScript with ShadCN
  • Backend: FastAPI (Python)
  • Databases: PostgreSQL (metadata), Qdrant (vectors)
  • Deployment: Docker Compose (dev), Kubernetes (prod)

πŸ›£οΈ Roadmap

  • Additional source integrations
  • Redis worker queues for large-scale syncs
  • Webhooks for event-driven syncs
  • Kubernetes support via Helm charts

πŸ‘₯ Contributing

We welcome contributions! Please check CONTRIBUTING.md for details.

πŸ“„ License

Airweave is released under the MIT license.

πŸ”— Connect