Integrations

Set Seligo up as the model provider inside the tools you already use. Every step below runs against the live Seligo platform — the same catalogue, provenance, budgets and access rules as the API and the chat window. There is no stub in this path.

Allow about ten minutes per tool. Follow the sections in order; each one ends with something you can see, so a failure is obvious before you move on.

IntegrationWhere it runsWhat you get
Visual Studio Code VS Code, VSCodium, Cursor, Windsurf Extension seligo.seligo — Seligo models in the native picker with provenance in the model name, a @seligo participant that shows provenance on every answer, a turn ledger and a session spend counter
OpenCode CLI / TUI coding agent @seligo/opencode-provider — live model discovery, provenance in the model name, per-turn provenance toast
OpenClaw Self-hosted agent gateway @seligo/openclaw-provider — live discovery, provenance, policy-honest model list
Microsoft 365 Word, Excel, Outlook Seligo task pane — reads/writes the document, streams from Seligo, shows the provenance card

Before you start

NeedWhyCheck
A funded Seligo org and a scoped rk- key Authenticates every request; billing and access rules hang off it console.seligo.cloud → Keys
Node.js 24.16 or newer OpenCode plugins and OpenClaw both require it node --version
VS Code 1.104 or newer The extension uses the stable language-model API code --version
OpenCode on your PATH Host for the Seligo provider plugin opencode --version
OpenClaw 2026.9.8 The plugin API is version-pinned; newer builds may drift openclaw --version
A Microsoft 365 tenant (M365 only) Add-ins are sideloaded per user or deployed tenant-wide Word, Excel or Outlook signed in
Keep the key out of this page. Do not paste an rk- key into a chat, a document, a commit or a support message. Each integration below stores it in the host’s own secret store or reads it from an environment variable.

1. Get a key

  1. Sign up or sign in at console.seligo.cloud. Signup creates a Seligo org — the isolation boundary for billing, keys and usage.
  2. Open Billing and add funds. Usage is metered in EUR, and requests fail closed when the balance runs out.
  3. Open Keys and create a key. It looks like rk-…. Copy it once, into the tool you are configuring.

If you need a colleague to demo on their own machine, invite them as a member of the org and have them create their own key, so usage and budgets stay attributable. See Getting started for the full org setup.

2. Demo run sheet

Work top to bottom. Each line is one visible result; if a line does not hold, stop and use the troubleshooting table before continuing.

  1. Key — GET /v1/models returns your catalogue.
  2. VS Code — the model picker lists a Seligo group, and @seligo answers with a provenance footer.
  3. OpenCode — opencode models seligo lists seligo/… entries, and one turn streams an answer.
  4. OpenClaw — openclaw models list --refresh --provider seligo lists the catalogue, and one agent turn completes.
  5. Microsoft 365 (optional) — the pane lists models after sign-in and completes a streamed turn.

The catalogue size depends on the org, the key and the live supplier set; it changes between checks. Never quote a fixed model count in a demo.

3. Visual Studio Code

The extension makes Seligo a model provider inside the editor’s own chat, so you keep the agent you already use. The status bar carries the zone chip and, beside it, a running session spend counter (€0.0015 · 1.5k) that updates as each turn completes — the glanceable number, while the turn ledger stays the audit view.

Download the current build:

Download the Seligo extension  seligo-0.5.2.vsix · 53 KB · Apache-2.0

Install it from the command line:

code --install-extension seligo-0.5.2.vsix

Or in the editor: Extensions → … → Install from VSIX…. VSCodium, Cursor and Windsurf use the same command with their own CLI name (codium, cursor, windsurf).

Then store your key once, from the Command Palette:

Seligo: Set API key

The key goes into the editor’s secret store — never into settings.json. If you reinstall a newer build, install it over the top (--force): uninstalling first deletes the secret store and your key with it.

Pick a model

Open the chat model picker. Every Seligo model carries its provenance in the name, with price and context on the row:

🟦 EU · standard · deepseek-v3        €0.24 / €0.90 per M · 163,840 ctx

Ask with provenance on the answer

Type @seligo in the chat to talk to Seligo directly. Each answer ends with the model that produced it, where it ran, the retention posture, the price and the response time:

> deepseek-v3 · EU · ZDR-confirmed · €0.24 / €0.90 per M · 1.4 s

This is the difference between the two ways of using the extension: in ordinary chat the provenance is on the model you selected; with @seligo it is on each answer, so a conversation that switches models stays readable.

Audit what happened

Run Seligo: Show provenance to open the panel. It lists every model your key can use, and a turn ledger of the requests this workspace has sent: model, zone, retention, tokens, cost, latency and outcome. Seligo: Export turn ledger copies it as markdown.

The ledger holds metadata only — no prompts and no responses — so it can be shared without carrying conversation content. The status bar shows the zone chip and a running session spend counter, which updates as each turn completes.

Requirements and known limits

4. OpenCode

Install Seligo for OpenCode with one command, the same way you install OpenCode itself — a curl | bash installer:

