Directories
¶
| Path | Synopsis |
|---|---|
|
Package admin provides the admin REST API and dashboard for GoModel.
|
Package admin provides the admin REST API and dashboard for GoModel. |
|
dashboard
Package dashboard provides the embedded admin dashboard UI for GoModel.
|
Package dashboard provides the embedded admin dashboard UI for GoModel. |
|
Package anthropicapi translates the Anthropic Messages API dialect to and from GoModel's canonical chat types.
|
Package anthropicapi translates the Anthropic Messages API dialect to and from GoModel's canonical chat types. |
|
Package app provides the main application struct for centralized dependency management and lifecycle control of the GoModel server.
|
Package app provides the main application struct for centralized dependency management and lifecycle control of the GoModel server. |
|
Package auditlog provides audit logging for the AI gateway.
|
Package auditlog provides audit logging for the AI gateway. |
|
Package batch provides persistence for OpenAI-compatible batch lifecycle endpoints.
|
Package batch provides persistence for OpenAI-compatible batch lifecycle endpoints. |
|
Package blobstore keeps opaque byte payloads (audio, images, video) outside the database.
|
Package blobstore keeps opaque byte payloads (audio, images, video) outside the database. |
|
Package cache provides a generic key-value store abstraction.
|
Package cache provides a generic key-value store abstraction. |
|
modelcache
Package modelcache provides model-specific cache types and interfaces.
|
Package modelcache provides model-specific cache types and interfaces. |
|
Package conversationstore provides persistence for the OpenAI-compatible Conversations lifecycle endpoints.
|
Package conversationstore provides persistence for the OpenAI-compatible Conversations lifecycle endpoints. |
|
Package core provides core types and interfaces for the LLM gateway.
|
Package core provides core types and interfaces for the LLM gateway. |
|
Package echotest builds echo contexts for handler unit tests so each test states only what differs: method, target, body, and the occasional header or path value.
|
Package echotest builds echo contexts for handler unit tests so each test states only what differs: method, target, body, and the occasional header or path value. |
|
Package expiry orders keys by expiry time, so a bounded cache can find what to drop without scanning its whole map.
|
Package expiry orders keys by expiry time, so a bounded cache can find what to drop without scanning its whole map. |
|
Package filestore persists provider ownership for uploaded files.
|
Package filestore persists provider ownership for uploaded files. |
|
Package gateway contains transport-independent gateway use cases.
|
Package gateway contains transport-independent gateway use cases. |
|
Package httpclient provides a centralized HTTP client factory with unified configuration.
|
Package httpclient provides a centralized HTTP client factory with unified configuration. |
|
Package live provides in-process realtime dashboard event fan-out.
|
Package live provides in-process realtime dashboard event fan-out. |
|
Package llmclient provides a base HTTP client for LLM providers with: - Request marshaling/unmarshaling - Retries with exponential backoff and jitter - Standardized error parsing, including errors embedded in 200-status bodies - Circuit breaking with half-open state protection
|
Package llmclient provides a base HTTP client for LLM providers with: - Request marshaling/unmarshaling - Retries with exponential backoff and jitter - Standardized error parsing, including errors embedded in 200-status bodies - Circuit breaking with half-open state protection |
|
Package mcpgateway aggregates upstream MCP servers behind GoModel's authenticated /mcp endpoints.
|
Package mcpgateway aggregates upstream MCP servers behind GoModel's authenticated /mcp endpoints. |
|
Package mediastore records the media objects (audio, images, video) the gateway keeps outside the database and pairs each record with its bytes in a blob store.
|
Package mediastore records the media objects (audio, images, video) the gateway keeps outside the database and pairs each record with its bytes in a blob store. |
|
Package modeldata provides fetching, parsing, and merging of the external AI model metadata registry (models.json) for enriching GoModel's model data.
|
Package modeldata provides fetching, parsing, and merging of the external AI model metadata registry (models.json) for enriching GoModel's model data. |
|
Package modelselectors normalizes provider/model selector strings shared by model-level admin features.
|
Package modelselectors normalizes provider/model selector strings shared by model-level admin features. |
|
Package observability provides instrumentation for metrics, tracing, and logging.
|
Package observability provides instrumentation for metrics, tracing, and logging. |
|
Package platformdir resolves the OS-conventional per-user directories for GoModel's durable data and caches, used when no explicit path is configured.
|
Package platformdir resolves the OS-conventional per-user directories for GoModel's durable data and caches, used when no explicit path is configured. |
|
Package pluginload opens plugin shared objects (.so) built against the pluginapi contract.
|
Package pluginload opens plugin shared objects (.so) built against the pluginapi contract. |
|
Package plugins hosts the runtime side of GoModel's plugin system: the catalog of plugin types, configured instances, per-phase chains and the Host implementation handed to plugins.
|
Package plugins hosts the runtime side of GoModel's plugin system: the catalog of plugin types, configured instances, per-phase chains and the Host implementation handed to plugins. |
|
builtin
Package builtin lists the plugins compiled into GoModel.
|
Package builtin lists the plugins compiled into GoModel. |
|
builtin/headeredit
Package headeredit is the built-in header_edit plugin: it sets, adds, and removes HTTP headers on the request, the client response, and the upstream provider call.
|
Package headeredit is the built-in header_edit plugin: it sets, adds, and removes HTTP headers on the request, the client response, and the upstream provider call. |
|
builtin/llmaltering
Package llmaltering is the built-in llm_based_altering plugin: it rewrites the text of selected message roles through an auxiliary model, both in the prompt phase (before the provider call) and in the response phase.
|
Package llmaltering is the built-in llm_based_altering plugin: it rewrites the text of selected message roles through an auxiliary model, both in the prompt phase (before the provider call) and in the response phase. |
|
builtin/llmjudge
Package llmjudge is the built-in llm_judge plugin: it asks a second model whether a prompt or a completion violates a policy and blocks, answers, or flags the exchange based on the verdict.
|
Package llmjudge is the built-in llm_judge plugin: it asks a second model whether a prompt or a completion violates a policy and blocks, answers, or flags the exchange based on the verdict. |
|
builtin/presidio
Package presidio is the built-in presidio plugin: it sends prompt and completion text to a Presidio analyzer sidecar, and anonymizes, flags, or blocks the personal data it finds.
|
Package presidio is the built-in presidio plugin: it sends prompt and completion text to a Presidio analyzer sidecar, and anonymizes, flags, or blocks the personal data it finds. |
|
builtin/routeexample
Package routeexample is the built-in cheapest_healthy routing strategy: it sends a virtual model's traffic to the cheapest (or fastest) target whose recent error rate is acceptable, learning target health from the attempt outcomes GoModel reports.
|
Package routeexample is the built-in cheapest_healthy routing strategy: it sends a virtual model's traffic to the cheapest (or fastest) target whose recent error rate is acceptable, learning target health from the attempt outcomes GoModel reports. |
|
builtin/stringreplace
Package stringreplace is the built-in string_replace plugin: it rewrites, flags, or blocks prompt and completion text that matches a list of literal or regular-expression rules, in place for non-streaming responses and in flight for streams.
|
Package stringreplace is the built-in string_replace plugin: it rewrites, flags, or blocks prompt and completion text that matches a list of literal or regular-expression rules, in place for non-streaming responses and in flight for streams. |
|
builtin/systemprompt
Package systemprompt is the built-in system_prompt plugin: it injects, overrides, or decorates the system message before the provider call.
|
Package systemprompt is the built-in system_prompt plugin: it injects, overrides, or decorates the system message before the provider call. |
|
builtin/tagreplace
Package tagreplace is the built-in tag_replace plugin: before the provider call it expands {{gomodel.<tag>}} placeholders in prompt text into request facts such as the resolved model, the user path, or the current date.
|
Package tagreplace is the built-in tag_replace plugin: before the provider call it expands {{gomodel.<tag>}} placeholders in prompt text into request facts such as the resolved model, the user path, or the current date. |
|
exchange
Package exchange maps GoModel's core request and response types to the unified pluginapi types plugins see, and applies plugin edits back.
|
Package exchange maps GoModel's core request and response types to the unified pluginapi types plugins see, and applies plugin edits back. |
|
Package providers provides a factory for creating provider instances.
|
Package providers provides a factory for creating provider instances. |
|
anthropic
Package anthropic provides Anthropic API integration for the LLM gateway.
|
Package anthropic provides Anthropic API integration for the LLM gateway. |
|
audiocpp
Package audiocpp provides audio.cpp (audiocpp_server) integration for the gateway.
|
Package audiocpp provides audio.cpp (audiocpp_server) integration for the gateway. |
|
bailian
Package bailian provides the Alibaba Cloud Bailian (百炼 / DashScope) provider.
|
Package bailian provides the Alibaba Cloud Bailian (百炼 / DashScope) provider. |
|
bedrock
Package bedrock provides Amazon Bedrock integration for the LLM gateway.
|
Package bedrock provides Amazon Bedrock integration for the LLM gateway. |
|
bedrockmantle
Package bedrockmantle provides direct access to Amazon Bedrock's OpenAI-compatible Mantle API.
|
Package bedrockmantle provides direct access to Amazon Bedrock's OpenAI-compatible Mantle API. |
|
chatgpt
Package chatgpt routes Responses API traffic to the ChatGPT Codex backend, billed against a ChatGPT subscription instead of an OpenAI Platform API key.
|
Package chatgpt routes Responses API traffic to the ChatGPT Codex backend, billed against a ChatGPT subscription instead of an OpenAI Platform API key. |
|
chutes
Package chutes provides Chutes AI integration for the LLM gateway.
|
Package chutes provides Chutes AI integration for the LLM gateway. |
|
cohere
Package cohere provides Cohere API v2 integration for the LLM gateway.
|
Package cohere provides Cohere API v2 integration for the LLM gateway. |
|
deepseek
Package deepseek provides DeepSeek API integration for the LLM gateway.
|
Package deepseek provides DeepSeek API integration for the LLM gateway. |
|
elevenlabs
Package elevenlabs provides ElevenLabs voice API integration for the LLM gateway.
|
Package elevenlabs provides ElevenLabs voice API integration for the LLM gateway. |
|
fireworks
Package fireworks provides Fireworks AI API integration for the LLM gateway.
|
Package fireworks provides Fireworks AI API integration for the LLM gateway. |
|
gemini
Package gemini provides Google Gemini API integration for the LLM gateway.
|
Package gemini provides Google Gemini API integration for the LLM gateway. |
|
googlecommon
Package googlecommon holds infrastructure shared by GoModel's Google-backed providers (Gemini AI Studio + Vertex AI).
|
Package googlecommon holds infrastructure shared by GoModel's Google-backed providers (Gemini AI Studio + Vertex AI). |
|
groq
Package groq provides Groq API integration for the LLM gateway.
|
Package groq provides Groq API integration for the LLM gateway. |
|
health
Package health tracks recent request outcomes per provider and model.
|
Package health tracks recent request outcomes per provider and model. |
|
hetzner
Package hetzner provides Hetzner Inference API integration for the LLM gateway.
|
Package hetzner provides Hetzner Inference API integration for the LLM gateway. |
|
jev
Package jev provides TypeSafe's Jev (System One) API integration for the gateway, and covers the self-hosted Kev servers that implement the same API.
|
Package jev provides TypeSafe's Jev (System One) API integration for the gateway, and covers the self-hosted Kev servers that implement the same API. |
|
kilo
Package kilo provides Kilo AI Gateway integration for the LLM gateway.
|
Package kilo provides Kilo AI Gateway integration for the LLM gateway. |
|
kimicode
Package kimicode provides Kimi Code API integration for the LLM gateway.
|
Package kimicode provides Kimi Code API integration for the LLM gateway. |
|
llamacpp
Package llamacpp provides llama.cpp llama-server OpenAI-compatible API integration for the LLM gateway.
|
Package llamacpp provides llama.cpp llama-server OpenAI-compatible API integration for the LLM gateway. |
|
llmd
Package llmd provides integration with the llm-d Router's OpenAI-compatible API.
|
Package llmd provides integration with the llm-d Router's OpenAI-compatible API. |
|
meta
Package meta provides Meta Model API integration for the LLM gateway.
|
Package meta provides Meta Model API integration for the LLM gateway. |
|
minimax
Package minimax provides MiniMax API integration for the LLM gateway.
|
Package minimax provides MiniMax API integration for the LLM gateway. |
|
ollama
Package ollama provides Ollama API integration for the LLM gateway.
|
Package ollama provides Ollama API integration for the LLM gateway. |
|
openai
Package openai provides OpenAI API integration for the LLM gateway.
|
Package openai provides OpenAI API integration for the LLM gateway. |
|
opencodego
Package opencodego provides OpenCode Zen (Go subscription) integration for the LLM gateway.
|
Package opencodego provides OpenCode Zen (Go subscription) integration for the LLM gateway. |
|
providertest
Package providertest holds helpers for provider adapter tests: upstream test servers that record what the adapter sent, and a shared contract check for providers built on the OpenAI-compatible adapter.
|
Package providertest holds helpers for provider adapter tests: upstream test servers that record what the adapter sent, and a shared contract check for providers built on the OpenAI-compatible adapter. |
|
sglang
Package sglang provides SGLang OpenAI-compatible API integration for the LLM gateway.
|
Package sglang provides SGLang OpenAI-compatible API integration for the LLM gateway. |
|
vertex
Package vertex provides Google Vertex AI Gemini integration.
|
Package vertex provides Google Vertex AI Gemini integration. |
|
vllm
Package vllm provides vLLM OpenAI-compatible API integration for the LLM gateway.
|
Package vllm provides vLLM OpenAI-compatible API integration for the LLM gateway. |
|
xai
Package xai provides xAI (Grok) API integration for the LLM gateway.
|
Package xai provides xAI (Grok) API integration for the LLM gateway. |
|
xiaomi
Package xiaomi provides Xiaomi MiMo API integration for the LLM gateway.
|
Package xiaomi provides Xiaomi MiMo API integration for the LLM gateway. |
|
zai
Package zai provides Z.ai API integration for the LLM gateway.
|
Package zai provides Z.ai API integration for the LLM gateway. |
|
Package ratelimit enforces request, token, and concurrency limits for the AI gateway.
|
Package ratelimit enforces request, token, and concurrency limits for the AI gateway. |
|
Package realtime implements a transparent, provider-agnostic websocket reverse proxy for OpenAI-compatible realtime (speech-to-speech) sessions.
|
Package realtime implements a transparent, provider-agnostic websocket reverse proxy for OpenAI-compatible realtime (speech-to-speech) sessions. |
|
Package responsestore provides persistence for OpenAI-compatible Responses lifecycle endpoints.
|
Package responsestore provides persistence for OpenAI-compatible Responses lifecycle endpoints. |
|
Package server provides HTTP handlers and server setup for the LLM gateway.
|
Package server provides HTTP handlers and server setup for the LLM gateway. |
|
Package session identifies the client session a request belongs to, so the gateway can route one conversation consistently and group its audit entries.
|
Package session identifies the client session a request belongs to, so the gateway can route one conversation consistently and group its audit entries. |
|
Package storage provides shared database connections for all features.
|
Package storage provides shared database connections for all features. |
|
mongotest
Package mongotest runs a store's test suite against MongoDB.
|
Package mongotest runs a store's test suite against MongoDB. |
|
sqlutil
Package sqlutil provides small SQL query-building and value-conversion helpers shared by the SQL-backed stores and readers.
|
Package sqlutil provides small SQL query-building and value-conversion helpers shared by the SQL-backed stores and readers. |
|
sqlx
Package sqlx lets one store implementation serve both SQL backends.
|
Package sqlx lets one store implementation serve both SQL backends. |
|
sqlx/sqlxtest
Package sqlxtest runs a store's test suite against every SQL dialect.
|
Package sqlxtest runs a store's test suite against every SQL dialect. |
|
Package tagging labels requests based on configurable HTTP headers.
|
Package tagging labels requests based on configurable HTTP headers. |
|
Package telemetry provides GoModel's OpenTelemetry integration: OTLP trace and metric export for inbound HTTP requests and outbound provider calls.
|
Package telemetry provides GoModel's OpenTelemetry integration: OTLP trace and metric export for inbound HTTP requests and outbound provider calls. |
|
Package usage provides token usage tracking for the AI gateway.
|
Package usage provides token usage tracking for the AI gateway. |
|
Package users manages per-user-path model access policies.
|
Package users manages per-user-path model access policies. |
|
Package validation provides the shared validation error type used by admin-managed resources (aliases, auth keys, guardrails, workflows, model selectors and overrides).
|
Package validation provides the shared validation error type used by admin-managed resources (aliases, auth keys, guardrails, workflows, model selectors and overrides). |
|
Package versioncheck reports whether a newer GoModel release exists.
|
Package versioncheck reports whether a newer GoModel release exists. |
|
Package virtualmodels unifies model aliases (redirects) and model access overrides (policies) behind one entity, the virtual model, persisted in a single virtual_models table.
|
Package virtualmodels unifies model aliases (redirects) and model access overrides (policies) behind one entity, the virtual model, persisted in a single virtual_models table. |
Click to show internal directories.
Click to hide internal directories.