Chat: User Chat, Dev Chat, Sandbox Factory
On this page
สามหน้าใช้คอมโพเนนต์ ChatApp ตัวเดียว และ handler ฝั่งเซิร์ฟเวอร์ร่วม turn-route.ts
flowchart LR
U[/chat User Chat/] -->|POST /api/chat/turn| H[handleTurn user]
D[/chat/dev Dev Chat/] -->|POST /api/chat/dev/turn| HD[handleTurn dev]
F[/factory BYOK/] -->|POST /api/factory/*| FR[factory routes]
H --> WAI[Workers AI binding AI]
H --> HF[HF router DeepSeek V3]
HD --> AG[OpenAI Agents API + openai_hosted sandbox]
FR --> AG2[Agents API with user's key]
H & HD & FR --> DB[(D1 nvx-db)]
User Chat (channel = 'user')#
- โหมด
general | thai | code | strong | image(plain-turn.ts) - Workers AI ผ่าน binding
AI(workers-ai.ts) สตรีม delta เป็น SSE;strongใช้ HF router (hf.ts); ล้มแล้วถอยไปอีกค่าย - ภาพ: FLUX-1 schnell → bytes เก็บใน
attachment_blobs(≤1.5 MB) เสิร์ฟที่/api/chat/images/<id>เฉพาะเจ้าของ cookie - โควตา:
messageRules/imageRules(…,"user")ในlimits.tsday bucket ตามเวลาไทย
Dev Chat (channel = 'dev')#
turn.tsสร้าง/ต่อ session ของ Agents API ด้วย config inline จากagents/orchestrator/agent.jsonแปลง event เป็นUiEvent(events.ts) สำหรับแผง Sandbox- function tool (
search_docs,generate_image,plan_site) รันใน Worker - guard:
agentRules(5/คน/วัน, 30/ทั้งเว็บ) + งบCHAT_DAILY_BUDGET_USD(micro-USD ในusage_countersscopecost:global)
Sandbox Factory#
- key ของผู้ใช้มากับ header
x-openai-keyทุกคำขอ (factory.ts) ไม่เก็บ ไม่ log POST /api/factory/sessionสร้าง agent + session (openai_hostedหรือself_hosted) บันทึก conversationsource='factory'GET /api/factory/watchสตรีมสถานะ environment (pending/connected/failed) สูงสุด 10 นาที- guard: per-IP ต่อชั่วโมง +
NVX_FACTORY_LIMITER
Self-hosted executor ของเรา (devbox)#
กล่องพัฒนาของเรารัน codex exec-server ภายใต้ supervisor (/opt/nvx-agent/devbox, คำสั่ง devboxctl start|stop|restart|status|ensure|logs) เป็นผู้ใช้ nvxagent โดยมีแค่ CODEX_API_KEY, HOME, PATH ใน env ใช้สำหรับทดสอบ self-hosted เท่านั้น ไม่ได้ให้บริการแชตสาธารณะ
ค่าใช้จ่ายโดยประมาณ#
| ส่วน | ราคา |
|---|---|
| Workers AI | ฟรี 10,000 neurons/วัน (รีเซ็ต 00:00 UTC) แล้ว $0.011/1k neurons; Gemma 4 ≈ $0.10/$0.30 ต่อ M token; ภาพ FLUX ≈ 58 neurons (~$0.0006) |
| HF DeepSeek V3 | ตัดจากเครดิต HF Pro |
| Dev Chat (gpt-6.1-sol) | $2 / $0.10 cached / $10 ต่อ M token; turn ง่าย ≈ $0.01–0.06, turn หนัก ≈ $0.25 |
Source: docs/architecture/chat-orchestrator.md · /docs/architecture/chat-orchestrator.md