Skip to main content
Glama
codepawl

codepawl-video-lab

Official
by codepawl

CodePawl Video Lab

Selbst gehostete, evidenzorientierte YouTube-Analyse für CodePawl. Die Chrome-Erweiterung sammelt nur die aktive YouTube-URL sowie Daten, die der Nutzer bewusst importiert. Ein Cloudflare Worker speichert Dossiers und autorisierte Kanalanalysen in D1. Codex liest und schreibt Analysen über einen zustandslosen Streamable-HTTP-MCP-Server; in der Erweiterung gibt es kein LLM.

YouTube URL → Chrome side panel → Worker + D1 → /mcp → Codex
                                      ↑             │
                                      └── reports ──┘

Workspace

apps/extension   WXT + React MV3 side panel and library
apps/worker      Cloudflare Worker, D1, Cron, Google OAuth and remote MCP
packages/contracts  shared Zod schemas, parsers and evidence rules
docs             architecture, security and approval-gated deployment notes

Die Erweiterung hat kein Content-Script. Ihr erstelltes Manifest fordert sidePanel, storage, activeTab und tabs an; sie untersucht das YouTube-DOM nicht, lädt keine Untertitel herunter und greift nicht auf Video- oder Audiobytes zu.

Related MCP server: yt-mcp

Lokale Entwicklung

Anforderungen: Node 22+, npm 12+, Chrome 114+.

git clone git@github.com:codepawl/codepawl-video-lab.git
cd codepawl-video-lab
npm ci
npm run cf:types
npm run db:migrate:local
npm run dev:worker
npm run dev:extension

Kopieren Sie apps/worker/.dev.vars.example in das git-ignorierte .dev.vars und füllen Sie nur lokale Zugangsdaten ein. Generieren Sie TOKEN_ENCRYPTION_KEY als 32 zufällige Bytes, codiert mit base64 oder base64url. Die Google-OAuth-Umleitungs-URI für die lokale Entwicklung lautet:

http://127.0.0.1:8787/oauth/youtube/callback

Erstellen Sie über die lokale Admin-Route einen zehnminütigen Pairing-Code und geben Sie ihn dann im Seitenpanel ein. Das daraus resultierende Erweiterungs-Token läuft nach 30 Tagen ab und kann mit Ngắt thiết bị widerrufen werden:

curl -X POST http://127.0.0.1:8787/api/v1/admin/pairing-codes \
  -H "Authorization: Bearer $LOCAL_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"label":"Chrome extension"}'

Erstellen Sie die entpackte Erweiterung:

npm run build --workspace @codepawl/video-lab-extension

Laden Sie dann apps/extension/.output/chrome-mv3 bei aktiviertem Entwicklermodus über chrome://extensions. Die Installation in einem persönlichen Chrome-Profil ist bewusst eine manuelle bzw. freigabepflichtige Aktion.

Datenregeln

  • Referenzvideos: Metadaten und anonymisierter Kommentartext stammen aus der YouTube Data API v3. Kommentare werden kurz zwischengespeichert; die Identität der Verfasser wird nie gespeichert.

  • Transkripte: nur durch Einfügen durch den Nutzer oder Import von .srt, .vtt, .txt.

  • CodePawl: nur youtube.readonly und yt-analytics.readonly. Es gibt keine Upload-, Metadatenbearbeitungs- oder Veröffentlichungs-Scopes.

  • Stayed to watch: manuelle Studio-Beobachtung mit expliziter Herkunft. Sie wird nicht als Analytics-API-Metrik dargestellt.

  • Referenzkanal-Retention, CTR und Stayed to watch werden niemals abgeleitet.

  • Jede Feststellung muss auf einen Beleg mit Quelle, Beobachtungszeitpunkt, Konfidenz und Einschränkung verweisen.

  • Öffentliche API-Daten laufen nach 30 Tagen ab. Cron versucht zunächst eine neue API-Beobachtung; abgelaufene Referenzdaten werden entfernt, wenn keine Aktualisierung verfügbar ist.

  • Google-Refresh- und Access-Tokens werden vor der D1-Persistenz mit AES-256-GCM verschlüsselt.

MCP

/mcp ist ein zustandsloser createMcpHandler-Server, der auf D1 basiert. Er stellt Folgendes bereit:

  • video_inbox_list

  • video_dossier_get

  • video_dossiers_compare

  • channel_performance_get

  • retention_curve_get

  • analysis_report_save

  • experiment_create

  • experiment_update

Ressource: codepawl://rubrics/shorts-v1.

In Produktion schützt Cloudflare Access Managed OAuth /mcp; der Worker verifiziert unabhängig den Aussteller der Access-Assertion, die Audience und die RS256-Signatur. Nach der Bereitstellung und dem Access-Setup:

codex mcp add codepawl-video-lab --url https://video-lab.codepawl.com/mcp
codex mcp login codepawl-video-lab

Führen Sie diese beiden codex mcp-Befehle auf jedem Rechner aus, der sich mit dem bereitgestellten Server verbinden soll. Die Authentifizierung erfolgt pro Rechner; Anmeldedaten und lokale Codex-Konfiguration werden nicht in diesem Repository gespeichert.

Tracking

Cron läuft alle 15 Minuten und entdeckt Uploads über die Upload-Wiedergabeliste des autorisierten Kanals. Neue Videos erhalten echte zukünftige Zielwerte nach 2 h, 24 h und 72 h sowie tägliche Rollups. Historische Importe erhalten zum Verbindungszeitpunkt eine erste Beobachtung und niemals nachträglich erfundene Zeitstempel für Meilensteine. Leere Analytics-Antworten bleiben pending und werden mit begrenztem Backoff erneut versucht. Eindeutige Job-Schlüssel und Snapshot-Beschränkungen machen wiederholte Läufe idempotent.

Validierung

npm run typecheck
npm test
npm run build
npm run db:migrate:local
npm run worker:dry-run

Die visuelle Testvorrichtung ist nur lokal verfügbar:

cd apps/worker
npx wrangler d1 execute video-lab --local --file test/fixtures/visual-qa.sql
cd ../..
npm run visual:dev --workspace @codepawl/video-lab-extension

Öffnen Sie http://127.0.0.1:4173/visual.html?surface=sidepanel oder visual.html für die Bibliothek. Die Testumgebung verwendet Fixture-Daten und ist nicht im MV3-Build enthalten.

Freigabegrenze

Durch dieses Repository-Setup werden keine Cloudflare-Ressourcen, DNS-Einträge, Access-Anwendungen, Google-OAuth-Zugangsdaten oder Produktionsbereitstellungen erstellt. Das genaue Ressourcenpaket, das eine separate Freigabe erfordert, finden Sie in docs/deployment.md.

Lizenz

MIT. Siehe LICENSE.

Primäre Referenzen

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server exposing YouTube Data, Analytics, and Reporting APIs as agent-callable tools with multi-brand-account authentication, quota tracking, and a safety policy that excludes destructive operations like video deletion.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for managing YouTube channels using Data API v3 and Analytics. Supports video upload, comments, playlists, and analytics via ~30 tools, with stateless OAuth authentication.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local, privacy-first MCP server providing direct access to official YouTube Data, Analytics, Reporting, and Live Streaming APIs for creators, enabling channel analysis, research, and guarded management operations.
    3
    MIT