PrezziDocumentazione
Inizia
Azienda come codice

Un'azienda sarà un repository git.

Non è una metafora. Un progetto Kortix è un repo git e quel repo è l'azienda: i suoi agenti, le skill che ha costruito, tutto ciò che ha imparato e la definizione delle macchine su cui gira. Con versioni. Con diff. Interamente di tua proprietà.

Avvia un progettoLeggi la specifica del manifest
main
Richiesta di modifica

skill: reconcile-invoices — gestire i rimborsi parziali

skills/reconcile-invoices/SKILL.md

9f4c2b7e → main · aperta da invoice-clerk

8f2a1c4invoice-clerk: stop guessing at refunds
1d90b73invoice-clerk: first draft of the persona
La definizione

Due file definiscono l'azienda.

kortix.yaml è il livello Kortix: la macchina su cui vengono avviate le sessioni, i connettori, i trigger, i nomi dei segreti e ciò che ogni agente può utilizzare. La configurazione OpenCode è il runtime in cui gli agenti ragionano. Tutto ciò che va oltre questi due elementi sono file nel repo.

kortix.yaml
# Versione dello schema 2. Il runtime è OpenCode.kortix_version: 2runtime: opencode project:  name: Northwind # L'agente che risponde quando non ne viene indicato uno.default_agent: kortix # Dove si trova la configurazione del runtime. Oltre questo punto: file.opencode:  config_dir: harnesses/opencode # Solo i NOMI dei segreti. I valori sono crittografati sulla# piattaforma e inseriti all'avvio della macchina.env:  required: [STRIPE_API_KEY]  optional: [LINEAR_API_KEY] # La macchina su cui viene avviata una sessione.sandbox:  default: python  templates:- slug: python      image: python:3.12-slim      cpu: 2      memory: 4 # Accesso al mondo esterno. La definizione è in# git. Le credenziali no.connectors:- slug: gmail-read    provider: pipedream    app: gmail    authorization_strategy: user # Governance: ciò che ogni agente può utilizzare — mai ciò che# dice. Un'autorizzazione omessa viene risolta come nessuna.agents:  kortix:    connectors: all    secrets: all    skills: all    kortix_permissions: all   invoice-clerk:    sandbox: python    connectors: [gmail-read]    secrets: [STRIPE_API_KEY]    skills: [reconcile-invoices]    kortix_permissions: [project.cr.open]

Il livello Kortix — un file nella root del repo.

