Features and what they need
Which parts of Chat are always on, which you turn on, and what people see while one is off.
3 min readUpdated for Chat 0.5.2Edit on GitHub
Chat starts with conversations, projects and accounts. Everything that needs more infrastructure stays off until you configure it, and its pages and buttons are hidden rather than shown empty.
At a glance
| Feature | Needs | Turn it on | While it's off |
|---|---|---|---|
| Conversations, history, presets | Postgres | Always on | — |
| Answers from models | The obleth gateway | Connect the gateway | The composer says no models are available |
| Single sign-on | An OIDC provider | OBLETH_CHAT_OIDC_ISSUER and client, see Accounts | Username and password only |
| Projects and groups | Postgres | Always on | — |
| Library: Saved, Collections, Generated | An S3 bucket, pgvector, an embedding model in the gateway | Enable Knowledge | Library leaves the sidebar, and answers have no Save button |
| Files in object storage | An S3 bucket | The same bucket settings as Knowledge, see Where files are kept | Attachments and generated images are kept in Postgres |
| MCP servers | The gateway signing key | On by default; OBLETH_CHAT_CONNECTIONS | With off, Settings › MCP servers and the composer's Tools button are hidden |
| Slurm and Kubernetes clusters | The gateway signing key, and a cluster to reach | On by default; OBLETH_CHAT_CONNECTIONS | With mcp or off, Compute › Clusters is hidden |
| Auto mode for tools | Connections | On by default; OBLETH_CHAT_AUTO_MODE | With off, every tool that may change something asks first |
| Workspaces | Kubernetes, a sandbox namespace, a wildcard preview domain | Enable workspaces | Compute › Workspaces, the composer's Workspace button and the model's Turn on workspace prompt are hidden |
| Research | Workspaces | Comes with workspaces | A project has no Research tab, and the model doesn't suggest research |
| Research run checks | Research, and a model that answers verdicts | On by default; Decisions | Runs are reported without a check |
| Project code | Workspaces, and git 2.47 or later where Chat runs (the published image has it) | Comes with workspaces | A project has no Code tab, and project chats have no Git tab |
| Worker agents | A model marked Worker; workspaces only to read files | Tick Worker in Models, groups and limits | The model has no delegate tool |
| Site name, logo, footer links | Nothing | Branding | The defaults: Obleth Chat and the Obleth mark |
Compute appears in the sidebar when at least one of its tabs, Workspaces or Clusters, is available to that person.
Check what's on
/api/capabilities lists each feature as configured or not; the web app reads it when it starts, and hides what is not set up:
curl -s https://chat.example.edu/api/capabilities | jq .features
{
…
"connections": true,
"clusters": true,
"knowledge": false,
"workspaces": false
}
workspaces is per person: it's true only for a signed-in account allowed to use them (OBLETH_CHAT_SANDBOX_ACCESS), so the unauthenticated curl above always shows false.
Turn a feature off again
Remove its variables and restart Chat. The data stays in Postgres and the bucket. Turn the feature back on and it's there again.
- Knowledge. Collections, saved items and their files are kept.
- Object storage. Attachments and generated images already in the bucket can't be opened while it's off, and Chat answers 503 for them. Keep the bucket settings while any files are in it.
- Workspaces. Volumes stay in the sandbox namespace. Chat doesn't delete any while workspaces are off, and its retention cleanup (
OBLETH_CHAT_SANDBOX_RETENTION_MINUTES) resumes once they're back on. - Clusters. Saved clusters and people's tokens are kept but hidden, and the model is offered no cluster tools.
- All connections. With
OBLETH_CHAT_CONNECTIONS=off, the connections API answers 503 and no tools are offered. Saved servers and tokens stay encrypted in Postgres.
Why some features need others
- Knowledge embeds every document and saved item through the gateway, so it needs the gateway as well as the bucket.
- Connections encrypt tokens with a key derived from the gateway signing key. Without a signing key there are no connections, whatever
OBLETH_CHAT_CONNECTIONSsays. Replacing that key makes saved tokens unreadable, and people enter them again. - Research runs experiments in workspace pods. Slurm runs for research aren't wired up yet.
