Table of Contents

OpenCode CLI și Desktop sunt clienți pentru același produs de agent de cod. Interfața terminal este potrivită pentru lucrul cu tastatura și scripturi. Aplicația desktop oferă un spațiu grafic de lucru. Comparația importantă include serverul, proiectul, furnizorul și configurația din spatele fiecărui client.

Alege interfața după identificarea backendului. Două ferestre OpenCode nu folosesc neapărat același server sau aceeași sesiune. O aplicație desktop conectată la alt server este un mediu de execuție diferit, chiar dacă eticheta modelului pare familiară.

Idei principale

  • Folosește CLI pentru lucrul în terminal și comenzi non-interactive.
  • Folosește Desktop pentru un spațiu grafic, după ce verifici serverul selectat.
  • Configurarea furnizorului determină inferența, independent de interfață.
  • Aceeași identitate a produsului nu garantează aceeași stare a sesiunii între servere sau versiuni separate.

Domeniu și dată: Documentația oficială a fost verificată la 6 octombrie 2026. Ghidul compară interfețe, nu calitatea modelelor. Ai nevoie de un depozit, o conexiune funcțională la furnizor și cunoștințe de bază despre terminal. Rezervă 45-60 de minute pentru test.

Clientul și serverul

OpenCode separă interfața de server. Documentația serverului descrie interfața terminal ca client și opencode serve ca server independent. Această arhitectură permite mai multe moduri de interacțiune cu agentul.

Desktop pornește implicit un server local. Ghidul de depanare identifică sidecar-ul opencode-cli și opțiunea de conectare la un URL de server configurat. Când clienții se comportă diferit, verifică această conexiune înainte să schimbi promptul.

StratÎntrebare
ClientInterfață terminal, aplicație desktop sau comandă non-interactivă?
Server agentCe proces primește cererea?
DepozitCe director accesează serverul?
Furnizor modelCe serviciu oferă inferența?
SesiuneConversație existentă sau sarcină nouă?

Locația serverului nu este locația inferenței. Un server agent de pe computerul tău trimite în continuare cereri către un model găzduit configurat. Un serviciu local compatibil de inferență este un proces separat, cu model și cerințe proprii de resurse.

Referința oficială a serverului indică 127.0.0.1 ca hostname implicit pentru opencode serve. Ține serviciul pe loopback în timpul unui test local:

opencode serve --hostname 127.0.0.1

Folosește o adresă bind mai largă numai după definirea autentificării, regulilor firewall și căilor depozitului expuse serverului.

Clienți terminal și desktop conectați la un server agent, fișiere de depozit și un serviciu separat de inferență

Verifică separat serverul agent și furnizorul de inferență

Interacțiune terminal și automatizare

opencode

Comanda implicită deschide interfața terminal. Referința CLI documentează și comenzi programatice. Începe în depozitul dorit și confirmă agentul și modelul selectate înainte să ceri modificări.

opencode run "Identify this project's test command. Do not modify files."

Folosește opencode run pentru o cerere non-interactivă limitată. Stabilește separat politica de permisiuni. O cerere fără modificări oferă direcție, dar nu impune izolarea sistemului de fișiere.

Alege acest flux când contează compunerea comenzilor shell. Un wrapper repetabil trebuie să captureze cererea, codul de ieșire, rezultatul relevant și fișierele modificate. Fă explicită tratarea erorilor. Un diff gol și un mesaj de succes se interpretează diferit față de o remediere verificată.

Configurare și compatibilitate Desktop

Folosește pagina oficială de descărcare pentru versiunea dorită. Pagina de descărcare OpenCode listează pachete terminal și desktop. În această verificare pagina promovează pachete terminal v2, iar documentația generală conține și exemple de instalare mai vechi. Notează versiunile exacte ale clientului și backendului. Nu amesteca instrucțiuni din piste de lansare diferite.

