🎨Personalizzare Harness Maxxing
Il tuo server, il tuo prodotto: puoi cambiare qualsiasi cosa, e gli aggiornamenti mantengono le tue modifiche. Basta chiedere a Claude ("metti un gioco dello snake sulla mia dashboard", "permetti 20 sessioni per argomento"): sceglie il livello giusto tra quelli qui sotto, registra ciò che ha fatto e lo riporta a ogni aggiornamento.
Tre livelli
| Livello | Per cosa | Dove | All'aggiornamento |
|---|---|---|---|
| Estensioni | widget (Card o HTML libero: giochi, canvas), pagine, la loro API | <workspace>/extensions/ |
mai toccato |
| Workspace | come Claude si comporta in un argomento, job pianificati, le tue skill | file CLAUDE.md, pagina Crons, .claude/skills/ |
mai toccato |
| Personalizzazioni | modificare il prodotto stesso (una regola del server, un limite, un comando CLI…) | la directory del codice, registrata con maxxing custom save |
riapplicate sopra la nuova versione |
Claude prova sempre i primi due livelli prima di toccare il codice del prodotto. L'interfaccia web in sé non può essere personalizzata (viene distribuita già compilata): le aggiunte visive sono estensioni. Vedi Widget della dashboard e Estensioni di pagina.
Personalizzazioni
Una personalizzazione è una modifica alla directory del codice (/opt/claude-maxxing) salvata come commit git
con un titolo e il motivo:
maxxing custom save "Allow 20 sessions per topic" --why "I run many research threads in parallel"
maxxing custom # list, unsaved changes, pending update
maxxing custom drop <id> # remove one
Ogni personalizzazione è elencata in <workspace>/CUSTOMIZATIONS.md (titolo, motivo, file) ed
esportata come patch in <workspace>/customizations/. Entrambi fanno parte del backup della memoria.
Aggiornamenti intelligenti
Prima: Impostazioni -> Sistema mostra cosa farà il prossimo aggiornamento sul tuo server, testato su una copia
usa e getta, senza che nulla sia ancora cambiato (maxxing update --preflight sul server). Ogni personalizzazione
si riporta, si riporta su codice che è cambiato (verificato dopo), è ora inclusa nel prodotto (Harness
propone di eliminarla) oppure va adattata. Vengono elencate anche le modifiche non salvate, le modifiche ai file
dell'interfaccia e le estensioni che la nuova versione non supporta più.
- Tutto compatibile: Aggiorna fa tutto. Dopo il riavvio, le tue estensioni e personalizzazioni
vengono verificate automaticamente, e Harness applica le novità del workspace di quella versione in una sessione di
system/harness. - Qualcosa da adattare: Aggiorna con Harness apre una sessione che adatta ogni modifica al nuovo codice partendo da ciò a cui serve (registrato insieme alla modifica), fa i test, poi aggiorna. La versione attuale continua a funzionare finché tutto non va a posto.
Dopo: "Verificato dopo l'aggiornamento: le tue estensioni e modifiche funzionano", oppure ciò che ha smesso di funzionare, con
Correggi con Harness. Puoi verificare in qualsiasi momento con maxxing update --verify (o "Verifica ora").
Dai a ogni personalizzazione un controllo, cioè un comando che ha successo finché la personalizzazione funziona, e verrà testato dopo ogni
aggiornamento: maxxing custom save "..." --why "..." --check "<command>", oppure più tardi maxxing custom check <id>
"<command>". Le estensioni dichiarano la versione del contratto delle estensioni che usano ("api": 1 in
manifest.json): una versione che smette di supportarla viene annunciata prima di aggiornare.
Aggiornamenti accurati
maxxing update (oppure l'argomento system/harness (system/update sui server più vecchi), o Impostazioni -> Sistema) ti tiene al sicuro:
- Le modifiche non salvate al codice vengono prima salvate come personalizzazione: non si perde mai nulla. Le modifiche
all'interfaccia precompilata (
web/) non possono diventare personalizzazioni: vengono messe da parte (git stash) invece di bloccare l'aggiornamento, e Harness ricostruisce ciò che facevano come estensione. - Le tue personalizzazioni vengono riapplicate sopra la nuova versione.
- Nessun conflitto: l'aggiornamento si conclude ("N personalizzazioni riportate").
- Conflitto (la nuova versione ha cambiato le stesse righe): non cambia nulla, la versione attuale
continua a funzionare, e Impostazioni -> Sistema mostra "L'aggiornamento attende Harness". Nell'argomento
system/harness(system/updatesui server più vecchi), Claude leggeCUSTOMIZATIONS.md, adatta ogni personalizzazione al nuovo codice e conclude l'aggiornamento (maxxing update --resume). Se una personalizzazione non serve più (ora il prodotto fa già quella cosa), Claude te lo dice e la elimina. - La nuova versione non si avvia: torna automaticamente alla versione precedente (e al branch
precedente dopo
--branch).
maxxing update --rollback torna alla versione (e al branch) che era in uso prima dell'ultimo aggiornamento. Si rifiuta di partire se la directory
del codice ha modifiche non salvate (non cambia nulla): mettile prima da parte (git stash), esegui il rollback, poi
rimettile a posto (git stash pop). Una personalizzazione salvata subito prima verrebbe annullata dal rollback.
Aggiornamenti automatici
Disattivati per impostazione predefinita. Impostazioni -> Sistema -> Aggiorna da solo quando non c'è nessuno: quando esce una nuova versione, nessuno
è sull'interfaccia e non è in corso nulla (nessun turno, nessun messaggio in coda, nessun job pianificato, niente per 10 minuti), e
l'aggiornamento è "semplice" (nessuna personalizzazione da adattare, nessuna modifica non salvata, nessuna nota di aggiornamento che richieda qualcosa),
Harness esegue maxxing update da solo e si riavvia per qualche secondo. Altrimenti aspetta e te lo comunica nelle
notifiche. Non tocca mai un server il cui codice è su un branch in prova (detached HEAD) né un aggiornamento che
è già in attesa di te (conflitto, versione annullata con rollback), e prova una determinata versione al massimo una volta al giorno.
Nuovo server
Ripristina il backup della tua memoria sul nuovo server (RESTORE_FROM=owner/name all'installazione): l'installer
riapplica le tue personalizzazioni. Altrimenti esegui maxxing custom restore.
Vedi anche: maxxing custom --help e la skill maxxing-customize (quella che segue Claude).