Ce face agent -p (mod neinteractiv)
-p (--print) rulează Agent neinteractiv și afișează răspunsul în consolă. Modul print se deduce și singur când ieșirea nu este un terminal sau când intrarea vine printr-un pipe. Pentru autentificare în scripturi folosești variabila CURSOR_API_KEY sau --api-key.
--output-format funcționează doar în modul print: text (implicit, doar mesajul final), json (un singur obiect la final, cu câmpuri ca result, session_id, duration_ms) sau stream-json (JSON pe rânduri, câte un rând pe mesaj). --stream-partial-output, doar cu stream-json, trimite textul în fragmente mici pe măsură ce se generează. La eșec, procesul iese cu cod nenul și scrie eroarea în stderr.
Pagina Parameters spune că modul print are acces la toate uneltele, inclusiv scriere și shell; ghidul headless arată că fără --force (alias --yolo) modificările doar se propun. Pentru scripturi care trebuie să scrie fișiere, documentația combină -p cu --force și controlează restul prin permissions.allow și permissions.deny. Într-un workspace fără încredere, rulările neinteractive cer --trust (sau --force).
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
-p, --print |
Rulare neinteractivă. |
--output-format <format> |
text, json sau stream-json (implicit text). |
--stream-partial-output |
Fragmente de text pe măsură ce apar (doar cu stream-json). |
-f, --force / --yolo |
Permite comenzile, cu excepția celor interzise explicit. |
--trust |
Are încredere în workspace fără întrebare (doar headless). |
--api-key <key> |
Cheia API (alternativ, CURSOR_API_KEY). |
Exemple practice
Exemplul 1: Întrebare simplă despre proiect
agent -p "What does this codebase do?"
Exemplul 2: Modificări de fișiere într-un script
export CURSOR_API_KEY=your_api_key_here
agent -p --force "Refactor this code to use modern ES6+ syntax"
Exemplul 3: Rezultat JSON prelucrat cu jq
Câmpul result conține textul complet al răspunsului.
agent -p --output-format json "Summarize README.md" | jq -r '.result'
Greșeli frecvente și bune practici
- Folosești
--output-formatfără-p. Opțiunea este valabilă doar în modul print. - Rulezi
--forceîn CI pe un repository în care nu ai încredere. Combină-l cu regulipermissions.deny. - Parsezi ieșirea ca JSON și când comanda eșuează. La eșec nu se emite un obiect JSON valid; verifică întâi codul de ieșire.