How-to

Use the in-product agent

The agent is a client of the control plane. It does not have a privileged back-channel. Every tool is a REST call under your RBAC, written to the audit trail.

Surfaces

SurfaceWhereWhat it is for
Chat widgetEvery authenticated pagePage-aware questions. Optional tool use.
Agent consoleAgent → ConsoleLonger work — “build this integration.”
SettingsAgent → SettingsLLM providers. API keys are write-only.
SkillsAgent → SkillsPlaybooks with tool allow-lists. GET /agent/skills
ToolsAgent → ToolsThe catalog. GET /agent/tools
MCPAgent → MCPManifest + a ready-to-copy mcp.json. GET /agent/mcp

Connect a provider

Add a hosted or local OpenAI-compatible runtime. Mark one provider default per tenant.

If Sirius runs in a container and the model runs on your laptop, localhost inside the container is the container. Use the host-gateway hostname your runtime documents (often host.docker.internal) and the API port, with a /v1 prefix.

Set Model to an id the runtime has actually loaded. Small models will call a tool and then fail to summarize the result — that is a model limit, not a Sirius bug. Confirm the tool ran (tool_calls[].status: 200) before you debug the platform.

Give local and reasoning models headroom. A 60-second client timeout looks like context deadline exceeded on a cold load. The bundled Compose stack uses a longer agent HTTP timeout; raise it if your hardware is slower.

How tools are chosen

The catalog is large. The agent does not send every tool on every turn. It ranks a short list against the current page, your messages, and the latest tool output. You can still ask it to use a named skill.

Skills are the right way to constrain blast radius: a playbook plus an allow-list. Prefer a skill over “do whatever you need.”

Call the same surface yourself

curl -s "$SIRIUS/agent/tools?category=builder&read_only=true" \
  | jq '.tools[] | {name, method, path, permission}'

curl -s "$SIRIUS/agent/skills"
curl -s "$SIRIUS/agent/mcp"

curl -s -X POST "$SIRIUS/agent/chat" \
  -H 'content-type: application/json' \
  -d '{"message":"List integrations that are down","page":"/monitor"}'

Attribute agent actions:

X-Sirius-Agent-ID: my-bot
X-Sirius-Actor-Type: agent

An MCP host issues the bound REST request for each tool. Same permissions, same audit. See the REST API for the contract those tools call.