synops/tools/README.md
vegard b6cd2b4571 Implementer synops-respond CLI-verktøy (oppgave 21.8)
Bryter ut prosesseringslogikken fra maskinrommet/src/agent.rs til
et selvstendig CLI-verktøy: synops-respond. Følger unix-filosofien
der maskinrommet orkestrerer og CLI-verktøy gjør jobben.

Ansvarsdeling:
- maskinrommet beholder: kill switch, rate limiting, loop-prevensjon,
  STDB-skriving (sanntidsvisning for frontend)
- synops-respond håndterer: kontekst-henting fra PG, prompt-bygging,
  claude CLI-kall med retry, PG-skriving (node, edges, logging)

agent.rs er nå en tynn dispatcher (~140 linjer, ned fra ~305) som
validerer sikkerhet og spawner synops-respond, likt mønsteret fra
summarize.rs sin delegering til synops-summarize.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:51:50 +00:00

34 lines
1.6 KiB
Markdown

# Synops CLI-verktøy
CLI-verktøy for Claude sin interaksjon med systemet. Bruker PG direkte
eller maskinrommet-API. Ligger i PATH via symlink eller direkte kall.
## Verktøy
| Verktøy | Beskrivelse | Status |
|---------|-------------|--------|
| `synops-transcribe` | Whisper-transkribering av lydfil fra CAS | Ferdig |
| `synops-audio` | FFmpeg lydprosessering med EDL (cut, normalize, EQ, m.m.) | Ferdig |
| `synops-render` | Tera HTML-rendering til CAS (artikler, forsider) | Ferdig |
| `synops-rss` | RSS/Atom-feed generering for samlinger | Ferdig |
| `synops-tts` | Tekst-til-tale via ElevenLabs, lagrer lyd i CAS | Ferdig |
| `synops-summarize` | AI-oppsummering av kommunikasjonsnode via LiteLLM | Ferdig |
| `synops-suggest-edges` | AI-foreslåtte edges (topics/mentions) for en node via LiteLLM | Ferdig |
| `synops-respond` | Claude chat-svar i kommunikasjonsnoder | Ferdig |
## Konvensjoner
- Navnekonvensjon: `synops-<verb>` (f.eks. `synops-context`)
- Shell-scripts eller Rust binaries
- Ett verktøy per oppgave — hold det enkelt
- Output: stdout, strukturert tekst (markdown eller JSON)
- DB-tilkobling: `$DATABASE_URL` eller fra `/tmp/maskinrommet.env`
## Planlagte verktøy
Ref: `docs/infra/agent_api.md`
- `synops-context <communication_id>` — hent kontekst for en chat
- `synops-search <query>` — søk i grafen (noder + edges)
- `synops-tasks [--phase N] [--status S]` — oppgavestatus fra tasks.md
- `synops-feature-status <key>` — implementeringsstatus for en feature
- ~~`synops-respond`~~ — implementert (se tabell over)
- `synops-update-spec <node_id>` — oppdater spec-node (stdin)