Domene/ruting, workspace UI, synops-agent, admin, chat med AI, dokumentasjon, opprydding. Status og neste steg dokumentert. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.9 KiB
3.9 KiB
Sesjon 19-20. mars 2026 — oppsummering
Gjort i denne sesjonen
Domene og ruting
- ws.synops.no som app, synops.no som statisk landingsside
- adm.synops.no som admin-arbeidsflate (eget subdomain)
- Cookie-domene .synops.no for delt sesjon mellom subdomener
- Fjernet ORIGIN-hardkoding (AUTH_TRUST_HOST=true)
- Erfaringsnotat: docs/erfaringer/multi_subdomain.md
Workspace UI
- Unifisert ContextHeader (brukes overalt, innstillinger, tema, kontekst-velger)
- Fargevelger med per-element kontroll (canvas, header, bokser, rammer, aksent, tekst)
- Forhåndsdefinerte temaer + 6 bruker-slots
- Panel-resize fungerer (alle kanter og hjørner)
- Canvas: klikk-dra=pan, Ctrl+scroll=zoom, piltaster, kameraposisjon lagres
- Z-order: sist berørt boks øverst (persistent)
- Paneler husker brukerens foretrukne størrelse
- Nye paneler plasseres i viewport-sentrum
- Toolbar: −/+/○/#/fullskjerm med konsistent formspråk
- Klikk prosent = reset til 100% (ankret til viewport-sentrum)
- Canvas fanger ikke lenger klikk/tastatur fra panel-innhold
- Lukk i fullskjerm fungerer (DOM-element flyttes tilbake fra body)
Nye paneler/traits
- Node Explorer: søk, filtrer, klikk edges, inline redigering
- Web Viewer: iframe-basert nettleser med bokmerker
- AI-verktøy og Ressursforbruk som BlockShell-paneler
synops-agent
- 5088 linjer Rust, kompilerer
- 6 providers: OpenRouter, Anthropic, Gemini, xAI, OpenAI, Ollama
- Testet med OpenRouter/Gemini Flash — fungerer
- ACC, retry, REPL, planmodus, git, graf, daemon, checkpoint
Admin
- adm.synops.no med admin-arbeidsflate
- API-nøkler: kryptert lagring i PG (AES-256-GCM), admin-UI, test-tilkobling
- model_config tabell: erstatter LiteLLM YAML
- model_pricing tabell: kostnadsestimat
Chat med AI
- Claude Code-chat fungerer med sanntidslevering
- handler_mode: internal/external/paused i agent_identities
- To trigger-spor: permanent deltaker (member_of) vs @bot-nevnelse
- synops-respond: node+edge+access i én transaksjon (løser sanntid)
- WS-fix: sjekk PG direkte for nye noder (INSERT)
- Modellnavn i metadata vises som avsender
Dokumentasjon
- docs/retninger/kvalitetsprinsipper.md (inline i CLAUDE.md)
- docs/infra/admin_arbeidsflate.md
- docs/infra/claude_code_polling.md
- docs/infra/brukerklasser.md
- docs/infra/nøkkelhåndtering.md
- docs/infra/oppgaver.md
- docs/erfaringer/multi_subdomain.md
- docs/erfaringer/access_propagering.md
- Proposals: agent_harness, skjermen, rollebasert_arv, mine_ting, chat_merging, chat_forum_dualitet, varsling, universell_input
Opprydding
- Sidelinja-referanser → synops.no i kode og docs
- AI-aliaser: sidelinja/rutine → synops/low, sidelinja/resonering → synops/high
- Forgejo ROOT_URL → git.synops.no
- Authentik redirect URIs oppdatert
- suggest-edges orkestrering fikset ($NODE_ID)
- 437 feilede orchestrate-jobber ryddet
Status ved sesjonslutt
Fungerer
- ws.synops.no: arbeidsflaten med alle paneler og tema
- adm.synops.no: admin-arbeidsflate med Node Explorer og Web Viewer
- Chat med @bot: trigger, svar via OpenRouter, sanntidslevering
- API-nøkler: kryptert i PG, admin-UI for å legge inn/teste/deaktivere
- model_config: modell-mapping i PG (erstatter LiteLLM YAML)
Pågående arbeid (neste steg)
- synops-respond leser API-nøkler fra PG (ikke env) og modell fra model_config
- Fjerne LiteLLM som avhengighet (synops-respond snakker direkte med providers)
- Admin-UI for model_config (hvilken modell brukes til hva)
- Brukerklasser med token-budsjett
Kjente bugs
- suggest-edges orkestrering: args ikke propagert riktig (delvis fikset)
- Noen trait-komponenter har hardkodede farger i style-blokker (delvis fikset)
Viktige konfigverdier
- handler_mode:
internal(synops-respond via eksternt API) - SYNOPS_MASTER_KEY: i /srv/synops/.env og /tmp/maskinrommet.env
- OpenRouter API-nøkkel: kryptert i api_keys-tabell
- Claude Code chat: abe2edfd-986b-45ba-8c2e-4461a8a7e480
- Claude agent node: d3eebc99-9c0b-4ef8-bb6d-6bb9bd380a44