curl -fsSL https://docs.seligo.cloud/downloads/seligo-opencode-install.sh | bash

The installer checks Node.js and OpenCode, downloads and verifies the first-party Seligo plugin (SHA-256), registers the seligo provider in ~/.config/opencode/opencode.json (baseURL + your live catalogue, pinned — the key is never written to config), stores your key once in OpenCode’s auth store (~/.local/share/opencode/auth.json, chmod 600), and verifies the wiring. It backs up any existing config first. Run it once; opencode started from anywhere then lists Seligo.

You will be prompted to paste your rk- key, or pass it on the command line:

curl -fsSL https://docs.seligo.cloud/downloads/seligo-opencode-install.sh | bash -s -- --key "rk-…"

Options: --no-store-key (use SELIGO_API_KEY from the environment only), --no-modify-config (plugin only), --uninstall (remove everything, keeping your other providers), and --yes. The key is read from SELIGO_API_KEY (env) first, then the auth store.

Verify

List the live catalogue — the models are whatever your key may use:

opencode models seligo

The catalogue lists seligo/<model-id> entries. In the TUI, a provenance toast appears when a Seligo model answers, using the plain-language register from the catalogue. A model your organisation denies is absent, not greyed. Only chat-capable models are listed; embedding and audio rows are filtered out so the picker never offers something that cannot respond.

On OpenCode 1.18 the provider is registered by the config; the plugin file is not loaded from the plugins directory in that version (its presence there breaks discovery), so the installer keeps it as a verified reference copy. Newer OpenCode versions and the published npm package use the plugin for live discovery and provenance directly.

5. OpenClaw

OpenClaw keeps the agent loop; Seligo supplies the governed model plane. The plugin is version-pinned to the OpenClaw plugin API, so install OpenClaw 2026.9.8 for this demo:

npm install -g openclaw@2026.9.8
openclaw --version

Path A — from the Seligo repository

Use this if you have access to the private Gitea repository. The launcher builds and packs the workspace plugin, then installs that artifact into an isolated state directory:

cd seligo
pnpm install
export SELIGO_API_KEY="rk-…"
integrations/openclaw/run.sh install         # once: install + enable the provider
integrations/openclaw/run.sh models          # the live catalogue
integrations/openclaw/run.sh ask "hello"     # one agent turn
integrations/openclaw/run.sh dashboard       # Control UI

The launcher keeps its own state under integrations/openclaw/state, so your personal OpenClaw profile is untouched.

Path B — from the registry

Use this once the package is published. Check first:

npm view @seligo/openclaw-provider version

Not published as of 2026-10-21 — this command returns 404 today, and there is no ClawHub listing. Use Path A or Path C.

openclaw plugins install @seligo/openclaw-provider
openclaw plugins enable seligo
openclaw gateway restart
openclaw models list --refresh --provider seligo

Path C — from the hosted download (fallback)

Use this with no repository access and no registry package. Install the archive, enable the plugin, and store the key in OpenClaw’s credential store so the agent loop can resolve seligo/… model references:

openclaw plugins install ./seligo-openclaw-provider-0.1.0.tgz --force --accept-capabilities
openclaw plugins enable seligo

printf '%s' "rk-…" | openclaw models auth paste-api-key --provider seligo
openclaw models list --refresh --provider seligo

Download: seligo-openclaw-provider-0.1.0.tgz · 8 KB

OpenClaw warns that a local archive is outside ClawHub review — that is expected for a first-party build installed from this page.

What you should see

openclaw models list --refresh --provider seligo prints the catalogue with context windows. openclaw agent --model seligo/… -m "hello" completes one turn; openclaw dashboard opens the Control UI. If the gateway is not running, start it with openclaw gateway run.

6. Microsoft 365

The add-in is served from m365.seligo.cloud and signs in with your Seligo account — the same session as the console and chat, so no API key is stored in the browser. This needs a Microsoft 365 tenant; it does not work with a personal account that cannot sideload add-ins.

Download the manifest for your host:

HostManifest
Word, Excel manifest.xml
Outlook manifest.outlook.xml

Sideload for yourself

Then open Home → Seligo → Open Seligo. Sign in with your Seligo account (email, password, TOTP). The pane lists the catalogue; the Context control switches between the selection and the whole document, and Insert (Word) or Apply to sheet (Excel) writes the answer back.

Working in the pane

Deploy to a tenant

For everyone in an organisation, upload the same manifest through the Microsoft 365 Admin Center → Settings → Integrated apps → Upload custom apps. Tenant deployment is an administrator action; the pane itself is unchanged.

7. Verify the live path

From a Seligo checkout, one command checks the key, the catalogue, the provenance block and a real streamed turn:

cd integrations
make live-check          # key, catalogue, provenance block, real streamed turn
make provenance-matrix   # which provenance cells the live catalogue evidences

live-check uses real inference with a bounded token budget. It exits with distinct codes, so a failure names its cause:

ExitMeaning
2Missing or malformed key
3401 — key rejected
4402/403 — balance, budget or access
5Network failure
6Empty catalogue
7Stream produced no content

