Channel
Channel เพิ่มห้อง public/private และ DM ใน Libre WebUI พร้อม thread, reaction, pin, unread state, attachment และคำตอบ @model บน chat durable ที่เข้ารหัส
Type และสมาชิก
| Type | ผู้ที่เห็น | ผู้ที่เข้าร่วม |
|---|---|---|
public | ทุกคน | เข้าร่วมเอง |
private | เฉพาะสมาชิก | Owner เชิญ |
dm | สองคน | อัตโนมัติ |
Access กำหนดด้วย membership เท่านั้น ทุก read, write, download และ event จะตรวจ บุคคลภายนอกได้รับ 404 โดยไม่เปิดเผยการมีอยู่ Global administrator อ่าน content ไม่ได้
Owner ทำ rename, archive, invite, remove, moderate และ delete ได้ Owner ออกได้ด้วยการลบ channel เท่านั้น DM ถูก deduplicate ตามคู่
Timeline
Timeline durable ที่เรียงลำดับพร้อม keyset cursor created_at และ ID
- Post แบบ idempotent ตาม client ID
- Tombstone deletion ล้าง content แต่เก็บตำแหน่ง
- Editing โดย author เท่านั้น มี
editedAt - Thread หนึ่งระดับ
- Reaction unique ตามคู่ user/emoji
- Pin สมาชิกจัดการ
ชื่อ คำอธิบาย และ message เข้ารหัส
ยังไม่อ่าน
แต่ละ membership มี cursor monotonic Server นับตาม channel ข้อความตนเองไม่เป็น unread POST /api/channels/:channelId/read เดินหน้าเท่านั้น
Real time
การเปลี่ยนแปลงเข้า channel:<id> และ SSE GET /api/channels/:channelId/events ตรวจ membership ก่อนทุก delivery SQL คือแหล่งจริง event ที่พลาด recover ด้วยการอ่านใหม่
Attachment
POST /api/channels/:channelId/attachments สร้าง claim ครั้งเดียว 15 นาที Byte เป็นของ uploader ทุก download ตรวจ membership
คำตอบ @model
คำตอบแสดง pending ทันทีและ durable job ทำเสร็จ ในฐานะสมาชิกที่เรียกเท่านั้น โดยใช้ access, credentials และ routing ของเขา ตรวจ membership ก่อน generation และแสดง error
Context สูงสุด 30 message เป็น one-shot completion ยังไม่เชื่อม tool, knowledge และ web search
ขีดจำกัด
50 channel ต่อ user, 200 member, 50,000 message, 8,000 ตัวอักษร, attachment 5 × 10 MB, reaction 200
ข้อจำกัด
ไม่มี presence/typing การส่งออก channel แยก หรือการตั้งค่า notification ต่อ channel นอกจากการออก