Chat (agent)
Upstream: POST https://api.gommo.net/api/v2/chat (form urlencoded).
Playground
Playground — worker Nền tảng → Chat (tìm chat) hoặc sidebar Platform → Chat khi ?dev=1. Chat nhiều lượt: /vi/app/chat/.
| Thao tác | Gommo public API |
|---|---|
| Chat agent | POST https://api.gommo.net/api/v2/chat action=chat |
| Chat stream | POST https://api.gommo.net/api/v2/chat action=stream (SSE) |
| Set model | POST https://api.gommo.net/api/v2/chat action=set_model |
Form fields (Direct)
| Field | Ghi chú |
|---|---|
action | chat, stream, set_model, models |
access_token | User token (hoặc Bearer header) |
domain | Domain đăng ký, vd. <registration-domain> |
query | Nội dung tin nhắn |
messages | JSON array — bắt buộc không rỗng với action=chat |
language | Tùy chọn — locale upstream (capture VI, EN) |
chat_id | UUID session (upstream form; gateway JSON dùng sessionId) |
Field nâng cao (gọi trực tiếp): model, server, agent_id, chat_tools, system_custom_prompt, device_* — gateway tự điền mặc định khi thiếu.
WARNING
Upstream action=chat yêu cầu messages không rỗng. Gửi ít nhất { "role": "user", "text": "..." }.
action=stream → response SSE.
Chat (agent)
curl.exe -X POST "https://api.gommo.net/api/v2/chat" ^
-H "Content-Type: application/x-www-form-urlencoded" ^
-d "action=chat&access_token=%TOKEN%&domain=%REGISTRATION_DOMAIN%&query=Hello&messages=[{\"role\":\"user\",\"text\":\"Hello\"}]"$d = $env:GOMMO_API_DOMAIN; if (-not $d) { throw 'Set GOMMO_API_DOMAIN to the user registration domain (dealer)' }
$messages = '[{"role":"user","text":"Hello"}]'
$form = "action=chat&access_token=$env:TOKEN&domain=$d&query=Hello&messages=$messages"
Invoke-RestMethod -Method POST -Uri "https://api.gommo.net/api/v2/chat" `
-ContentType "application/x-www-form-urlencoded" -Body $formStream
curl.exe -N -X POST "https://api.gommo.net/api/v2/chat" ^
-H "Content-Type: application/x-www-form-urlencoded" ^
-d "action=stream&access_token=%TOKEN%&domain=%REGISTRATION_DOMAIN%&query=Tell a short story&messages=[{\"role\":\"user\",\"text\":\"Tell a short story\"}]"Danh sách model (action=models)
POST …/api/v2/chat — action=models, domain, access_token. Response JSON catalog — dùng id với set_model.
Mode B: GET {gateway}/gateway/chat-models (Bearer).
Set model
action=set_model + chat_id + model (+ server, agent_id từ catalog).
Đọc response (JSON vs SSE)
stream(và đôi khichat) trả SSE: nhiều dòngdata: {…}; ghépchoices[0].delta.contentđến[DONE].- Không có một field
"text"chứa cả câu — client phải parse stream.
Chat sessions (sync server)
POST …/api/v2/ai-chat-sessions — form action:
| action | Ghi chú |
|---|---|
save_message | session_id, message_id, role, text, … |
list_sessions | danh sách session |
get_messages / get_session | cần session_id |
Mode B: POST {gateway}/gateway/chat-sessions JSON — alias sessionId → session_id.
Self-host (chỉ operator)
POST {gateway}/gateway/chat JSON — Bearer; language tùy chọn (mặc định gateway VI). Playground Chat có ô language.
