Documentazione

Accedi con accesso che controlli

Ogni agente, app e script che lavora sui tuoi schermi accede con la propria sessione. Una persona approva ciascuno nel dashboard, sceglie Solo lettura, Proponi o Gestisci, e può terminarlo dalla pagina Accesso in qualsiasi momento.

Come funziona l’accesso

screenRIG emette token di accesso firmati a breve durata e token di aggiornamento a lunga durata. Il CLI incluso li conserva entrambi nel file di configurazione privato e li rinnova automaticamente, così un agente non gestisce mai un token né lo incolla in una conversazione.

CredenzialeDurata
Token di accesso15 minuti
Token di aggiornamentoRuota a ogni uso. Scade 90 giorni dopo l’ultimo uso e al massimo un anno dopo l’accesso.
Codice di accesso (screenrig login)24 ore
Token client di servizio15 minuti, senza token di aggiornamento: il client richiede uno nuovo

Ci sono quattro modi per entrare:

ChiCome si accedeApprovato da
Un nuovo agente senza accountscreenrig agent enroll crea l’organizzazione, il progetto Screens e la sessione in un solo comandoL’iscrizione stessa; segue l’invito via email alla persona
Un agente per un account esistentescreenrig login stampa un codice che una persona approva nel dashboardUn membro del progetto, nel dashboard
Un’app connessa (Claude, ChatGPT, Grok)L’app apre la pagina di consenso screenRIG; vedi server remotoUn membro del progetto, nella pagina del consenso
Un server, script o job CIUn service client accede con la propria chiave o segretoCreato da un membro del progetto

Le persone accedono al dashboard con una passkey o una password, oppure tramite il provider di identità della propria organizzazione; vedi single sign-on e provisioning utenti.

Accedi con screenrig login

Usa screenrig login quando la persona ha già screenRIG e vuole che questa installazione agente funzioni in uno dei suoi progetti. Una nuova installazione senza account inizia invece con screenrig agent enroll; vedi Avvia.

screenrig login
  1. Il CLI stampa un indirizzo dashboard e un codice di otto lettere come BCDF-GHJK, poi attende.
  2. La persona apre https://screenrig.ai/dashboard/connect, accede e inserisce il codice, o segue il link completo che lo contiene già.
  3. Il dashboard mostra la richiesta su uno schermo: il nome installazione riportato dal dispositivo, quando e dove ha chiesto, e il codice. La persona verifica che il codice corrisponda al terminale, regola progetto, livello accesso o capacità se vuole, e preme Connetti. Un accesso dashboard dell’ultima ora è la prova, quindi Connetti non chiede altro; un accesso più vecchio chiede passkey. Il dashboard apre quindi il nuovo agente.
  4. Il CLI memorizza la sessione, seleziona il progetto approvato e riporta status: signed_in con progetto, organizzazione e livello di accesso.

Approva solo un accesso che hai avviato tu stesso, sul tuo computer. Il dashboard non approva mai nulla al caricamento, e un codice scaduto necessita di un nuovo screenrig login.

SegnalaEffetto
--access read, --access propose o --access manageChiedi solo di leggere, proporre o gestire. Il predefinito è manage; la persona fa la scelta finale.
--project prj_IDSuggerisci il progetto che la persona approva.
--name NAMEDai un nome a questa installazione, fino a 80 caratteri.
--no-waitRestituisci subito con l’indirizzo, il codice e una maniglia login_.
--resume login_IDAttendere che l’accesso in sospeso venga approvato e memorizzare la sua sessione.

Quando l’agente deve prima passare l’indirizzo a una persona in un altro canale, usa --no-wait. Il codice non è un segreto e l’accesso in sospeso resta nel file di configurazione privato:

screenrig login --no-wait
screenrig login --resume login_HANDLE

L’indirizzo di accesso e il suo codice sono per la persona che li approva. Inviarli solo a quella persona e tenerli fuori da log e canali condivisi.

Aggiungi un progetto o aumenta l’accesso

Un’installazione già connessa esegue di nuovo screenrig login per aggiungere un altro progetto, o per elevare un progetto Read only o Propose a Manage:

screenrig login --project prj_ID --access manage

La persona approva quella modifica, e l’installazione mantiene gli altri suoi progetti. screenrig project list mostra ogni progetto che l’installazione può usare, e screenrig project use ID ne seleziona uno.

Solo lettura, proporre e gestire

Ogni sessione ha uno di tre livelli di accesso, scelto dalla persona che la approva. Ogni livello include tutto ciò che può fare il precedente.

