Connectors
Connectors provide a unified interface for ingesting content from different sources. Each connector implements theConnector interface and handles source-specific details.
Available Connectors
GitHub
GitHub files, releases, and repositories
RSS Feeds
RSS/Atom feeds with article extraction
Local Files
Local files with glob patterns
PDF Documents
PDF files and documents
Linear Issues
Linear workspace issues
Connector Interface
All connectors implement this interface:Source ID
Each connector has a uniquesourceId that identifies the content source:
- Track which content has been ingested
- Avoid duplicate ingestion
- Query specific sources during search
Document Generator
Thesources() method returns an async generator that yields documents:
id- Unique document identifiercontent- Function returning document textmetadata- Optional key-value metadata
Ingestion Strategy
Connectors can specify when to ingest:Expiry
Set expiration time for cached content:Using Connectors
Import Connectors
With Ingestion
With Search
Connector Examples
GitHub File
GitHub Releases
GitHub Repository
RSS Feed
Local Files
PDF Files
Linear Issues
Custom Connectors
Create your own connector by implementing the interface:Using Custom Connectors
Multiple Connectors
Ingest from multiple sources:sourceId for independent tracking.
Best Practices
Use Descriptive Source IDs Source IDs should clearly identify the content source. Handle Errors in Content Functions Thecontent() function should handle errors gracefully:
never for static content, contentChanged for dynamic content, and expired for time-sensitive content.
Next Steps
GitHub Connector
Detailed GitHub connector guide
RSS Connector
RSS feed ingestion
Local Files
Work with local files
API Reference
Connector API documentation