Help us shape the future of Go! Take the 2026 Go Developer Survey

xolo

module
v0.89.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2026 License: AGPL-3.0

README

Logo

Xolo

Guiding your enterprise safely to the realm of AI.

⚠️ Disclaimer

Xolo is currently under active development and should be considered a work in progress. The API is in a preliminary stage and may not be stable. Please be aware that changes, including modifications, updates, or deprecations, can occur at any time without prior notice.

Features

  • Authenticate users via OIDC
  • Proxy OpenAI-compatible LLM requests
  • Control usage with fine-grained quotas for users
  • Monitor everything, keep full visibility over your AI usage
  • Deploy anywhere, self-hosted, on-premise, fully under your control

Documentation

See docs/

License

Xolo is distributed under the AGPL-3.0 license, and will remain so: no proprietary edition, no dual licensing. Contributors keep their copyright; the project uses the DCO, not a CLA.

Plugins are the exception: they may be distributed under any license, as granted by LICENSE-EXCEPTION, and the plugin SDK (pkg/pluginsdk) is under Apache-2.0.

The Xolo name and logo are registered trademarks; TRADEMARK.md says what you may do with them.

See GOVERNANCE.md and CONTRIBUTING.md.

Directories

Path Synopsis
cmd
adoption command
Command adoption exports and verifies the inventory a control plane adopts an instance from, and detaches an instance offline.
Command adoption exports and verifies the inventory a control plane adopts an instance from, and detaches an instance offline.
migrate command
Command migrate diagnoses, plans and applies offline schema upgrades.
Command migrate diagnoses, plans and applies offline schema upgrades.
seed command
Command seed generates a Xolo database populated with fake but coherent data, meant to be used as a fixture for end-to-end tests and load campaigns.
Command seed generates a Xolo database populated with fake but coherent data, meant to be used as a fixture for end-to-end tests and load campaigns.
server command
internal
adapter/eventbus
Package eventbus provides an asynchronous, non-blocking implementation of port.EventEmitter backed by a bounded channel and a worker goroutine that persists events to a port.EventStore.
Package eventbus provides an asynchronous, non-blocking implementation of port.EventEmitter backed by a bounded channel and a worker goroutine that persists events to a port.EventStore.
adapter/eventeval
Package eventeval implements the periodic alert evaluator: it evaluates each enabled alert's threshold rule over the events in its rolling window and drives the ok → pending → firing → resolved state machine, opening incidents and pinning the contributing events.
Package eventeval implements the periodic alert evaluator: it evaluates each enabled alert's threshold rule over the events in its rolling window and drives the ok → pending → firing → resolved state machine, opening incidents and pinning the contributing events.
adapter/events
Package events provides store decorators that emit platform events on create/update/delete operations.
Package events provides store decorators that emit platform events on create/update/delete operations.
adapter/genai
Package genai holds what Xolo shares in building genai provider clients.
Package genai holds what Xolo shares in building genai provider clients.
adapter/mcpclient
Package mcpclient connects to external MCP servers over the Streamable HTTP transport, using the official github.com/modelcontextprotocol/go-sdk.
Package mcpclient connects to external MCP servers over the Streamable HTTP transport, using the official github.com/modelcontextprotocol/go-sdk.
adapter/webhook
Package webhook delivers signed events over HTTPS.
Package webhook delivers signed events over HTTPS.
adoption
Package adoption defines the inventory a control plane adopts an instance from: every projection of the common contract on one snapshot, with the event cursor to resume from.
Package adoption defines the inventory a control plane adopts an instance from: every projection of the common contract on one snapshot, with the event cursor to resume from.
core/eventql
Package eventql implements a small, Loki/LogQL-inspired query language used to filter events.
Package eventql implements a small, Loki/LogQL-inspired query language used to filter events.
core/secretcleanup
Package secretcleanup removes secrets belonging to removed plugin placements.
Package secretcleanup removes secrets belonging to removed plugin placements.
deletion
Package deletion defines the export of the scope of a deleted resource: every row the purge removes, read on one snapshot, secrets left out.
Package deletion defines the export of the scope of a deleted resource: every row the purge removes, read on one snapshot, secrets left out.
http/handler/webui/admin/component
templ: version: v0.3.1001
templ: version: v0.3.1001
http/handler/webui/common/component
templ: version: v0.3.1001
templ: version: v0.3.1001
http/handler/webui/join/component
templ: version: v0.3.1001
templ: version: v0.3.1001
http/handler/webui/org/component
templ: version: v0.3.1001
templ: version: v0.3.1001
http/handler/webui/profile/component
templ: version: v0.3.1001
templ: version: v0.3.1001
http/handler/webui/templui/component/icon
templui component icon - version: v1.5.0 installed by templui v1.5.0 📚 Documentation: https://templui.io/docs/components/icon
templui component icon - version: v1.5.0 installed by templui v1.5.0 📚 Documentation: https://templui.io/docs/components/icon
http/handler/webui/templui/utils
templui util templui.go - version: v1.5.0 installed by templui v1.5.0
templui util templui.go - version: v1.5.0 installed by templui v1.5.0
http/middleware/authn/oidc/component
templ: version: v0.3.1001
templ: version: v0.3.1001
http/middleware/authn/token/component
templ: version: v0.3.1001
templ: version: v0.3.1001
http/middleware/locale
Package locale resolves the language of each request and stores the visitor's explicit choice.
Package locale resolves the language of each request and stores the visitor's explicit choice.
http/middleware/tenant
Package tenant resolves the tenant a request is addressed to and injects it in the request context.
Package tenant resolves the tenant a request is addressed to and injects it in the request context.
i18n
Package i18n holds the message catalogs of the user interface and the language negotiation shared by the adapters.
Package i18n holds the message catalogs of the user interface and the language negotiation shared by the adapters.
pipeline/pipelinetest
Package pipelinetest provides reusable fakes, builders and a test harness for exercising internal/pipeline.Engine in isolation (no HTTP/proxy stack, no GORM/SQLite stores).
Package pipelinetest provides reusable fakes, builders and a test harness for exercising internal/pipeline.Engine in isolation (no HTTP/proxy stack, no GORM/SQLite stores).
pkg
pluginsdk module
plugins
budget-pressure command
dummy-model command
templ: version: v0.3.1001
templ: version: v0.3.1001
fuzzy-evaluator command
templ: version: v0.3.1001
templ: version: v0.3.1001
internal/cmd/prompt-guard-corpus command
Command prompt-guard-corpus builds and measures the labelled corpus of the prompt-guard plugin.
Command prompt-guard-corpus builds and measures the labelled corpus of the prompt-guard plugin.
internal/cmd/train-classifier command
Command train-classifier rebuilds the Naive Bayes model embedded in the text-classifier plugin from the labelled corpus next to it.
Command train-classifier rebuilds the Naive Bayes model embedded in the text-classifier plugin from the labelled corpus next to it.
internal/complexity
Package complexity scores how demanding a prompt is for a language model, from its text alone, so that a router can pick a model of matching power.
Package complexity scores how demanding a prompt is for a language model, from its text alone, so that a router can pick a model of matching power.
internal/promptguard
Package promptguard scores a text for prompt injection attempts without calling any model.
Package promptguard scores a text for prompt injection attempts without calling any model.
internal/promptguard/data
Package data embeds the trained prompt-guard model.
Package data embeds the trained prompt-guard model.
internal/promptguard/synth
Package synth builds the labelled corpus that trains and evaluates prompt-guard, on the pattern of go-anon-datasets: a language model may write the skeletons of attacks and hard negatives, but the code fills in the words, applies the obfuscations and derives the labels.
Package synth builds the labelled corpus that trains and evaluates prompt-guard, on the pattern of go-anon-datasets: a language model may write the skeletons of attacks and hard negatives, but the code fills in the words, applies the obfuscations and derives the labels.
internal/requesttext
Package requesttext extracts the textual content of an OpenAI-compatible chat request so that evaluation plugins can score, classify or measure it without re-implementing the messages schema.
Package requesttext extracts the textual content of an OpenAI-compatible chat request so that evaluation plugins can score, classify or measure it without re-implementing the messages schema.
internal/uilocale
Package uilocale renders a plugin UI in the language of the console page that embeds it.
Package uilocale renders a plugin UI in the language of the console page that embeds it.
llm-classifier command
mcp-bridge command
templ: version: v0.3.1001
templ: version: v0.3.1001
prompt-guard command
pseudonymizer command
templ: version: v0.3.1001
templ: version: v0.3.1001
script-processor command
templ: version: v0.3.1001
templ: version: v0.3.1001
system-prompt command
templ: version: v0.3.1001
templ: version: v0.3.1001
text-classifier command
time-restriction command
templ: version: v0.3.1001
templ: version: v0.3.1001
templx
form/renderer/templui
templ: version: v0.3.1001
templ: version: v0.3.1001

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL