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
75 lines
3.7 KiB
Plaintext
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
|