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

xolo

module
v0.65.2 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 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
seed command
Command seed generates a Xolo SQLite database populated with fake but coherent data, meant to be used as a fixture for end-to-end tests.
Command seed generates a Xolo SQLite database populated with fake but coherent data, meant to be used as a fixture for end-to-end tests.
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/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.
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 plugin node secrets (internal/core/port.SecretStore) left behind when a pipeline node is removed from a graph, or when the virtual model owning the graph is deleted entirely.
Package secretcleanup removes plugin node secrets (internal/core/port.SecretStore) left behind when a pipeline node is removed from a graph, or when the virtual model owning the graph is deleted entirely.
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/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.
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.
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