Solo letturaProponiGestire
Elenca e leggi schermi, playlist, contenuti multimediali, eventi e riproduzioniSìSìSì
Carica e modifica media, scrivi note progetto, cattura screenshot, invia messaggi di feedback e assistenza, crea bozze di creatività e campagne pubblicitarieNoSìSì
Crea e aggiorna playlist; assegna, programma o prendi il controllo degli schermiNoSì, come revisione approvata da una personaSì
Eliminare, associare, archiviare, ricaricare, riavviare, inviare toast, impostare alimentazione display, taggare schermi, scrivere K/V app, riconoscere, posticipare o silenziare alert, gestire notifiche e impostazioni progettoNoNoSì
Usa crediti per acquisti, campagne o generazione immaginiNoNoSì
Leggi gli URL dei riceventi webhookNo: l’URL è censuratoNo: l’URL è censuratoSì
Fatturato per richiesta come ogni richiesta agenteSìSìSì

Solo lettura significa che la sessione non può modificare o acquistare nulla. Non significa gratuito: ogni richiesta agente e evento listen-stream fatturato conta contro le richieste incluse dell’organizzazione, come per Propose e Manage.

Proponi consente a un agente di fare il lavoro mentre una persona mantiene l'ultima parola su cosa riprodurre. Le sue modifiche a playlist e schermo rispondono a 202 con status: pending_review e un link alla revisione, e nulla cambia su uno schermo finché una persona non approva. I suoi caricamenti di media, e le modifiche a tag e cartelle per i media approvati, attendono anch'essi la revisione: gli schermi continuano a riprodurre ciò che è stato approvato finché una persona non approva la modifica, un rifiuto riporta un elemento modificato allo stato precedente, e un caricamento rifiutato resta fuori dagli schermi. Non può eliminare, controllare schermi o spendere.

Una sessione che tenta qualcosa che il suo livello non può fare riceve 403 insufficient_access. La CLI indica il passo successivo: una persona approva Manage con screenrig login --access manage.

Gli accessi agente predefiniti sono Gestisci, e le app connesse sono in sola lettura. Per abbassare un’installazione, disconnettila, quindi accedi di nuovo con screenrig login --access read o --access propose. Il livello di una sessione non viene mai abbassato silenziosamente: le impostazioni di revisione qui sotto mantengono le sessioni su Proponi senza modificarle, e la pagina Accesso mostra quando lo fanno.

Capacità

All’interno del suo livello di accesso, una sessione funziona solo nelle aree di capacità approvate dalla persona: screens, content, playlists, advertising, reports e project. L’iscrizione concede tutte e sei nel progetto che crea. Un comando fuori dalle aree approvate restituisce 403 forbidden che nomina la capacità mancante. Le capacità restano approvate per un progetto di installazione; per altre, una persona approva una nuova installazione che le possiede.

Richiede revisione per modifiche agente

Due impostazioni limitano gli agenti a Proponi senza richiedere nuovo accesso. Entrambe si applicano a ogni richiesta, coprendo anche sessioni esistenti.

  • Richiedi revisione per modifiche agenti, nella pagina Impostazioni del dashboard. Mentre è attivo, ogni agente, app connessa e client di servizio nel progetto lavora al massimo in Proponi: le modifiche a ciò che viene riprodotto attendono in Revisioni finché una persona non le approva. Il proprietario del progetto o un amministratore della sua organizzazione lo modificano, e disattivarlo richiede la loro passkey. Le revisioni già in attesa restano aperte per decidere.
  • Può approvare, per ogni persona nella pagina Accesso del progetto. Il proprietario del progetto può sempre approvare. Un membro che non può approvare non decide le revisioni e non può dare a un agente Gestisci, e gli agenti di cui quel membro è responsabile lavorano al massimo in Proponi.

Vince il livello più basso che si applica. screenrig agent status riporta il access della sessione, il suo effective_access e, quando un’impostazione lo abbassa, access_limited_by: project o person. Accedere di nuovo non solleva un’impostazione; la modifica la fa il proprietario del progetto. Mentre un’impostazione si applica, le schermate di accesso e approvazione connessione offrono Solo lettura e Proponi, e mostrano perché Gestisci non è disponibile.

Uploader

