Each capability is a config seam: off by default, generic, and yours to turn on. Nothing below is hardcoded to any deployment.
The core experience — and it is genuinely nice to use.
Answers stream token by token. Every tool call surfaces as a labelled chip; runs of read/search steps collapse into a single "gathered context" row so long investigations stay scannable.
A semantic-token palette with dark, light, and system modes — applied before first paint, no white flash. Admins get a Theme dashboard: templates, code themes, and markdown accents.
Let the agent do things — on your terms.
List a tool under approval_required and the turn pauses with a card:
the exact command, and Approve & run / Deny — decided by the thread owner or an admin.
No decision in five minutes denies; a page refresh keeps the card decidable.
Channels, embedding, and attribution.
@mention the bot in an MR/PR or issue comment; it replies inline with one-conversation-per-target memory. HMAC-verified, allowlisted, Enterprise-ready.
Load with ?embed or in an iframe and the chrome yields to the host portal — drop the chat into any app you already have.
Every turn is attributed to its surface — web, embed, a channel, or a custom label. The admin usage table grows per-origin cost columns automatically.
Turn the agent into an operator — with a toolbox and a leash.
Declare a set of GitLab/GitHub repos and the agent keeps them checked out — investigate, branch, commit, and (per the instance's autonomy setting) push and open MRs/PRs.
Instances declare the CLIs the agent may use. Catalog entries like
kubectl@…, helm@…, terraform@…
are fetched once with vendor-checksum verification; custom binaries by url + sha256.
Bring your own model access.
The default path — an OAuth token or API key and you are running.
Offer Bedrock inference profiles in the picker; auth from the pod's AWS credentials.
An engine seam keeps the door open to additional backends behind one interface.