Files
ROMFASTSQL/proxmox/lxc171-claude-agent/discord-bridge/ops/env.example
Claude Agent feb31eaabe fix(discord-bridge): plafonul de cost e optional (COST_CAP_USD_DAY=off)
Costul raportat de CLI e pretul echivalent la API; pe abonament nu se
factureaza, deci plafonul zilnic oprea puntea fara motiv (5.71 / 5.00 USD).

- limits.parse_cap(): `off`/`none`/`nelimitat`/`0`/gol/gunoi => fara plafon
- stopped()/record_cost() nu mai opresc si nu mai alerteaza cand e dezactivat
- implicit devine `off`; /status arata „(fara plafon)"
- dashboard: /api/status si doctor nu mai crapa pe valoare ne-numerica
- README + ops/env.example explica de ce ramane off pe abonament

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B29CApsP1JkSdjYaGaHpE7
2026-08-30 21:02:43 +00:00

75 lines
3.7 KiB
Plaintext

# Configurarea puntii Discord -> Claude Code.
#
# install.sh copiaza acest fisier in ~/.claude-discord/env cu drepturi 0600.
# Formatul e cel cerut de systemd EnvironmentFile: CHEIE=valoare, fara `export`,
# fara ghilimele in jurul valorii, fara expandare de variabile.
#
# DUPA COPIERE COMPLETEAZA MANUAL cel putin DISCORD_TOKEN si allowlist-ul.
# --- Discord ---------------------------------------------------------------
# Token-ul botului: Discord Developer Portal -> aplicatia ta -> Bot -> Reset Token.
# Se vede o singura data. Daca ajunge in git, invalideaza-l imediat din portal.
DISCORD_TOKEN=
# Allowlist. Liste separate prin virgula, cu ID-uri numerice (Discord -> Advanced ->
# Developer Mode, apoi click dreapta -> Copy ID). Gol = nimic permis (fail-closed).
DISCORD_GUILD_IDS=
DISCORD_CHANNEL_IDS=
DISCORD_USER_IDS=
# Aplicatia Discord a puntii (creata 2026-08-30). Link de reinvitare, daca botul
# a fost scos din server sau ii lipsesc permisiuni:
# https://discord.com/oauth2/authorize?client_id=1543576449624186880&scope=bot%20applications.commands&permissions=309237763136
# permissions=309237763136 -> View Channel, Send Messages, Embed Links, Attach Files,
# Read Message History, Add Reactions, Create/Send in Public Threads.
# --- Model si cost ---------------------------------------------------------
# Modelul implicit al firelor noi. `/model opus` il schimba per fir.
CLAUDE_MODEL=sonnet
# Plafon de cost pe zi, in USD. La atingere botul refuza tururi noi si alerteaza.
# Reper masurat: un tur banal pe opus a costat $0.1547.
# Plafon zilnic de cost. Pe abonament (Pro/Max) costul raportat de CLI e doar
# pretul echivalent la API, nu o factura: lasa `off`. Un numar (ex. 5.00)
# activeaza plafonul si opreste tururile cand e atins.
COST_CAP_USD_DAY=off
# --- Limite ----------------------------------------------------------------
# Maxim de procese `claude` vii simultan (406 MB RSS fiecare, masurat).
MAX_LIVE_PROCESSES=4
# Timeout per tur, secunde.
TURN_TIMEOUT_S=900
# Reaper: dupa cate secunde de inactivitate se opreste procesul unui fir.
IDLE_REAP_S=1200
# Cat asteapta hook-ul de confirmare o apasare pe Allow/Deny, secunde.
# CONSTRANGERE: trebuie sa ramana MAI MIC decat `timeout` din bot-settings.json
# (acum 330), altfel CLI-ul taie hook-ul inainte ca acesta sa refuze curat.
CLAUDE_DISCORD_APPROVAL_TIMEOUT=300
# --- Alerte (alerts.py) ----------------------------------------------------
# Destinatarul emailurilor de alerta. Aceeasi conventie ca restul repo-ului
# (vezi proxmox/vm109-windows-dr/scripts/pveelite-down-alert.sh): default root.
ALERT_RECIPIENT=root
# --- Directorul de lucru implicit -----------------------------------------
# Directorul in care porneste un fir nou. Spatiu dedicat, cu git propriu, ca ce se
# face din Discord sa aiba istoric separat de proiectele reale. `/cd <cale>` il
# schimba per fir, oriunde in /workspace.
DEFAULT_CWD=/workspace/claude-agent
# --- dashboard de control (dashboard/api.py) --------------------------------
# Token de acces. Generat automat de ops/install.sh daca lipseste.
DASHBOARD_TOKEN=
# `off` scoate complet login-ul. De pus DOAR fiindca panoul e legat de 127.0.0.1
# si publicat exclusiv in tailnet: acolo identitatea o face Tailscale (antetul
# Tailscale-User-Login ajunge in jurnal la fiecare start/stop/restart). Orice
# alta valoare pastreaza tokenul.
DASHBOARD_AUTH=
# Implicit 127.0.0.1: butoanele opresc un agent cu bypassPermissions si chei SSH
# spre tot clusterul, deci accesul se face prin tunel SSH, nu expus in LAN.
DASHBOARD_BIND=127.0.0.1
DASHBOARD_PORT=18790
# Prefixul sub care il publica `tailscale serve --set-path` (vezi dashboard/README.md).
# Gol = montat in radacina. Paginile au URL-uri relative, deci prefixul e nevoie
# doar pentru redirecturi.
DASHBOARD_PREFIX=/claude