Technical
Chat Profiles
Saved chat presets that define default model routing, source collections, research context, and repeatable answer behavior.
Public and internal interfaces
These are the main routes, handlers, and integration surfaces used by this product area.
GET /api/portal/chat-profiles
POST /api/portal/chat-profiles
PATCH /api/portal/chat-profiles/{id}
DELETE /api/portal/chat-profiles/{id}
GET /api/portal/chat-profiles/options
Architecture notes
- Chat profile helpers live in caveauai-web/src/lib/workplace.ts.
- The PHP handler stores profiles per client in client_chat_profiles.
- Profile options include available Gitea collections and BYOK model choices.
Access and permissions
App pages are authenticated through the shared bnl_session cookie unless explicitly marked public. Public docs should describe integration behavior without including secrets, private tokens, private IPs, or tenant-specific records.
Troubleshooting
- A missing source option usually means that source has not been indexed or enabled.
- Delete stale profiles when collections have been removed to avoid confusing users.