harnesses/opencode/opencode.jsonc
{  // Documentazione: https://opencode.ai/docs/  "$schema": "https://opencode.ai/config.json",  "theme": "system",  "default_agent": "kortix",  // La sessione è già una macchina isolata su una  // branch temporaneo, così l’agente parte senza restrizioni.  // Restringi per strumento qui quando vuoi una  // policy più rigida.  "permission": "allow"}

Il runtime — modelli, strumenti, autorizzazioni.

agents/invoice-clerk.md
---description: Riconcilia le fatture con i pagamenti.mode: primarypermission:  bash: ask--- Sei l’addetto alle fatture di Northwind. Abbina ogni pagamento a una fattura tramite numero, maitramite importo. Quando non puoi farlo, apri una richiesta di modificae indica esattamente cosa non hai potuto riconciliare.

L’agente — un file agente OpenCode standard. Il suo contenuto è qui.

  • kortix.yaml concede

    Quale macchina, quali connettori, quali segreti, quali skill, quali verbi CLI. Solo governance. Se ometti una concessione, il risultato è nessuno: un agente ottiene ciò che gli hai dato e nient’altro.

  • La configurazione OpenCode decide

    Prompt, modelli, strumenti, plugin e autorizzazioni. Un agente è un agente OpenCode standard: markdown alla base e, oltre a quello, gli strumenti, i plugin e la configurazione del modello presenti accanto a esso nello stesso repo. Leggi la directory e saprai esattamente cosa farà quell’agente.

  • Nessuno dei due file contiene un segreto

    Il manifest indica i segreti e li assegna a ciascun agente. I valori sono crittografati sulla piattaforma, iniettati nella macchina a runtime e non vengono mai scritti nel repo o nei log.

Apri il repo

L’azienda è proprio lì, in testo semplice.

Agenti, skill e memoria non sono righe in un database che non puoi vedere. Sono file markdown accanto al tuo codice, clonati in ogni sessione, leggibili da una persona e modificabili da un agente.

  • northwind/il repo e l’azienda
  • kortix.yamlil livello Kortix
  • agents/un agente OpenCode per file
  • kortix.md
  • invoice-clerk.md
  • skills/come questa azienda svolge un’attività
  • reconcile-invoices/
  • SKILL.mdletto una volta, usato in ogni sessione
  • memory/
  • MEMORY.mdciò che l’azienda ha imparato
  • harnesses/
  • opencode/
  • opencode.jsoncil runtime in cui ragionano gli agenti
  • tools/gli strumenti che hai scritto tu
  • plugins/e quelli che hai installato
  • src/e il resto del tuo repo

E ciò che deliberatamente non contiene

Valori segreti
Il repo contiene nomi e concessioni. I valori sono crittografati sulla piattaforma e iniettati all’avvio della macchina.
Instradamento dei canali
Quale canale Slack o Teams raggiunge quale agente è stato live del progetto, impostato nella dashboard. Collegarne uno aggiunge un connettore che gli agenti possono chiamare.
Stato live della sessione
Una sessione viene eseguita sulla propria macchina e sul proprio branch. Nulla di ciò che fa tocca il repo finché non esegue il commit e apre una richiesta di modifica.
Verificabile

grep in tutta la tua azienda.

Non c’è alcun livello nascosto da interrogare. Ogni convinzione, ogni autorizzazione e ogni istruzione è una riga in un file, e gli strumenti che già usi forniscono la risposta.

northwind — principale
# cosa pensa l’azienda dei prezzi?$ grep -ri "annual" memoryMEMORY.md: non citare mai il prezzo annuale prima della revisione di sicurezza # chi può usare la chiave Stripe?$ grep -n "STRIPE_API_KEY" kortix.yaml18:  richiesto: [STRIPE_API_KEY]48:    segreti: [STRIPE_API_KEY] # chi ha modificato l’addetto alle fatture e quando?$ git log --oneline agents/8f2a1c4  invoice-clerk: smettere di indovinare sui rimborsi1d90b73  invoice-clerk: prima bozza della persona

Una ricerca, tutta l’azienda

Ogni prompt degli agenti, ogni skill, ogni fatto memorizzato e ogni concessione è testo in un unico repo. Nessuna console da attraversare, nessun export da richiedere.

Una cronologia verificabile

Ogni modifica a un agente, a una skill o a un file di memoria è un commit con autore, timestamp e diff. Nulla scompare e nulla accade nell’ombra.

Annullare significa git revert

È entrata un’istruzione sbagliata martedì? Leggi il diff, annulla il commit, apri una richiesta di modifica. L’azienda torna a essere com’era.

Ogni modifica viene revisionata

L’azienda impara un commit approvato alla volta.

Quando un agente trova un modo migliore per svolgere il lavoro, non lo memorizza in silenzio. Modifica la skill, esegue il commit sul proprio branch e apre una richiesta di modifica. Una persona legge il diff e decide.

Richiesta di modifica9f4c2b7e → main·aperta da invoice-clerk

skill: reconcile-invoices — gestire i rimborsi parziali

skills/reconcile-invoices/SKILL.md+5 −1
 ## Abbinamento di un pagamento a una fattura   1. Recupera la fattura tramite numero, mai tramite importo.-2. Se gli importi differiscono, segnala il caso a una persona.+2. Se la differenza corrisponde a un rimborso già+   registrato, chiudilo come rimborso parziale e annota l’ID+   del rimborso sulla fattura.+3. Se differiscono per qualsiasi altro motivo, segnala il caso a+   una persona e indica cosa hai verificato.   Non emettere mai un rimborso autonomamente.
Revisionato da una persona, poi unito a main

Una modifica al prompt assomiglia a una modifica al codice

Un agente che riscrive le proprie istruzioni arriva nello stesso modo di una migrazione del database: un branch, un commit, un diff, un revisore. L’azienda ha un unico processo di revisione, non due.

Nulla viene unito da solo

La macchina può proporre. Una persona decide. Il lavoro arriva su main solo tramite una richiesta di modifica approvata da qualcuno, così l’azienda non può cambiare gradualmente senza che tu lo sappia.

Si migliora da sola

L’azienda applica patch a se stessa.

Un agente può leggere la propria configurazione, modificarla e proporre il cambiamento. Programmalo e il repo migliorerà nel rappresentare la tua azienda mentre tutti dormono.

kortix.yaml — trigger
agents:  memory-reflector:    # può aprire una richiesta di modifica. Nient’altro.    kortix_permissions: [project.cr.open] triggers:- slug: memory-reflectornome: Memory reflector    type: cron    agent: memory-reflector    enabled: falsecron: "0 0 3 * * *"    timezone: UTC    prompt: |      Rifletti sulle ultime 24 ore di attività      del progetto. Esamina la cronologia git, le richieste      di modifica unite e i riepiloghi delle sessioni. Aggiorna      memory/ e apri una richiesta di modifica      intitolata `memory: ...`. Esci senza aprirne una quando      non c’è alcuna conoscenza duratura.

Dal template iniziale. Ogni nuovo progetto lo include, disattivato.

  1. 00

    Lo attivi tu

    Imposta enabled su true e si attiva alle 03:00 UTC, senza che nessuno debba controllare. I trigger sono pianificazioni cron e webhook firmati, dichiarati nello stesso file di tutto il resto.

  2. 01

    Inizia una sessione

    Ottiene il proprio computer cloud e il proprio branch, con esattamente l’unica concessione assegnata dal manifest: il permesso di aprire una richiesta di modifica.

  3. 02

    Modifica l’azienda

    Legge la cronologia git e le sessioni dell’ultimo giorno, poi scrive ciò che ha imparato in memory/ come markdown semplice.

  4. 03

    Ottieni un diff

    Una richiesta di modifica, in attesa al mattino. Uniscila e l’azienda saprà qualcosa di nuovo. Chiudila e non sarà successo nulla.

È tua

È un repo git. Fa ciò che fanno i repo git.

Nessun processo di export, nessun ticket al supporto, nessun formato proprietario da decifrare. L’azienda è già testo su un branch: la cloni, la biforchi, annulli le modifiche e te ne vai con tutto.

qualsiasi directory, qualsiasi macchina
# trasforma qualsiasi directory in una Kortix$ kortix init # verifica che compili, chiedi i segreti mancanti,# pubblicala e rendi operativo tutto$ kortix ship # da qui in poi è solo un repo$ git clone git@github.com:northwind/northwind.git$ git revert 8f2a1c4$ kortix cr
Un’azienda che puoi clonare
Biforcala per una seconda unità aziendale. Crea un branch per provare un insieme diverso di agenti. Affida tutto a un nuovo team e riceverà skill, memoria e concessioni insieme al repo.
Lo stesso su un laptop e nel cloud
kortix init crea la struttura, kortix ship la rende operativa. È lo stesso repo che fa la stessa cosa, quindi lo sviluppo locale e il sistema live non appartengono più a categorie diverse.
Qualsiasi modello, le tue chiavi
Porta qualsiasi provider, oppure l’abbonamento ChatGPT che già paghi. Il modello è una configurazione nel tuo repo, non una decisione presa da un vendor al posto tuo.
Open source e self-hostable
Eseguilo su Kortix Cloud, nella tua VPC o completamente on-prem. Leggi il codice, biforcala, sottoponila ad audit. Nessuno ti riaffitta la tua azienda.

Gestisci l'intera azienda da un unico repo che possiedi.

Inizia da un'attività e cresci da lì.

Inizia

Prodotto

  • Computer dell’agente
  • Azienda come codice
  • Connettori
  • Automazioni
  • Canali
  • Agenti e skill
  • Sicurezza
  • Self-hosted
  • Enterprise
  • Prezzi
  • Scarica

Soluzioni

  • Vendite
  • Marketing
  • Engineering
  • Prodotto
  • Finanza
  • Persone
  • IT
  • Data Science

Sviluppatori

  • Documentazione
  • AI Operating System
  • CLI
  • SDK
  • Avvio rapido
  • Per sviluppatori
  • Marketplace
  • GitHub

Azienda

  • Informazioni
  • Lavora con noi
  • Blog
  • Registro delle modifiche
  • Casi d'uso
  • Brand

Connetti

  • X
  • LinkedIn
  • Discord
  • Stato
  • Supporto
  • Termini
  • Privacy
©2026 Kortix