Un uploader lavora nelle playlist e nelle cartelle media che scegli e in nessun altro posto. Carica contenuti in quelle cartelle e aggiunge, sostituisce e rimuove pagine di quelle playlist, con date di inizio e fine. Non può leggere né modificare altre playlist, schermi, programmazioni, membri, token, link flotta, fatturazione o impostazioni. Una persona del team di un’agenzia è un membro uploader; l’agente di un’agenzia è un client di servizio uploader.

  • Invita o assegna. Nella pagina Accesso della dashboard, invita una persona come uploader o rendi un membro un uploader, e scegli le cartelle e le playlist. Dalla CLI, screenrig invitations create --kind uploader --email designer@example.com --folder-id mfd_FOLDER --playlist-id pl_PLAYLIST ne invita uno, e screenrig service-client create --name "Agency agent" --uploader --folder-id mfd_FOLDER --playlist-id pl_PLAYLIST --secret-file agency.secret dà a un agente il proprio token. Le cartelle sono esattamente quelle che scegli, non le cartelle al loro interno. Il proprietario modifica l’ambito o lo termina in qualsiasi momento, e la modifica si applica alla richiesta successiva dell’uploader.
  • Proponi, o pubblica senza revisione. Le modifiche di un membro uploader restano in Revisioni finché il proprietario del progetto o un membro che può approvare non le decide. Il proprietario può lasciare che un membro pubblichi senza revisione (--access manage) quando invita o assegna. Un client di servizio uploader agisce con l’accesso con cui è stato creato, Proponi salvo diversa scelta, e Richiede revisione per modifiche agente lo mantiene su Proponi come ogni agente. Un uploader non approva mai revisioni e non collega mai agenti: un agente riceve invece un token uploader.
  • Carica e aggiungi pagine. screenrig media upload FILE --folder mfd_FOLDER carica in una cartella dell’uploader. screenrig playlist page add pl_PLAYLIST --media med_IMAGE --from 2026-12-01 --until 2026-12-24 aggiunge il contenuto come pagina mostrata dall’inizio del 1° dicembre fino alla fine del 24 dicembre, nel fuso orario di ciascuno schermo; playlist page replace sostituisce il contenuto o cambia le date, e playlist page remove rimuove la pagina. Una pagina aggiunta dall’uploader è un’immagine o un video delle sue cartelle; le altre pagine del progetto restano invariate. Più caricamenti di fila dello stesso uploader confluiscono in un’unica revisione, così il proprietario li approva insieme, e una pagina che vi è ancora in attesa può essere sostituita o rimossa. La modifica di un altro uploader alla playlist attende finché quella revisione non è decisa.
  • Nella dashboard. Un membro uploader accede a una dashboard con una sola pagina, Caricare, che elenca le sue playlist e le sue cartelle. In una cartella carica file; in una playlist aggiunge una pagina da un’immagine o da un clip, imposta il primo e l’ultimo giorno in cui la pagina viene mostrata, sostituisce o rimuove le proprie pagine e ritira una modifica in attesa di revisione. Le altre pagine del progetto riportano Impostata dal progetto.
  • Fuori dall’ambito. Tutto il resto risponde outside_upload_scope, il cui upload_scope elenca le playlist e le cartelle che l’uploader può usare.

Per limitare un membro o un agente a cartelle di schermi e schermi invece che ai contenuti, vedi Permessi per cartella di schermi.

La pagina Accesso

La pagina Accesso del dashboard elenca tutto ciò che può agire sul progetto corrente:

SezioneCosa elenca
In sospesoAccessi e richieste di connessione in attesa di approvazione
PersoneMembri e inviti aperti
AgentiInstallazioni CLI e plugin, registrate o con accesso effettuato
App connesseAssistenti AI una persona connessa, una voce per app
Client di servizioServer, script e job CI, con le loro chiavi e segreti

Ogni voce mostra come ha ottenuto l’accesso e chi l’ha approvata, il livello di accesso e le capacità, e quando è stata creata e usata per l’ultima volta. Quando una voce è limitata da una regola di revisione, mostra il livello a cui opera e il motivo, ad esempio "Proponi — il progetto richiede revisione". Disconnetti termina un agente o un’app; Revoca termina un client di servizio. Entrambe richiedono conferma con la passkey della persona.

Esci e revoca

Per terminareEsegui o fai
Accesso di questa installazionescreenrig logout
Accesso di questa installazione al progetto correntescreenrig agent disconnect --yes
Questa installazione ovunquescreenrig agent revoke-identity --yes
Qualsiasi agente o app connessaDisconnetti nella pagina Accesso
Un client di servizioRevoca nella pagina Accesso, o screenrig service-client revoke ID --yes

