Harness MaxxingDocumentazione
📚 Tutte le pagine

🧩 Estendere · 4 min di lettura

🎨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:

  1. 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.
  2. Le tue personalizzazioni vengono riapplicate sopra la nuova versione.
  3. Nessun conflitto: l'aggiornamento si conclude ("N personalizzazioni riportate").
  4. 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/update sui server più vecchi), Claude legge CUSTOMIZATIONS.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.
  5. 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).

💡 Bloccato? Apri una sessione nel topic system › help e chiedi con parole tue: Claude legge questa documentazione sul tuo server e ti risponde.✏️ Migliora questa pagina