Concepts
Sources & Connectors
Welche Quellen Anirag indizieren kann — Dokumente, Wikis, Video, Audio, Social, Meeting-Recordings — und wie Transkription läuft.
Anirag akzeptiert deutlich mehr als PDFs. Jede Quelle wird normalisiert, bei Bedarf transkribiert und in Chunks zerlegt — die Antwort-Pipeline behandelt sie alle einheitlich mit Source-Citations.
Unterstützte Quellen — Status-Stand
Status live = produktiv im Plan verfügbar · soon = Roadmap.
Dokumente und Wikis
| Quelle | Sync-Modus | Status | Hinweis |
|---|---|---|---|
| Direkt-Upload (S3 EU) | live | pdf-parse, mehrseitig | |
| DOCX | Direkt-Upload (S3 EU) | live | mammoth Plain-Text |
| XLSX | Direkt-Upload (S3 EU) | live | sheet-to-CSV pro Tab |
| Markdown · TXT · CSV | Direkt-Upload (S3 EU) | live | UTF-8, max 200 MB |
| Web-URL-Crawl | Single-Page-Fetch | live | Mozilla-Readability |
| Website / Blog | Sitemap+RSS-Auto-Detect, 15 Min Polling | live | Bis zu 25 neue Seiten pro Run · Recursive-Crawl folgt in Phase 3I-3 |
| SharePoint Online | Webhook-Sync (Live) | soon | Microsoft-Graph-OAuth |
| Confluence | Polling 5 Min | soon | Cloud + Data-Center |
| Google Drive | Workspace-OAuth | soon | Folder-Watch |
| Notion | Workspace-Token | soon | DB-Sync via Notion-API |
Video-Plattformen
| Quelle | Sync-Modus | Status | Transkription |
|---|---|---|---|
| YouTube · Video | Einzelne URL | live | yt-dlp + lokales Whisper |
| YouTube · Channel | RSS-Auto-Monitor (15 Min) | live | Auto-Pull neuer Uploads |
| Vimeo | Public + Showcase-URL | live | yt-dlp + lokales Whisper |
| Loom | Public-Share-Link | live | yt-dlp + lokales Whisper |
| MP4 / MKV / MOV | Direkt-Upload (max 200 MB) | soon | Lokales Whisper |
Meeting-Recordings
| Quelle | Sync-Modus | Status | Hinweis |
|---|---|---|---|
| Zoom Cloud | OAuth + Webhook | soon | Auto-Index nach Meeting-Ende |
| Microsoft Teams | Stream + Recording-Folder | soon | Channel- + Meeting-Recordings |
| Google Meet | Workspace-Recording-Folder | soon | Drive-Auto-Watch |
Audio + Podcast
| Quelle | Sync-Modus | Status | Transkription |
|---|---|---|---|
| Podcast-RSS | Polling 15 Min | live | Episode-Enclosure → Whisper |
| MP3 / M4A / WAV | Direkt-Upload (max 200 MB) | live | Lokales Whisper auf Worker |
Social-Video
| Quelle | Sync-Modus | Status | Hinweis |
|---|---|---|---|
| TikTok | Account-Monitor (Business) | soon | Reels-Texte als Metadata |
| Business-Token | soon | Reels + IGTV | |
| OAuth (Page + Personal) | soon | Video-Posts + Live-VODs |
Transkription — was unter der Haube läuft
textVideo/Audio
│
├─→ yt-dlp (für YouTube/Vimeo/Loom) ODER S3-Download (Direkt-Upload)
│
├─→ ffmpeg-Audio-Extract (16kHz mono PCM-S16LE)
│
├─→ whisper.cpp · ggml-medium · LOKAL auf Worker (eu-central-1)
│ ├─ Sprach-Erkennung (99 Sprachen)
│ └─ Plain-Text (kein Cloud-Drittanbieter)
│
├─→ Transkript-Chunking (default 2000 chars, 256 Overlap)
│
└─→ Embedding (Voyage-3, 1024 Dimensionen)Datenschutz-Hinweis: Whisper läuft auf unserem Railway-Worker in Frankfurt (eu-central-1). Wir nutzen weder OpenAI-Whisper-API noch andere US-Cloud-Drittanbieter. Audio-Files werden nach erfolgreicher Transkription unverzüglich aus dem temporären Worker-Storage gelöscht. Originale liegen in Ihrem AWS-S3-Bucket (eu-central-1) oder werden — bei direkten URLs (Podcast-RSS, YouTube) — gar nicht persistiert.
API: Source hinzufügen
bashPOST /v1/sources
Authorization: Bearer ar_live_...
Content-Type: application/json
{
"workspace": "ops",
"type": "youtube",
"url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
"options": {
"language": "auto",
"diarization": true,
"embed_after_transcribe": true,
"transcript_only": false
}
}Response
json{
"id": "src_01HKQR...",
"type": "youtube",
"status": "queued",
"estimated_minutes": 4,
"estimated_cost_eur": 0.032,
"webhook_event": "source.indexed"
}Channel-Monitoring (YouTube, Podcast, TikTok)
Statt einzelne URLs hochzuladen, kann ein Channel als Source angelegt werden — Anirag prüft alle 15-30 Min auf neue Uploads und indiziert sie automatisch.
bashPOST /v1/sources
{
"workspace": "ops",
"type": "youtube_channel",
"url": "https://youtube.com/c/AniragKanal",
"options": {
"max_videos_per_run": 50,
"filter_min_duration_seconds": 60,
"filter_published_after": "2026-01-01"
}
}Kosten
| Operation | Preis |
|---|---|
| Audio-Transkription | 0,004 €/Minute |
| Video-Transkription | 0,005 €/Minute |
| Embedding (Standard) | 0,02 €/1M Tokens |
| Storage (Transkript+Emb.) | 0,30 €/GB/Monat |
Speaker-Diarization ist im aktuellen lokalen-Whisper-Setup nicht aktiviert — wir liefern Plain-Text-Transkripte. Diarization (pyannote-audio) folgt in einer späteren Phase als optionales Add-On.
Beispielkalkulation: 1 Stunde YouTube-Webinar
- →Transkription: 60 × 0,005 € = 0,30 €
- →Embedding (~12 k Tokens): 0,012 × 0,02 € = 0,0002 €
- →Storage (~2 MB): vernachlässigbar
- →Total: ~0,30 € für ein vollständig indexiertes 1-Stunden-Webinar.
Permissions
Bei Quellen mit nativen ACLs (SharePoint, Drive, Notion) übernimmt Anirag die Berechtigungen automatisch (Permissions-Mirroring). Bei Quellen ohne ACL (YouTube-Channel, Podcast-RSS) gilt die Workspace-Rolle als Default — Sie können pro Source auch eine eigene ACL setzen:
bashPATCH /v1/sources/{id}
{
"acl": ["group:marketing", "group:executives"]
}DSGVO-Hinweise zu Social-Quellen
Bei TikTok-, Instagram- oder LinkedIn-Account-Monitoring gelten die jeweiligen Plattform-AGB. Anirag indiziert nur öffentlich zugängliche Inhalte oder Inhalte, auf die der Workspace-Besitzer Zugriffsrechte nachweisen kann (Business-Token, eigener Account). Personenbezogene Daten in Kommentaren werden auf Wunsch automatisch pseudonymisiert.
Was kommt als nächstes
- →Embeddings — Chunking-Strategie und Modell-Wahl.
- →Webhooks — Event
source.indexedfür eigene Pipelines. - →Errors — Fehler-Codes für Transkription + Source-Sync.