screenrig logout revoca l’accesso sul server, poi rimuove i token memorizzati. Se la richiesta potrebbe non aver raggiunto il server, i token restano, quindi rieseguirla è sicuro. Una sessione Read only può sempre disconnettersi da sola.

Una sessione revocata non può rinnovare: nessun nuovo token viene emesso dopo la revoca. I suoi token di accesso smettono di funzionare in pochi secondi. Disattivare la persona responsabile di un agente termina le sue sessioni allo stesso modo, e cancellare un progetto termina l’accesso di ogni sessione a quel progetto.

Durata della sessione

Ogni utilizzo del refresh token sposta la sua scadenza di 90 giorni, fino a un anno dopo l’accesso. screenrig doctor mostra quando termina la sessione di questa installazione e ogni comando avvisa negli ultimi 30 giorni. Per continuare, una persona approva un nuovo screenrig login.

Credenziali esistenti

Le installazioni che hanno effettuato l’accesso prima di queste sessioni continuano a funzionare. Al prossimo comando, la CLI inclusa scambia la credenziale memorizzata per una sessione con gli stessi progetti e capacità, senza richiesta e senza output. Aggiorna il plugin ufficiale per ottenere quella CLI; nulla cambia per l’agente.

Riferimento

Questi endpoint seguono OAuth 2.0. Il CLI incluso, le app connesse e i client di servizio li utilizzano; un agente che opera tramite il plugin non li chiama mai direttamente.

ElementoValore
Emittentehttps://api.screenrig.ai
Metadati del server di autorizzazionehttps://api.screenrig.ai/.well-known/oauth-authorization-server
Metadati della risorsa protettahttps://api.screenrig.ai/.well-known/oauth-protected-resource/api
Endpoint tokenhttps://api.screenrig.ai/oauth/token
Autorizzazione dispositivohttps://api.screenrig.ai/oauth/device_authorization
Endpoint di autorizzazionehttps://api.screenrig.ai/oauth/authorize
Revocahttps://api.screenrig.ai/oauth/revoke
Tipi di concessioneauthorization_code (solo PKCE S256), refresh_token, urn:ietf:params:oauth:grant-type:device_code, client_credentials, urn:ietf:params:oauth:grant-type:token-exchange
Autenticazione clientnone, private_key_jwt (EdDSA, ES256, RS256), client_secret_basic
Ambitiaccess:read, access:propose, access:manage, identity e le capacità screens, content, playlists, advertising, reports e project
Risorsehttps://api.screenrig.ai/api (predefinito) e https://api.screenrig.ai/mcp

I token di accesso sono JWT firmati con Ed25519 (EdDSA): un profilo solo EdDSA che usa le convenzioni di claim di RFC 9068 (typ: at+jwt, iss, aud, sub, client_id, scope, jti, iat, exp). Trattali come opachi: invia ciascuno come Authorization: Bearer e richiedi uno nuovo quando scade.

Gli errori dell’endpoint token sono JSON RFC 6749 (error, error_description) con Cache-Control: no-store:

errorSignificatoProblema CLI
invalid_grantLa sessione è stata revocata, scaduta o riutilizzata, o un codice è erratosession_ended: esegui screenrig login
invalid_clientClient sconosciuto, o chiave, segreto o asserzione erraticlient_auth_failed
invalid_scopePiù accessi o capacità di quelli approvatiinsufficient_access
invalid_targetUn resource diverso dai due soprainvalid_request
authorization_pending, slow_downUn accesso in attesa di approvazioneIl CLI continua ad attendere
access_deniedLa persona ha negato l’accessologin_denied
expired_tokenIl codice di accesso è scadutologin_expired: esegui screenrig login
temporarily_unavailableRiprova tra pocoservice_unavailable
rate_limitedAttendere Retry-Afterrate_limited

Richieste a /api con token di accesso scaduto o revocato rispondono 401 con WWW-Authenticate: Bearer error="invalid_token"; il CLI rinnova una volta e riprova una volta. Un token che chiama qualcosa che il suo livello di accesso non può fare risponde 403 insufficient_access con WWW-Authenticate: Bearer error="insufficient_scope" e il scope che lo autorizza.

Gli endpoint token e revocation accettano 1.200 richieste per indirizzo client all’ora, 60 rinnovi per sessione all’ora e 600 token service-client per client all’ora. Gli avvii di accesso sono limitati a 10 per indirizzo all’ora.