Motori e costi
Un motore è l’agente di programmazione che usa un run. Kedalio guida ciascuno con la sua CLI ufficiale e il suo login: il codice di Kedalio non usa mai il token di un abbonamento contro un’API. Le chiavi API sono un tipo di account a parte, esplicito.
I motori
Sezione intitolata “I motori”| Motore | Login | Da sapere |
|---|---|---|
| Claude Code | Abbonamento Claude, o una chiave API Anthropic | I suoi prompt dei permessi diventano richieste. Gira nella sua sandbox, con una lista di siti permessi. |
| Codex | Abbonamento ChatGPT, o una chiave API OpenAI | Gira nella sua sandbox senza rete e non chiede mai, quindi non fa richieste. I suoi costi non hanno ancora un prezzo: risultano 0 $. |
| OpenCode | Una chiave API: Anthropic, OpenAI, OpenRouter, DeepSeek, o un Ollama locale | Gira nella gabbia bubblewrap dell’host; i suoi prompt dei permessi diventano richieste. |
| Pi | Una chiave API, come OpenCode | Gira nella gabbia bubblewrap dell’host, come OpenCode; le sue richieste di permesso diventano richieste. |
Gli host installano i motori nella loro cache alle versioni che il server fissa nel suo codice (Claude Code alla versione che serve al plugin); KEDALIO_ENGINES (per esempio claude-code@2.1.0,codex@0.50.0) cambia quella di un motore. Nessun motore aggiunge righe di credito all’AI nei commit che fa.
Il tuo agente e le squadre possono usare ognuno dei motori qui sopra.
Aggiungere un login
Sezione intitolata “Aggiungere un login”Un account di un motore ha un nome (minuscolo, al massimo 40 caratteri), un motore, un tipo (subscription o api-key) e il suo valore, che va nel vault e non ne esce più.
- Abbonamento Claude: il token che stampa
claude setup-tokensu un computer dove usi Claude Code. - Abbonamento ChatGPT per Codex: il contenuto dell’
auth.jsondi Codex, dopocodex login. - Una chiave API: la chiave e, per OpenCode, il provider (
anthropic,openai,openrouter,deepseek, oppureollamacon il suo indirizzo).
Nell’app: Sistema → Account e costi → Aggiungi account. Scegli il tipo (abbonamento Claude, ChatGPT / Codex, o chiave API), segui i passi mostrati (per Claude, lancia claude setup-token in un terminale, entra con quell’account nel browser che si apre e incolla il token che stampa) e salva. Il valore viene sigillato nel vault e non si mostra più. Il modulo offre le chiavi Anthropic, OpenAI e OpenRouter; DeepSeek o un Ollama locale per OpenCode e Pi si impostano con l’API (PUT /api/engines/<nome> con provider, e baseUrl per Ollama). I login senza terminale (il flusso del token di Claude e il codice dispositivo di Codex dall’app) non ci sono ancora.
Finestre d’uso
Sezione intitolata “Finestre d’uso”Gli abbonamenti hanno finestre d’uso (5 ore, 7 giorni). Kedalio le legge dall’output dei motori durante i run (gli eventi di limite di Claude Code, il log di sessione di Codex) e tiene la lettura più recente per account.
- Un account non prende run nuovi solo quando il motore dice che il suo limite è raggiunto (una finestra al 100%, fino al suo reset), o quando gli hai messo un tetto e una finestra recente è pari o sopra. Il tetto è spento di default. Il piazzamento dice perché («Non prende lavoro nuovo»).
- Priorità: ordini tu gli account. Quando un run non nomina nessun account, va al primo di quell’ordine che le regole sui dati del progetto permettono e che non è bloccato. È una preferenza: un brief può nominarne un altro.
- Ritmo: per ogni finestra la pagina mostra quanto avresti usato distribuendola in modo uniforme fino al reset, e se sei sotto, in linea o sopra. È un consiglio per spendere lo spazio che sta per ripartire; niente viene imposto da lì.
- Una lettura più vecchia di 30 minuti è scaduta. Prima di un’esecuzione senza nessuno su un account con lettura scaduta, un run minuscolo di prova («rispondi ok», il modello più economico) rilegge le finestre.
- Ti arriva una notifica quando un account si blocca, quando una finestra sta per scadere e quando riparte.
Nell’app, Account e costi mostra ogni account con le sue finestre, il ritmo, il tetto e l’età della lettura, lo sposta su o giù nell’ordine, ne imposta il tetto, e ha Leggi ora per rileggerne uno. Da Claude o ChatGPT: limits mostra finestre, stati e test dei modelli; kedalio.limits_refresh rilegge gli account scaduti.
Regole sui dati
Sezione intitolata “Regole sui dati”Ogni progetto ha una classe di dati, e ogni account di un motore una destinazione, dal suo provider:
| Classe | I suoi dati possono andare a |
|---|---|
client (il default) |
Anthropic, locale |
personal |
Anthropic, OpenAI, locale, terzi |
public |
Anthropic, OpenAI, locale, terzi |
Claude Code va ad Anthropic, Codex a OpenAI, Ollama è locale, OpenRouter e DeepSeek sono terzi. Un progetto può anche indicare i soli account che può usare. Il server lo controlla ovunque piazzi un run. La classe di un progetto si imposta con kedalio.project_set (dataClass, accounts); la tabella stessa con kedalio.engine_rules_set.
Un test del modello prima di modificare
Sezione intitolata “Un test del modello prima di modificare”OpenCode e Pi possono usare qualunque modello, e alcuni modelli rovinano le chiamate agli strumenti. Per questo un modello deve passare un test prima di poter modificare file: su un host scrive un file, ne modifica un altro e lancia un comando in un repository di prova. Il piazzamento rifiuta un run che modifica su un modello che non l’ha passato, e una nuova versione del motore lo rifà. Claude Code e Codex sono il riferimento e non hanno bisogno del test. kedalio.engine_admit avvia un test.
Il registro dei costi
Sezione intitolata “Il registro dei costi”Ogni run registra consumo e costo: la cifra del motore quando la dà, zero per un modello locale, altrimenti il prezzo di listino del modello. Un modello senza prezzo noto è segnato senza prezzo e conta zero. Il registro si somma per run, squadra, progetto, account, modello o giorno con lo strumento costs. Nell’app vedi il costo di ogni agente e quello della squadra rispetto al suo budget, e in Account e costi quanto costano le esecuzioni ogni giorno, negli ultimi sette giorni, divise per progetto.
La cascata
Sezione intitolata “La cascata”Kedalio ha skill di orchestrazione che spendono il modello più economico che basta al lavoro:
- uno smistatore, un modello piccolo, risponde con un’etichetta sola (
haiku,sonnet,opusofable) e una riga del perché; - il modello scelto lavora;
- un verificatore controlla il risultato con criteri oggettivi (test, build, il «fatto» del brief):
okva avanti,doubtfulviene ricontrollato da un modello più forte,failedsale di un gradino, con il fallimento come contesto.
La scala è quella di Claude: Haiku, Sonnet, Opus, Fable; un gradino che le regole sui dati o i limiti rifiutano si salta. Una squadra la usa quando il suo capo parte con la ricetta cascade. Una skill model card dice in cosa è bravo ogni modello, quanto costa e come istruirlo.
Non ancora costruiti: un pulsante per il test del modello nell’app (oggi è kedalio.engine_admit), i prezzi dei modelli OpenAI e di terzi, e una misura di quanto ha fatto risparmiare la cascata.