Ce este CallAgent
CallAgent poartă conversații vocale între clienții tăi și un model de limbaj, prin rețeaua telefonică sau printr-o pagină web, și păstrează tot ce s-a întâmplat: audio-ul, transcrierea, cronometrarea fiecărei etape, tools-urile apelate și cât a costat fiecare. Sunt trei produse care împart o singură bază de date — o platformă de voice AI, un PBX SIP și un contact center — pentru că un apel AI care nu poate fi escaladat la un om e un demo, nu un sistem telefonic.
Cele două planuri
Browser / telefon / trunk SIP
│
▼
Voice Gateway (TypeScript) Control plane (Laravel + Filament)
· transport media · asistenți, tools, knowledge, squads
· pipeline STT → LLM → TTS · numere, trunk-uri, cozi, operatori
· barge-in și endpointing · apeluri, artefacte, ledger de facturare
· execuție de tools și MCP · API REST, webhooks, dashboard
│ ▲
└────────── NATS JetStream ──────────────┘Control plane-ul deține configurația și istoria: acolo se editează, se publică și se versionează un asistent, și acolo se stochează un apel terminat. Gateway-ul deține milisecundele: odată ce un apel e viu, niciun request către control plane nu stă pe drumul audio.
Se întâlnesc la @callagent/contracts, un pachet zod-first pe care îl importă ambele planuri, ca o formă să nu poată devia între ele. Câteva dintre enumerările lui sunt oglindite în PHP, cu un test care citește sursa PHP și pică la dezacord — stările apelului, tipurile de eveniment și lista de chei pentru redactare sunt ținute laolaltă așa.
Primitivele
| Primitivă | Ce este | Pagină |
|---|---|---|
| Assistant | Un prompt, un transcriber, un model, o voce și planurile care decid când vorbește și ce înregistrează. Versionat; un apel fixează versiunea cu care a pornit. | Asistenți |
| Tool | O funcție pe care modelul o poate apela în timpul conversației — un request HTTP, un transfer, un handoff, o secvență DTMF, o interogare de knowledge. 25 de tipuri, o singură formă de definiție; cinci dintre ele nu ajung niciodată într-un apel. | Tools |
| MCP server | Un server extern de tools, atașat întreg, cu nivel de risc per tool. | MCP |
| Knowledge base | Documente tăiate în bucăți, transformate în embeddings în pgvector și regăsite în timpul conversației. | Knowledge bases |
| Squad | Mai mulți asistenți care împart un apel, cu handoff-uri explicite. | Squads |
| Număr / trunk SIP | De unde sosesc apelurile și pe unde pleacă. | Telefonie · SIP |
| Call | O conversație și tot ce a produs. | Apeluri și artefacte |
| Queue / operator | Jumătatea umană: unde ajunge un apel când asistentul îl predă. | Contact center |
| Campaign | Apeluri de ieșire în volum, cu ritm și control de conformitate. | Campanii |
Trei feluri de a-l conduce
# 305 endpoint-uri sub /api/v1, documentație generată la /reference/api/
curl -X POST "$CALLAGENT_API_URL/calls" \
-H "Authorization: Bearer $CALLAGENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"assistant_id": "01JQ…", "to": "+40712345678", "phone_number_id": "01JQ…"}'# Asistenți, tools, squads și knowledge bases ca YAML în git
callagent validate
callagent plan # un diff pe câmpuri față de organizația live
callagent applyConsola Filament de la /{organizatie}/… acoperă fiecare resursă pe care o
acoperă și API-ul, plus bucățile care au sens doar vizual: workbench-ul de
furnizori, vizualizarea apelurilor live, wallboard-ul, editorul de noduri IVR
și timeline-ul apelului. E și singurul loc din care se poate crea o cheie de API.Două vocabulare, și nu sunt interschimbabile
API-ul REST e în mare parte snake_case (first_message_mode) — mai puțin endpoint-urile de telefonie, care sunt camelCase (destinationType). @callagent/contracts și CLI-ul sunt camelCase, cu valori de enum scrise cu cratimă (assistant-speaks-first), iar control plane-ul convertește între ele.
Unde o pagină arată un body de request, arată ortografia pe care endpoint-ul o acceptă efectiv. Unde arată YAML, acela e vocabularul CLI-ului.
Ce să citești mai departe
- Construiești ceva? Pornire rapidă, apoi Asistenți.
- Decizi dacă ți se potrivește? Cum funcționează un apel și Preluarea turului și barge-in sunt locurile unde stă inginerie adevărată.
- Integrezi? Autentificare, apoi convențiile API.
- Vii de la un PBX? Vii de la un PBX.
- Te întrebi ce e real? Întâi Ce nu este construit, apoi Stadiul implementării.