Without a checkout, the equivalent first check is one request:

curl -s "https://api.seligo.cloud/v1/models" \
  -H "authorization: Bearer rk-…"

8. What every integration shares

9. Session spend

“Session” is Seligo’s unit of attribution: a conversation in the chat window, an agent run in OpenCode or OpenClaw, or simply a key’s traffic within a 30-minute idle window. You never have to declare one — the router mints a sticky session id per API key — but a host that manages its own conversations should send its own id as session_id so the numbers line up with what the user sees.

10. Troubleshooting

SymptomCause and fix
No seligo/… models in any host The key is missing or invalid. Run make live-check, or the curl check above.
Catalogue is empty but the key works The key has no permitted models (org access rules). Check the console.
401 invalid_key Key revoked or expired. Create a new one in the console.
403 insufficient_balance Top up in Billing.
403 budget_cap Raise the org or key budget cap.
VS Code picker stays empty The status-bar chip says why. Seligo: Show log has one metadata-only line per request and failure.
VS Code agent mode lists nothing No catalogue row for your key declares tool calling. Chat and @seligo still work; do not fake it with assumeToolCalling unless you accept the claim.
OpenCode: Provider not found: seligo The installer did not finish (or the key is not in the auth store). Re-run curl -fsSL …/seligo-opencode-install.sh | bash, or check ~/.local/share/opencode/auth.json holds a funded rk- key. Also ensure no seligo.js / seligo/ files are left in ~/.config/opencode/plugins/ — on OpenCode 1.18 their presence breaks discovery.
OpenCode: cost view is empty The installer pins the catalogue at install time. Re-run it to refresh the pinned list (or use the npm plugin once published).
OpenClaw: no models, or the agent cannot resolve seligo/… The key is not in OpenClaw’s credential store. Re-run openclaw models auth paste-api-key --provider seligo, then openclaw models list --refresh --provider seligo.
OpenClaw: gateway not reachable Start it with openclaw gateway run; check the gateway log.
OpenClaw: models vanish after an upgrade The plugin API drifted. Pin openclaw@2026.9.8.
M365: pane blank or sign-in loops Sign in from the pane with your Seligo account. The session cookie is shared across *.seligo.cloud, so signing in to the console first also helps.
M365: pane cannot reach /api The pane must be served from m365.seligo.cloud. Re-download the manifest rather than editing the origin.
M365: signing in opens the Seligo console instead of the pane Office is using a manifest it cached from an earlier version. Office caches a manifest per add-in version and keeps the one it loaded when the app started, so a stale entry survives a re-install at the same version. Quit the Office app completely (Cmd+Q on macOS — closing the window is not enough), then reopen it. If it persists, remove the add-in from My Add-ins and upload the current manifest again.
M365: “Seligo had a server error. Retry shortly” The pane reached Seligo and Seligo failed — this is not an add-in problem. The usual cause is a platform-side fault such as a full host disk, which stops the database writing and fails every request. Retry once; if it repeats, contact support rather than changing anything in the pane.
Stream shows reasoning but no answer A reasoning model spent the token budget on reasoning. Pick another model or raise max_tokens.

11. Downloads

ArtifactUseSize
seligo-opencode-install.sh OpenCode — one-line installer (curl | bash) 14 KB
seligo-0.5.2.vsix VS Code, VSCodium, Cursor, Windsurf 53 KB
seligo-opencode-provider-0.1.0.tgz OpenCode plugin (reference copy; the installer verifies and uses this) 7 KB
seligo-openclaw-provider-0.1.0.tgz OpenClaw plugin 8 KB
m365/manifest.xml Word and Excel add-in manifest 6 KB
m365/manifest.outlook.xml Outlook add-in manifest 4 KB

Verify a download before installing it:

shasum -a 256 seligo-opencode-install.sh
# 98042531a1bffa1d19e0daaa64fe7de5753f9d51c773c8c0fbe3345874e5bfc
ArtifactSHA-256
seligo-opencode-install.sh 98042531a1bffa1d19e0daaa64fe7de5753f9d51c773c8c0fbe3345874e5bfc
seligo-0.5.2.vsix e81ddf3a63d0cd41861e3788c17ff3b40642fa526e5567cb4d927aef04159d4d
seligo-opencode-provider-0.1.0.tgz fd2447891015112c793e2174ea082b15053b35970978f4cb4a919a78db891f3a
seligo-openclaw-provider-0.1.0.tgz 6b1f3b8496338abb059137c78a61ac97263fba410b688be32d1b7a67a4509346
m365/manifest.xml ce8113a895b5513ec3b78107f091ac0128aac2119d12d8588fef70be82b4ae01
m365/manifest.outlook.xml ae28b78a3dad24bc0886cd9faa0982134a9ed7646ee00b9797a3fb4f1c54e0b4
Offline backup: a bundled OpenAI-compatible stub lets you exercise the integration surfaces with no key and no network. It is a test fixture, not the product, and it is not part of this setup path.