Evaluează interacțiunea desktop cu o sarcină reală mică. Deschide un proiect, confirmă serverul, trimite o cerere limitată, verifică fișierele modificate și cere o corecție. Evaluează efortul necesar pentru a înțelege acțiunile agentului. Nu presupune că un client grafic înlocuiește complet editorul și depanatorul.

Test DesktopDovezi așteptate
Selectarea proiectuluiAgentul identifică depozitul dorit
Selectarea modeluluiFurnizorul și modelul corespund evidenței testului
Executarea comenzilorRuntime-ul și testele necesare sunt disponibile
Verificarea schimbăriiPatch-ul complet este ușor de găsit și revizuit
RepornireaProiectul și sesiunea dorite rămân identificabile

Configurare și acces la model

OpenCode combină configurația din mai multe locații. Referința configurației explică prioritatea și păstrarea setărilor fără conflicte. Compară modelul, agentul și permisiunile efective, nu doar un fișier de proiect.

Accesul la furnizor aparține configurării execuției. Ghidul furnizorilor descrie serviciile acceptate și endpointurile compatibile. Contează acreditările, accesibilitatea endpointului și suportul pentru instrumentele modelului. Un server care rulează în alt loc are nevoie de acces valid propriu la furnizor și depozit.

Clientul nu stabilește costul total al inferenței. Compară utilizarea facturată pentru modele și sarcini identice. Include rulările repetate cauzate de erori de configurare. Pentru inferența locală notează memoria sistemului, formatul modelului, dimensiunea contextului și setările runtime. Nu prezenta descărcarea desktop ca înlocuitor gratuit pentru calculul găzduit.

Sesiuni și schimbare sigură

Verifică continuitatea în loc să o presupui. Notează proiectul și sesiunea active înainte să schimbi clientul. Verifică dacă destinația se conectează la serverul dorit și afișează istoricul dorit. La o sesiune nouă oferă un transfer concis cu obiectivul, lucrul terminat și verificările rămase.

Evită modificările concurente în același checkout. Două conversații cu planuri diferite partajează fișiere când folosesc același director. Folosește worktree sau checkout separat pentru experimente independente. Revizuiește modificările înainte de integrare.

Handover record
Goal:
Current branch and working directory:
Files changed:
Checks already completed:
Known failures:
Next approved action:

Acest registru face transferul verificabil. Ajută și la separarea unei probleme de interfață de o instrucțiune lipsă sau de un mediu nepotrivit. Ține acreditările în afara registrului.

Acces la server și permisiuni

Tratează serverul agent ca serviciu de execuție. Documentația serverului descrie autentificarea opțională prin OPENCODE_SERVER_PASSWORD. Configurează accesul intenționat înainte de conectarea mașinilor. Un server agent accesibil nu este un site static inofensiv.

Examinează separat permisiunile instrumentelor. Ghidul permisiunilor definește comportamentul allow, ask și deny. Aplică aceeași politică în timpul testului interfeței. Nu considera un client cu mai puține întrebări mai sigur sau mai capabil fără verificarea regulilor efective.

Începe cu un test de politică inofensiv. Cere o inspecție permisă și o modificare interzisă într-un proiect temporar. Verifică comportamentul observat și apoi treci la o implementare limitată. Astfel presupunerea despre permisiuni devine testabilă.

Depanare și alegere

SimptomPrima verificare
Eșec de conectare DesktopServerul selectat și starea sidecar-ului local
Model lipsă într-un clientVersiunea serverului, accesul la furnizor și configurația
Rezultat de test diferitDirectorul proiectului și mediul runtime
Conversație lipsăIdentitatea serverului și a sesiunii
Funcționează până la încărcarea unui pluginConfigurația pluginului și compatibilitatea versiunii

Alege terminalul dacă cererile scriptate și contextul shell simplifică munca. Alege Desktop dacă navigarea grafică a proiectului îți îmbunătățește supravegherea. Păstrează separat deciziile despre furnizor și politică.

Pași următori: Compară alternativele terminal în rezumatul CLI . Pentru cerințe de inferență locală citește ghidul OpenCode și Strata . Pentru alternative grafice folosește rezumatul GUI .