Claude er nå en agent-node i grafen som kan delta i samtaler.
Når en bruker sender melding i en kommunikasjonsnode der Claude
er deltaker, enqueues en agent_respond-jobb som kaller claude CLI
direkte og skriver svaret tilbake til chatten.
Nye filer:
- migrations/007_agent_system.sql: agent_identities, agent_permissions, ai_usage_log
- maskinrommet/src/agent.rs: agent_respond job handler
- scripts/maskinrommet.service: systemd-tjeneste for native kjøring
- scripts/maskinrommet-env.sh: genererer env med Docker container-IPs
Endringer:
- intentions.rs: trigger agent_respond ved melding i agent-chat
- jobs.rs: dispatch agent_respond til agent-handler
- frontend chat: bot-badge (🤖) og amber-farge på agent-meldinger
- LiteLLM config: resonering-modellalias via OpenRouter
Maskinrommet kjører nå direkte på hosten (ikke i Docker) for å
ha tilgang til claude CLI. Caddy peker til host.docker.internal.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
27 lines
1 KiB
Bash
Executable file
27 lines
1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Genererer /tmp/maskinrommet.env med Docker container-IP-er.
|
|
# Kjøres av systemd ExecStartPre.
|
|
|
|
set -euo pipefail
|
|
|
|
ENV_FILE="/srv/synops/.env"
|
|
read_env() { grep "^$1=" "$ENV_FILE" | head -1 | cut -d= -f2; }
|
|
container_ip() { docker inspect "$1" --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'; }
|
|
|
|
PG_IP=$(container_ip sidelinja-postgres-1)
|
|
STDB_IP=$(container_ip sidelinja-spacetimedb-1)
|
|
WHISPER_IP=$(container_ip sidelinja-faster-whisper-1 2>/dev/null || echo "")
|
|
|
|
cat > /tmp/maskinrommet.env <<EOF
|
|
DATABASE_URL=postgres://$(read_env POSTGRES_USER):$(read_env POSTGRES_PASSWORD)@${PG_IP}:5432/synops
|
|
SPACETIMEDB_URL=http://${STDB_IP}:3000
|
|
SPACETIMEDB_DATABASE=$(read_env SPACETIMEDB_DATABASE)
|
|
SPACETIMEDB_TOKEN=$(read_env SPACETIMEDB_TOKEN)
|
|
AUTHENTIK_ISSUER=$(read_env AUTHENTIK_ISSUER)
|
|
AUTHENTIK_CLIENT_ID=$(read_env AUTHENTIK_CLIENT_ID)
|
|
BIND_ADDR=0.0.0.0:3100
|
|
CAS_ROOT=/srv/synops/media/cas
|
|
WHISPER_URL=http://${WHISPER_IP:-localhost}:8000
|
|
PROJECT_DIR=/home/vegard/synops
|
|
RUST_LOG=maskinrommet=debug,tower_http=debug
|
|
EOF
|