# Android (/ro/docs/apps/android)

codai pentru Android este un asistent și agent AI pentru telefon. Îl instalezi din Google Play sau ca APK, te conectezi, acorzi permisiuni, înregistrezi și transcrii, creezi cu Studio, programezi sarcini și controlezi desktopul.

codai pentru Android este un asistent și agent AI pentru telefon: chat și voce, sarcini și programări, transcrieri și Studio, cu un **card de aprobare** înaintea oricărei acțiuni riscante. **Build-ul APK** îți folosește în plus telefonul așa cum ai face-o tu: vede ecranul ca o listă de butoane și texte (printr-un serviciu de Accesibilitate), apasă, tastează, derulează și glisează. Build-ul din Google Play nu controlează alte aplicații. Android 11 sau mai nou. Apache-2.0, sursa la [github.com/codai-ro/codai-phone](https://github.com/codai-ro/codai-phone).

## Instalare [#instalare]

<Tabs items={['Google Play', 'APK (sideload)']}>
<Tab value="Google Play">

Instalezi **[codai din Google Play](https://play.google.com/store/apps/details?id=ro.codai.phone)** (`ro.codai.phone`) sau cauți „codai” în Magazin Play. Versiunea curentă este 3.11.2; dacă pagina nu se deschide încă pentru tine, intră în beta prin [codai-beta@googlegroups.com](https://groups.google.com/g/codai-beta) și [înscrierea ca tester](https://play.google.com/apps/testing/ro.codai.phone).

Build-ul Play este o „aplicație reader”: îți arată planul și soldul, dar **nu are achiziții în aplicație** (politica de plăți Google Play). Omite și permisiunile pentru SMS, jurnal de apeluri, contacte, toate fișierele, locație și instalare de pachete și nu folosește API-ul de Accesibilitate ca să conducă alte aplicații (politica Play). Uneltele de fișiere ajung la folderul partajat Descărcări și la folderul propriu codai. Chatul, vocea, transcrierile, Studio, programările, sesiunile partajate și modelul pe dispozitiv sunt la fel.

</Tab>
<Tab value="APK (sideload)">

Build-ul complet se livrează ca APK pe [pagina Releases](https://github.com/codai-ro/codai-phone/releases) a repo-ului public.

APK-ul este semnat cu cheia de release, se actualizează singur din aplicație (**Setări → Actualizări**) și adaugă controlul telefonului prin serviciul de Accesibilitate, SMS, acces la toate fișierele și terminalul. Verifici descărcarea cu [Verificarea descărcărilor](./verify-downloads.mdx).

1. Descarci cel mai nou `.apk` pe telefon și îl atingi.
2. Android cere să permiți instalări din această sursă — **Setări → Permite din această sursă**, înapoi, **Instalează**.
3. Deschizi **codai**.

</Tab>
</Tabs>

## Îl asociezi cu contul tău [#îl-asociezi-cu-contul-tău]

Primul ecran după consimțământul legal întreabă cum ar trebui să gândească codai:

- **Autentificare cu contul codai** — e-mail + parolă, sau **Sign in with Google**, nativ în aplicație (fără browser). Emite o cheie `codai_` pentru **acest telefon**, etichetată `Android · <model>` în hub; deconectarea o revocă.
- **Folosești propria cheie AI** — sari peste autentificare, apoi **Settings → Providers**: OpenAI, Anthropic, Google Gemini, OpenRouter, GitHub Copilot sau orice endpoint compatibil OpenAI. Cheile rămân în preferințele criptate ale Android și merg doar la acel furnizor.

Telefonul apare în [hub.codai.ro](https://hub.codai.ro) → **Security → Devices**; îl revoci de acolo dacă îl pierzi.

## Permisiuni [#permisiuni]

Asistentul de configurare le parcurge pe rând. Doar **Accesibilitatea** este necesară pentru controlul telefonului; restul sunt opționale și pot fi activate ulterior din **Settings → Permissions**.

| Permisiune                                           | De ce o cere codai                                                                                                                           | Necesară?                         |
| ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| **Serviciu de accesibilitate**                       | Singurul mecanism Android care lasă o aplicație să citească și să apese ecranele altor aplicații. Folosit doar cât rulează o sarcină.        | Pentru controlul telefonului — da |
| **Notificări**                                       | Să îți spună când o sarcină are nevoie de un răspuns sau s-a terminat.                                                                       | Opțională                         |
| **Microfon**                                         | Vorbești în loc să tastezi; rulează ca serviciu în prim-plan cât ascultă.                                                                    | Opțională                         |
| **Afișare peste alte aplicații**                     | Bula flotantă și mini-chat-ul pe care le poți atinge de oriunde.                                                                             | Opțională                         |
| **Acces la notificări**                              | Citește și răspunde la notificări („ce a trimis Ana acum?”).                                                                                 | Opțională                         |
| **Baterie: nerestricționată**                        | Împiedică Android să omoare o sarcină lungă. Samsung/Pixel: _Setări → Aplicații → codai → Baterie → Nerestricționat_.                        | Recomandată                       |
| **Contacte, Calendar, SMS, Jurnal apeluri, Telefon** | Doar când o sarcină are nevoie prima dată de una dintre ele — cauți contacte, citești calendarul, citești SMS-uri recente, pornești un apel. | La cerere                         |
| **Acces la toate fișierele**                         | Uneltele de fișiere (`file_list`, `file_read`, …) pe stocarea ta. Doar build-ul APK.                                                         | Opțională                         |
| **Locație, stare Wi-Fi**                             | Răspunsuri despre dispozitiv („pe ce Wi-Fi sunt?”).                                                                                          | Opțională                         |
| **Terminal companion** (`codai.term`)                | O a doua aplicație mică ce îi dă lui codai un shell compatibil Termux. Doar pentru dezvoltatori.                                             | Opțională                         |
| **Shizuku**                                          | Deblochează câteva unelte la nivel de shell dacă folosești deja Shizuku.                                                                     | Opțională                         |

Android afișează un avertisment că serviciul de accesibilitate poate „vedea și controla ecranul”. Este exact. Câmpurile de parolă sunt mascate de Android, dar alt text de pe ecran — un sold bancar, un cod 2FA — este vizibil cât rulează o sarcină; de aceea aplicațiile de banking, portofel, plăți, autentificator, manager de parole și Setările de sistem sunt tratate ca **sensibile** și cer aprobare în nivelul implicit de autonomie.

<Callout type="info">
  Reinstalarea aplicației poate opri serviciul în tăcere (mai ales pe Samsung). Dacă codai spune că
  nu vede ecranul: *Setări → Accesibilitate → Aplicații instalate → codai → off → on*.
</Callout>

## Ce poate face agentul pe telefon [#ce-poate-face-agentul-pe-telefon]

- **Folosește alte aplicații** — deschide, citește, apasă, tastează, derulează, glisează. _„Deschide WhatsApp și spune-mi ultimul mesaj de la Ana.”_
- **Răspunde la întrebări despre telefon** — notificări, alarme, contacte, calendar, SMS-uri recente, aplicația din prim-plan, Bluetooth, baterie, stocare.
- **Mici treburi** — setează alarme și cronometre, adaugă evenimente în calendar, deschide un link, partajează text, copiază în clipboard, răspunde la o notificare, pornește un apel.
- **Fișiere** — listează, caută, citește, editează și mută fișiere din stocare (build-ul APK).
- **Terminal** — un shell real de tip Linux prin aplicația companion sau Termux, opțional izolat într-un home de lucru (comutatorul _Sandbox_ din foaia de mod agent).
- **Lucrează offline pentru lucruri mici** — model on-device opțional (**Gemma 4 E2B**, ~2,6 GB, sau **codai-nano** ajustat fin) în **Settings → Models**. Moduri: `off` (implicit), `fast-lane` (apăsările mecanice de urmărire rulează local), `local-first` (fiecare pas pornește pe telefon și predă cloud-ului când se blochează). Cel mai bine pe flagship-uri recente; telefoanele cu 4 GB ar trebui să rămână pe `off`.
- **Întreabă înainte de acțiuni riscante.** Trimiterea unui mesaj, o plată sau o acțiune într-o aplicație sensibilă afișează un card de aprobare. Aplicațiile de mesagerie au propriul comutator: _ask_ (implicit), _block_, _allow_.
- **Mai multe sarcini în paralel** — o sesiune per fereastră (split-screen / pop-up pe One UI); sarcinile care au nevoie de ecran așteaptă politicos la coadă.
- **Ține un plan și notițe** — o listă `todo` live sub antetul chat-ului și un browser local de **Memorie** (`/memories/<fișier>` supraviețuiește sesiunilor; nimic nu părăsește telefonul).

### Autonomie [#autonomie]

**Settings → Agent → Autonomy**, și în chip-ul cu scut de lângă composer:

| Nivel                   | Întreabă înainte de                                                         |
| ----------------------- | --------------------------------------------------------------------------- |
| **strict**              | fiecare acțiune                                                             |
| **assisted** (implicit) | orice trimite sau plătește, și orice în interiorul unei aplicații sensibile |
| **autopilot**           | doar trimitere sau plată                                                    |

**Stop** în chat sau pe bulă încheie imediat o sarcină; fiecare tură are și un buget de timp (4 minute implicit, **Settings → Agent**).

## Conduci desktopul de pe telefon [#conduci-desktopul-de-pe-telefon]

Cu [codai desktop](./desktop.mdx) deschis pe un computer autentificat cu același cont și **Serve as a remote host for my phone** activat, telefonul poate:

- rula comenzi de terminal și citi/scrie fișiere **pe acel computer** (unealta `terminal` cu backend-ul relay, în folderele aprobate ale desktopului);
- **trimite (dispatch)** o sarcină întreagă către desktop — este preluată în aproximativ 30 de secunde și executată acolo, cât telefonul afișează transcriptul live cu insigna **REMOTE**;
- primi predarea inversă: _Continue on phone_ de pe desktop trimite conversația aici și trezește aplicația prin push (build-uri cu Firebase configurat).

Activezi **Session sync** (**Settings → Advanced**) pentru a vedea aceeași conversație pe fiecare dispozitiv. Dispozitivul care face treaba este **executorul**; celelalte sunt **viewer** (privesc) sau **editor** (trimit, răspund, anulează). Detalii de protocol: [Sesiuni partajate](../sessions/index.mdx).

## Sesiuni Copilot Chat din VS Code [#sesiuni-copilot-chat-din-vs-code]

Cu [extensia VS Code](./vscode.mdx) conectată la același cont, secțiunea **Remote** din meniul lateral listează sesiunile Copilot Chat de pe calculatoarele tale (cu eticheta **VS Code**) și conversațiile altor clienți API. Deschide una ca să urmărești în timp real prompturile și pașii de tool; poți da **Allow** / **Deny** unui tool, răspunde la o întrebare, trimite un prompt nou sau opri cererea cu **Stop**. Telefonul doar urmărește și trimite comenzi: chatul continuă să ruleze în VS Code. Când ceva te așteaptă, primești o notificare chiar cu aplicația închisă.

## Înregistrezi și transcrii [#înregistrezi-și-transcrii]

Apeși microfonul din **Transcrieri** ca să înregistrezi o ședință, un curs sau o notiță vocală. Înregistrarea rulează ca serviciu în prim-plan, cu indicator vizibil; audio se încarcă pe bucăți, deci o conexiune pierdută nu strică nimic. Când e gata primești transcrierea cu vorbitori, un rezumat, ideile principale, acțiuni și decizii. Exporți în Markdown, TXT, SRT, WebVTT, JSON, PDF sau DOCX ori trimiți un link public doar de citire. Înregistrările de pe ceasul Wear OS apar tot aici.

## Creezi cu codai Studio [#creezi-cu-codai-studio]

**Studio** transformă un prompt în imagini, voce (codai-speech), muzică, efecte sonore, clipuri scurte, documente, prezentări și tabele. Biblioteca păstrează tot ce ai creat; vezi rezultatul în aplicație sau îl deschizi în aplicațiile tale creative. Agentul poate folosi uneltele Studio și în timpul unei sarcini („fă un jingle de 20 de secunde pentru clipul ăsta”).

## Sarcini programate [#sarcini-programate]

**Programări** rulează un prompt după un orar: „în fiecare zi lucrătoare la 8, fă-mi un rezumat al notificărilor necitite”. Fiecare rulare apare în istoric; o programare marcată _necesită aprobare_ așteaptă **Aprobă** sau **Sari peste** pe telefon sau pe [ceasul Wear OS](./wear.mdx).

## Prompturi în așteptare [#prompturi-în-așteptare]

**Pending prompts** (din foaia de inbox) listează [prompturile salvate pentru mai târziu](/docs/api/gateway/prompts) de pe orice dispozitiv, grupate pe proiect. Fiecare arată dacă a fost **trimis** și dacă a primit **răspuns** într-un chat; **Verify all** îl întreabă pe codai dacă acele chaturi chiar au terminat treaba și arată raportul. Modificările făcute pe alt dispozitiv apar aici în câteva secunde.

## Facturare [#facturare]

**Aplicația este gratuită.** Ce costă este modelul care gândește:

- **Cont codai** — utilizarea este facturată după planul tău (sarcini pe lună, apoi portofel sau depășire). În aplicație, **Cost · Receipt** arată chitanța serverului pentru o sesiune, iar **Settings** îți permite un **buget per sesiune**, ca o sarcină să nu scape de sub control.
- **Cheia ta de furnizor** — furnizorul te facturează direct; codai nu ia nimic.
- **Pașii on-device** nu costă nimic.

Unde cumperi depinde de build:

| Build           | Ecranul de facturare                                                                                                                                                                                                                                                                                                                  |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **APK**         | Planuri și alimentări de portofel (presetări `5 €`, `10 €`, … din catalog). Fiecare achiziție deschide **[pay.codai.ro](https://pay.codai.ro)** într-un Chrome Custom Tab — te autentifici prin SSO auth.codai.ro, plătești cu Stripe Checkout și revii în aplicație. _Manage subscription_ deschide portalul Stripe pe aceeași cale. |
| **Google Play** | Doar citire: planul curent și soldul, plus un link către **[hub.codai.ro/billing](https://hub.codai.ro/billing)**. Fără prețuri, fără checkout în aplicație.                                                                                                                                                                          |

Planurile, prețurile și ce înseamnă o „sarcină” sunt pe pagina [limite și prețuri](../gateway/limits-pricing.mdx).

## Confidențialitate [#confidențialitate]

**Rămâne pe telefon:** cheile și autentificarea (preferințe criptate), conținutul ecranului pe care îl citește codai dacă pasul nu are nevoie de modelul din cloud, tot ce gestionează modelul on-device, istoricul de chat (bază de date locală), notițele de memorie și fișierele de trace per tură dacă le-ai activat pentru depanare (`Download/codai-nano/`, niciodată încărcate).

**Părăsește telefonul:** promptul tău, rezumatul ecranului și rezultatele uneltelor — către backend-ul AI configurat (gateway-ul codai implicit, sau propriul furnizor). Cu _Session sync_ activ, transcriptul pas cu pas este oglindit către gateway, ca celelalte dispozitive să poată urmări. Build-urile cu Firebase trimit token-ul push folosit pentru a trezi telefonul la dispatch.

**Niciodată:** fără SDK de analytics, fără SDK de reclame, fără crash reporter. Niciun mesaj trimis, plată făcută sau setare schimbată într-o aplicație sensibilă fără un card de aprobare pe care l-ai atins.

Antrenarea pe conversațiile tale este **opt-in** (implicit dezactivată) — **Settings → About → Training consent**, sau `PATCH /v1/account`.

## Întrebări frecvente [#întrebări-frecvente]

### Este codai în Google Play? [#este-codai-în-google-play]

Da: [codai în Google Play](https://play.google.com/store/apps/details?id=ro.codai.phone), pachetul `ro.codai.phone`. Versiunea completă, cu controlul telefonului, este APK-ul de pe GitHub.

### Este codai gratuit? [#este-codai-gratuit]

Aplicația este gratuită și open source (Apache-2.0). Plătești modelul AI care gândește: un plan codai, propria cheie de la un furnizor sau nimic pentru pașii rulați de modelul pe dispozitiv.

### Merge codai fără internet? [#merge-codai-fără-internet]

Pentru pașii simpli, da, cu modelul opțional pe dispozitiv (Gemma 4 sau codai-nano, cca. 2,6 GB). Sarcinile grele au nevoie de cloud.

### Ce telefoane sunt compatibile? [#ce-telefoane-sunt-compatibile]

Android 11 sau mai nou, pe un telefon pe 64 de biți (arm64). Modelul pe dispozitiv merge cel mai bine pe flagship-urile recente; pe telefoanele cu 4 GB RAM lasă-l oprit.

### Poate codai să facă lucruri fără să mă întrebe? [#poate-codai-să-facă-lucruri-fără-să-mă-întrebe]

Doar în limitele nivelului de autonomie ales. La nivelul implicit _asistat_ întreabă înainte să trimită, să plătească sau să acționeze într-o aplicație sensibilă.

### Există aplicație pentru Wear OS? [#există-aplicație-pentru-wear-os]

Da, o aplicație independentă pentru ceas, în aceeași pagină Play: [Wear OS](./wear.mdx).

<Cards>
  <Card title="Desktop" href="./desktop.mdx" description="Faci din PC un host pentru telefon." />
  <Card
    title="Întrebări frecvente"
    href="./faq.mdx"
    description="Baterie, mod offline, insigna REMOTE, iPhone."
  />
  <Card
    title="Sesiuni partajate"
    href="../sessions/index.mdx"
    description="Roluri, lease-uri, dispatch."
  />
</Cards>
