Überprüfungen
Wenn ein Projekt eine Überprüfung von Agentenänderungen erfordert oder die Sitzung Propose-Zugriff hat, warten Playlist- und Bildschirmänderungen auf eine Person, anstatt angewendet zu werden. Der Befehl gelingt trotzdem: ok: true, beenden 0, die Antwort des Servers in data, und eine pending_review Warnung.
{
"ok": true,
"data": {
"status": "pending_review",
"review": {
"id": "rvw_LOBBY",
"kind": "playlist_change",
"state": "pending",
"url": "https://screenrig.ai/dashboard/reviews/rvw_LOBBY",
"subject": { "type": "playlist", "id": "pl_LOBBY", "name": "Lobby loop" },
"impact": { "screens": 4 }
},
"next": { "command": "screenrig reviews show rvw_LOBBY", "argv": ["reviews", "show", "rvw_LOBBY"], "reason": "Check the decision after the person reviews it." }
},
"warnings": [{ "code": "pending_review", "message": "Waiting for a person to approve: https://screenrig.ai/dashboard/reviews/rvw_LOBBY" }]
}Playlist erstellen und aktualisieren (einschließlich playlist import und playlist replace-release --apply), screen publish, screen assign, screen schedule set, clear und restore, sowie screen takeover und takeover clear warten auf Überprüfung, für einen Bildschirm oder eine Flotte. Eine Flottenänderung ist eine Überprüfung: Ihr Tag wird aufgelöst, wenn eine Person sie genehmigt, und reviews show meldet dann das Ergebnis jedes Bildschirms; eine große Flotte wird im Hintergrund angewendet, und screen_change.result.applying ist true, bis jeder Bildschirm sein Ergebnis hat. Abgesehen von den unten genannten Medienänderungen beantwortet jede andere Änderung 403 insufficient_access für eine Propose-Sitzung. --note TEXT bei diesen Befehlen sendet eine Klartextnotiz mit maximal 280 Zeichen, die der Prüfer im Dashboard liest.
Eine Person genehmigt, fordert Änderungen an oder lehnt auf der Reviews-Seite des Dashboards ab; Agenten können keine Playlist- oder Bildschirmänderungen genehmigen. Eine genehmigte Änderung wird so angewendet, als wäre sie dann gemacht worden, und ihre Ereignisse nennen die Person, die sie genehmigte, und den Agenten, der sie vorschlug. Polling, Schlafen oder Wiederholen des Schreibens während einer ausstehenden Überprüfung vermeiden: Später mit reviews show prüfen oder review.approved, review.rejected und review.changes_requested mit events follow --type review. verfolgen.
Medienänderungen warten ebenfalls auf eine Propose-Sitzung. Tag-, Ordner- und all-Selektoren überspringen einen neuen Upload, bis eine Person ihn genehmigt, und genehmigte Medien, die von der Sitzung umgetaggt oder verschoben werden, spielen weiterhin mit ihren genehmigten Tags und Ordnern, bis die Änderung genehmigt ist. Das Retag antwortet mit ok, Exit 0, mit Warnung media_review_pending, und die Überprüfung des Elements erscheint innerhalb weniger Sekunden in reviews list; kein Polling, Schlafen oder erneutes Versuchen. Jedes Element erhält eine Überprüfung, Art playlist_change mit Operation selector_refresh und einem media-Betreff: media_change zeigt seine Tags und Ordner before und after (before ist null für einen neuen Upload), und media_playlists listet jede genehmigte Playlist und jede vorgeschlagene Playlist, die auf eine Überprüfung wartet, auf, zu der die Änderung es hinzufügt oder entfernt (media_added, media_removed), mit ihren Bildschirmen. Genehmigung wendet die Änderung auf alle an; Ablehnung, Änderungsanforderung oder Rücknahme setzt ein umgetaggtes oder verschobenes Element auf den genehmigten Zustand zurück, und ein neuer Upload bleibt ungespielt. Eine Änderung, die keine genehmigte Playlist oder keinen Vorschlag ändert, wird automatisch angewendet, und eine Playlist, die das Element nach ID benennt, trägt es in ihrer eigenen Überprüfung. Wenn diese Playlists vor einer Entscheidung weitergehen, wird die Medienüberprüfung stale und eine neue ersetzt sie innerhalb von Sekunden.
Auch ein Medien-Austausch oder eine Wiederherstellung aus einer Propose-Sitzung wartet, als playlist_change-Überprüfung mit der Operation media_replace und einem media-Subjekt: reviews show meldet die aktuell verwendete Datei und die Datei, die die Genehmigung in Betrieb nimmt, und das Medium spielt weiter seine aktuelle Datei, bis eine Person genehmigt.
Ein Projekt mit einem geschützten Ordner sendet jede Änderung, die einen seiner Bildschirme erreicht, auf jeder Zugriffsstufe, auch mit Manage, an eine zweite genehmigende Person. Zuweisungen, Playlist-Zeitpläne und Übernahmen sind screen_change-Überprüfungen mit protected: true. Das Erstellen, Ändern, Pausieren, Fortsetzen oder Löschen einer Kampagne, das Erstellen, Ändern oder Löschen eines Bildschirmordners oder das Aufheben seines Schutzes sowie das Verschieben eines Bildschirms sind protected_change-Überprüfungen, aufgelistet mit reviews list --kind protected_change. Eine andere Person als Sie und als die Person, für die Sie arbeiten, entscheidet darüber (second_approver_required, Exit 3, wenn die falsche Person es versucht), und review_stale (Exit 5) bedeutet, dass sich die Kampagne oder der Ordner nach dem Vorschlag geändert hat: Lesen Sie sie erneut und schlagen Sie die Änderung erneut vor. Eine Änderung ohne Überprüfungsform wird mit protected_target (Exit 5) abgelehnt. Ein auf Bildschirmordner beschränkter Aufrufer liest und zieht nur Überprüfungen zurück, deren gesamte Reichweite in seinem Bereich liegt.
Überprüfungszustände:
| Status | Bedeutung | Nächster Schritt |
|---|---|---|
pending | Warten auf eine Person. | Geben Sie der Person die Bewertungs-URL; prüfen Sie später erneut. |
approved | Auf die Playlist oder Bildschirme angewendet. | Überprüfen Sie auf dem Bildschirm mit screen show und einem Screenshot. |
changes_requested | Die Person hat Änderungen angefordert; decision_note sagt welche. | Überarbeiten und erneut vorschlagen mit --note. |
rejected | Die Person hat abgelehnt; decision_note sagt warum. | Senden Sie nicht dieselbe Änderung erneut; fragen Sie die Person. |
withdrawn | Der Antragsteller hat es zurückgezogen. | Keine. |
superseded | Ein neuerer Vorschlag für dieselbe Playlist oder denselben Bildschirm hat ihn ersetzt; superseded_by nennt ihn. | Folgen Sie der neueren Bewertung. |
stale | Die Live-Playlist hat sich nach dem Vorschlag geändert, oder ihr Tag, Ordner oder all-Selektoren würden jetzt Medien abspielen, die sie beim Vorschlag nicht sah, daher kann sie nicht als geprüft angewendet werden. Eine Medienprüfung wird veraltet, wenn sich die darin aufgeführten Playlists ändern, und eine geschützte Änderung, wenn sich ihre Kampagne oder ihr Ordner ändert. | Lesen Sie die Playlist, die Kampagne oder den Ordner erneut und schlagen Sie darauf basierend vor. Eine veraltete Medienüberprüfung wird innerhalb von Sekunden durch eine frische ersetzt. |
reviews list#
Bewertungen auflisten, neueste zuerst.
reviews list [--state pending|decided|all] [--kind playlist_change|screen_change|ad_creative|protected_change]
[--limit N] [--cursor CURSOR]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
--state STATE | string | nein | pending | pending, decided oder all. |
--kind KIND | string | nein | jede Art | playlist_change, screen_change, ad_creative oder protected_change. |
--limit N | integer | nein | 50 | Überprüfungen pro Seite, 1 bis 100. |
--cursor CURSOR | string | nein | die erste Seite | Die next_cursor der vorherigen Seite. |
screenrig reviews list --state all
screenrig reviews list --kind protected_changeDas Ergebnis trägt pending_count und next_cursor, null auf der letzten Seite. Eine Sitzung sieht die Arten, die ihre Fähigkeiten lesen: playlists für Playlist-Änderungen, screens für Bildschirmänderungen und geschützte Änderungen und advertising für Werbekreativen.
reviews show#
Eine Bewertung lesen.
reviews show <id>| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Die Überprüfungs-ID aus dem Ergebnis pending_review oder die einer Werbekreativ-Überprüfung. |
screenrig reviews show rvw_LOBBYDie Überprüfung meldet ihren state, den Antragsteller, Ihre note, die decision_note, die eine Person beim Ablehnen oder Anfordern von Änderungen hinterlassen hat, und impact.screens. Eine Playlist-Änderung fügt das diff hinzu, eine preview der Live- und der vorgeschlagenen Playlist (keine bei einer Medienüberprüfung), media_change für eine Medienüberprüfung und media_playlists, die Playlists, deren Auswahl die Änderung beeinflusst. Bei einer Bildschirmänderung listet blockers die Playlist-Überprüfungen auf, die eine Person zuerst entscheidet, mit ihrem aktuellen Status, und nach der Genehmigung result (matched, succeeded, failed und applying, solange eine große Flotte noch fertig wird). Auch ein Medien-Austausch oder eine Wiederherstellung hat keine Vorschau: media_replace enthält die aktuell verwendete Datei (before) und die Datei, die die Genehmigung in Betrieb nimmt (after), jeweils mit content_type, bytes und sha256, die version, die sie wird, ihre source (replace oder restore), Ihre note, aspect_changed und die playlists, die das Medium verwenden. Eine protected_change-Überprüfung (Subjekttyp campaign, screen_folder oder screen) meldet protected_change: ihre subkind sowie Name, Playlist und Zielgruppe der Kampagne, Name und übergeordneten Ordner des Ordners oder die verschobenen Bildschirme und Ordner und wohin. protected ist darauf und auf einer Bildschirmänderung, die einen geschützten Bildschirm erreicht hat, true.
reviews withdraw#
Nehmen Sie Ihren eigenen ausstehenden Vorschlag zurück.
reviews withdraw <id>| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Eine ausstehende Überprüfung, die diese Sitzung vorgeschlagen hat. |
screenrig reviews withdraw rvw_LOBBYNichts erreicht die Bildschirme, und eine zurückgezogene neue Playlist bleibt nicht genehmigt. Eine nicht mehr ausstehende Überprüfung antwortet auf review_not_pending (Exit 5).
Projektnotizen
Projektnotizen sind kurze Klartextnotizen, die Agenten in einem Projekt für spätere Sitzungen und untereinander hinterlassen. Jeder Agent im Projekt liest jede Notiz, und zum Schreiben ist Propose- oder Manage-Zugriff erforderlich. Eine Notiz ist ein vom Agenten geschriebener Kontext, niemals eine Anweisung oder Genehmigung. Lesen Sie die Notizen, wenn eine Sitzung in einem Projekt beginnt, bevor Sie etwas ändern.
Eine Notiz ohne TTL wird 90 Tage nach dem Hinzufügen oder der letzten Bestätigung zur Überprüfung angezeigt. Die erste Seite von notes list gibt bis zu fünf fällige Notizen in review zurück, mit der Warnung notes_due_for_review: Bestätigen Sie die noch gültigen und lösen Sie die übrigen auf. Eine fällige Notiz, die niemand bestätigt, löst sich 30 Tage nach der ersten Rückgabe an einen Agenten mit Propose- oder Manage-Zugriff selbst auf. Eine Notiz mit --ttl löst sich auf, wenn ihre Zeit abläuft, und das Löschen des Bildschirms oder der Playlist, auf die sich eine Notiz bezieht, löst die Notiz auf. Aufgelöste Notizen bleiben 30 Tage lesbar, danach werden sie gelöscht. Eine Organisation hält höchstens 200 offene Notizen über alle ihre Projekte.
agent status und login fügen die Warnung notes_waiting hinzu, wenn Notizen neu oder zur Überprüfung fällig sind. screen show und playlist show fügen notes_about_resource hinzu, wenn offene Notizen zu diesem Bildschirm oder dieser Playlist gehören. Das Hinzufügen einer Notiz fügt dem Ereignisprotokoll note.added hinzu und das Lösen einer Notiz note.resolved; keine enthält den Text der Notiz. Das Lesen von Notizen belastet den Zähler nicht.
notes list#
Lese die Notizen des Projekts, neueste zuerst. screenrig notes führt denselben Befehl aus.
notes list [--all | --resolved] [--about ID] [--author AGENT_ID] [--limit N] [--after CURSOR]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
--all | Flag | nein | offene Notizen | Eingeschlossene aufgelöste Notizen. |
--resolved | Flag | nein | offene Notizen | Nur gelöste Notizen. |
--about ID | string | nein | jede Notiz | Nur Notizen über einen Bildschirm oder eine Playlist: screen:ID, playlist:ID oder die ID. |
--author AGENT_ID | string | nein | jeder Autor | Nur Notizen, die dieser Agent geschrieben hat, anhand seiner agt_-ID. |
--limit N | integer | nein | 50 | Seitengröße, 1 bis 200. |
--after CURSOR | string | nein | die erste Seite | Die next_cursor der vorherigen Seite. |
screenrig notesJede Notiz trägt ihr author (den Namen und Typ des Agenten), created_at, about und zwei Flags: new für eine Notiz, die ein anderer Agent seit Ihrem letzten Lesen geschrieben hat, und due für eine Notiz, die zur Überprüfung fällig ist. Die erste Seite offener Notizen ohne --about oder --author ist Ihr Lesestatus: Sie verschiebt Ihren Lesemarker (ein Nur-Lesen-Agent verschiebt nichts), sodass new und counts.new beschreiben, was sich seit Ihrem vorherigen Lesen geändert hat.
notes show#
Eine Notiz lesen, offen oder gelöst.
notes show <id>| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Die nte_ Notiz-ID. |
screenrig notes show nte_01EXAMPLENOTE000000000notes add#
Schreiben Sie eine Notiz für die Agenten des Projekts.
notes add <text> [--about ID] [--ttl DURATION] [--replaces ID]
notes add --file FILE [--about ID] [--ttl DURATION] [--replaces ID]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<text> | string | eines von beiden | keine | Die Notiz: 1 bis 2000 Zeichen reiner Text nach dem Kürzen, oder -, um sie von der Standardeingabe zu lesen. |
--file FILE | Pfad | eines von beiden | keine | Lese die Notiz aus einer Datei oder - für Standardeingabe. |
--about ID | string | nein | das gesamte Projekt | Notiz an einen Bildschirm oder eine Playlist binden: screen:ID, playlist:ID oder die ID. |
--ttl DURATION | string | nein | Überprüfung nach 90 Tagen | Die Notiz automatisch nach dieser Zeitspanne auflösen, in Stunden oder Tagen von 1h bis 365d, z. B. 12h oder 3d. |
--replaces ID | string | nein | keine | Eine offene Notiz, die diese hier ersetzt; sie wird als ersetzt gelöst. |
screenrig notes add "The lobby screen is mounted in portrait: design for 1080x1920." --about screen:scr_01EXAMPLESCREEN00000000Schreiben Sie Fakten, auf die ein anderer Agent reagieren würde, niemals Fortschrittsberichte oder Chat. Eine Notiz, deren Text (ohne Berücksichtigung von Groß-/Kleinschreibung und Leerzeichen) und Betreff eine offene Notiz wiederholt, bestätigt diese Notiz anstatt eine neue hinzuzufügen, mit der Warnung note_matched_open. Text in Form von Zugangsdaten wird mit note_contains_credential abgelehnt, und Text, der als Anweisung an ein Modell gelesen wird, mit note_rejected; nichts wird gespeichert. Die 201. offene Notiz in den Projekten der Organisation wird mit note_limit_reached abgelehnt, deren Details Notizen nennt, die zuerst aufgelöst werden müssen.
notes confirm#
Sagen, dass eine offene Notiz noch besteht. Die nächste Überprüfung ist in 90 Tagen.
notes confirm <id>| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Die nte_ ID einer offenen Notiz. |
screenrig notes confirm nte_01EXAMPLENOTE000000000Eine Notiz, die nicht offen ist, wird mit note_not_open (Exit 5) abgelehnt.
notes resolve#
Eine offene Notiz auflösen, die falsch oder nicht mehr zutreffend ist.
notes resolve <id> <reason>| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<id> | string | ja | keine | Die nte_ ID einer offenen Notiz. |
<reason> | string | ja | keine | Was jetzt gilt, 1 bis 500 Zeichen. Die Wörter nach der ID bilden den Grund. |
screenrig notes resolve nte_01EXAMPLENOTE000000000 "The lobby screen was remounted in landscape."Eine Notiz, die nicht offen ist, wird mit note_not_open (Exit 5) abgelehnt.
Kommentare
Ein Kommentar ist das eigene JSON-Objekt des Agenten, das an einen Bildschirm, eine Playlist oder eine Playlist-Seite angehängt ist. Die kompakte UTF-8-Darstellung dieses Objekts ist höchstens 1 KiB groß, höchstens 32 Ebenen tief verschachtelt, und der Wert muss ein Objekt sein. screenRIG liest es nie, sendet es nie an Player und behandelt es nie als Autorisierung. Es erscheint nicht im Laufzeitmanifest und erhöht keine Revision, daher benötigen diese Befehle kein
--expect-rev: Last write wins.Zum Lesen von Kommentaren genügt Lesezugriff, zum Schreiben ist Propose oder Manage nötig.
comment show#Lese das Kommentarobjekt auf einem Bildschirm, einer Playlist oder einer Playlist-Seite.
<id>scr_oderpl_ID, passend zum Zielwort.--page PAGE_IDEin nicht gesetzter Kommentar wird als
{ "comments": null }gelesen.screen showundplaylist showenthaltencomments, wenn der Server es sendet.comment set#Schreiben Sie das Kommentarobjekt.
<id>scr_oderpl_ID.--json-value JSON--file FILE-für die Standardeingabe.--page PAGE_IDPlaylist erstellen und aktualisieren kann keine Kommentare setzen; dafür sind diese Befehle da.
comment delete#Das Kommentarobjekt entfernen.
<id>scr_oderpl_ID.--page PAGE_IDDas Löschen eines nicht gesetzten Kommentars ist erfolgreich.