Integrations / compatibility

The support matrix, not a roadmap.

An integration is a boundary with a failure mode. This page lists what exists, what has been tested, what has only been implemented, and what is explicitly unsupported.

Local testsLive edges unverifiedNo MCPNo plugin market

How to read this page

“Implemented” means the code path exists. “Tested” means an automated test exists and passed locally. “Verified” is reserved for the environment named in the claim. “Unverified” means the adapter exists but the real external service was not exercised.

This is a compatibility page. Each edge is labeled by the evidence behind it.

Support matrix

18 integrations shown.

Model

OpenAI-compatible provider

Chat completions with tool calling. Tested against a fake HTTP server; no live provider call.

TestedLive unverified

Model

Local OpenAI-compatible endpoint

Loopback HTTP is allowed. Useful for local models that expose a compatible API. No live endpoint is bundled.

ImplementedUnverified

Channel

Telegram Bot API

Long polling, private chats only, pairing required, groups ignored. Tested against a fake Bot API.

TestedLive unverified

Channel

CLI

Local commands for init, serve, status, chat, sessions, approvals, doctor, and secrets.

ImplementedPartial tests

Runtime

Gateway HTTP API

Loopback JSON API with bearer auth. The CLI is a client. Endpoint coverage is tested at the handler level.

Tested

Runtime

SQLite with FTS5

WAL mode, integrity check on startup, derived search index, rebuild through doctor --repair.

Tested

Runtime

Docker sandbox contract

Fail-closed when Docker is unavailable. No execution tool and no escape test suite.

Contract tested

Runtime

Encrypted vault

Argon2id and AES-GCM. New writes use the DreenMind AAD; legacy vault reads are supported.

Tested

OS

Linux

Primary target. Cross-build and local tests are part of the verification path.

Build verified

OS

Windows

Builds and tests run locally. Untrusted execution remains disabled.

Build verifiedExecution disabled

Unsupported

MCP

No MCP client or server. Tool loading is static and deny-by-default.

Not supported

Unsupported

Native Anthropic API

The provider contract is OpenAI-compatible. A native Anthropic adapter is not implemented.

Not supported

Unsupported

Slack, Discord, email

No additional channels. Telegram is the only optional network channel.

Not supported

Unsupported

Streaming responses

Provider responses are non-streaming. The CLI does not render token-by-token output.

Not supported

Unsupported

Embeddings and vector memory

Search is FTS5. There is no embedding pipeline or semantic recall.

Not supported

Unsupported

Images and audio

No multimodal input or output. The provider contract is text and tool calls.

Not supported

Unsupported

Telegram groups

Group and channel chats are ignored. Pairing only applies to private chats.

Not supported

Unsupported

Multi-user and remote nodes

One operator, one gateway, one state owner. No shared tenancy or remote worker fleet.

Not supported

What an integration must prove

  • Authentication: who can call it, and what happens when the credential is missing or wrong.
  • Failure model: timeout, retry, partial output, and what the gateway records.
  • Data boundary: what leaves the machine, and what is stored locally.
  • Test evidence: a deterministic test where possible, and a named environment where not.
  • Status label: implemented, tested, verified, unverified, partial, or planned.

An integration without those five answers is a demo, not a supported edge.

Provider behavior

The provider adapter speaks OpenAI-compatible chat completions with tool calling. Requests have a 60-second timeout. The default maximum output is 1024 tokens. Errors are sanitized before they are recorded.

There are no automatic retries, no idempotency keys, and no streaming. A failed provider call becomes a recorded failure, not a silent second attempt. The model name is configuration, not a guarantee of capability.

Telegram behavior

The adapter uses long polling. It accepts private chats only. A chat must be paired before messages are processed. Pairing codes are short-lived, limited to three active codes, and protected by an attempt limit.

Duplicate updates are suppressed for seven days. Replies are plain text and chunked under the Bot API message limit. Approval decisions are not exposed as Telegram buttons; use the CLI or HTTP API. The live Bot API has not been exercised.

Failure behavior

FailureBehavior
Provider error or timeoutRecorded as a failed turn; the raw provider body is not trusted.
Tool timeoutRecorded as a tool error; no silent retry.
Approval timeoutThe call is denied after the 60-second wait.
Sandbox unavailableThe sandbox path fails closed; no host fallback.
Database corruptionStartup integrity check fails; the gateway does not reset state.
Search index damagedSearch is degraded until doctor --repair rebuilds it.
Gateway not runningCLI requests fail; they are not queued in memory.

Related pages