synops/docs/proposals/web_clipper.md
vegard 0a467066ba Synops v2: arkitektur, retninger og dokumentasjon
Nystart basert på arkitektonisk innsikt fra Sidelinja v1.
Koden er ny, visjon og primitiver er validert gjennom tidligere arbeid.

Inneholder:
- Komplett arkitekturdokumentasjon (docs/arkitektur.md)
- 6 vedtatte retninger (docs/retninger/)
- Alle concepts, features, proposals og erfaringer fra v1
- Server-oppsett og drift (docs/setup/)
- LiteLLM-konfigurasjon (API-nøkler via env)
- Editor.svelte referanse fra v1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 06:43:08 +01:00

43 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Forslag: Web Clipper / "Send til Sidelinja"
## Idé
Redaksjonell research skjer oftest utenfor Sidelinja — når man leser VG, Aftenposten, eller PDF-er. En minimal "Send til Sidelinja"-mekanisme lar brukeren sende en URL til sin personlige innboks, der AI-en oppsummerer, trekker ut aktører og lager et ferdig research-klipp.
## Hvorfor er dette interessant?
- Fjerner friksjonen mellom "leste noe interessant" og "la det inn i systemet"
- Utnytter eksisterende infrastruktur: jobbkø, AI Gateway, kunnskapsgraf
- Research-klipp lander som meldingsbokser — kan bli kanban-kort, faktoider, artikkel-grunnlag
## Hva bygger den på?
- **Jobbkø** — ny jobbtype `url_ingest`
- **AI Gateway** — oppsummering og entity-uttrekk
- **Meldingsboks** — resultatet er en vanlig melding med `#`-mentions og graf-edges
- **Kunnskapsgraf** — kobler research til eksisterende entiteter
- **Personlig workspace** — innboks for ubehandlet research
## Gjennomføring
### Innsendingsmetoder (velg én eller flere)
1. **Share Target (PWA):** SvelteKit PWA registrerer seg som share target på mobil. Brukeren trykker "Del" i nettleseren → Sidelinja mottar URL-en. Krever kun en `share_target`-entry i `manifest.json` + et API-endepunkt.
2. **Chrome-utvidelse:** Minimal popup med "Send til Sidelinja" + workspace-velger. POST til `/api/clip`.
3. **Bookmarklet:** JavaScript-bookmarklet som sender `window.location.href` til API-et. Zero install.
### Pipeline
```
URL mottatt via /api/clip
→ Opprett melding i personlig innboks (umiddelbart synlig for bruker)
→ Legg jobb i køen: url_ingest (prioritet 5)
→ Rust-worker:
1. Hent HTML (eller bruk readability-parser for ren tekst)
2. Send til AI Gateway (sidelinja/rutine): "Oppsummer, identifiser aktører"
3. Oppdater meldingen med oppsummering, kilde-URL, foreslåtte #-mentions
4. Brukeren godkjenner mentions → graf-edges opprettes
```
## Åpne spørsmål
- Paywall-innhold? Brukeren ser det i nettleseren, men workeren kan ikke hente det. Løsning: Send full tekst fra klienten i stedet for bare URL?
- Batching? "Legg til 5 artikler i kø" eller én-og-én?
- Automatisk duplikat-deteksjon? Sjekk om URL-en allerede er klippet.
## Innsats: LavMiddels
## Wow-faktor: Høy