Standard

class Standard : LLAMA

Standard — Generic GGUF model runner via local LLAMA-Server process. All AI computation happens in the external LLAMA-Server process. If it OOMs the Tomcat JVM stays alive — only the LLAMA-Server dies.

Plugin Properties

PropertyTypeDefaultDescription
Active_AIStringMust contain llama_std to activate this model
AI_LLAMA_STD_ModelUrlURLQwen3-VL-2B Q4_K_M HuggingFaceDownload URL for the GGUF model file
AI_LLAMA_STD_MmprojUrlURLQwen3-VL-2B mmproj (when using default model)Download URL for the vision projector (mmproj) file. Omit for text-only models (vision features disabled). Auto-set when using the default VL model
AI_LLAMA_STD_MaxPixelsLong3211264Max pixel budget for image downscaling (min 3136)
AI_LLAMA_STD_MaxUploadBytesLong52428800Max raw image size in bytes before decoding (default 50 MB, min 1 MB)
AI_LLAMA_STD_MaxTokensInt2048Maximum tokens to generate per response
AI_LLAMA_STD_MaxRAMPercentDouble101.0RAM usage threshold (%) — blocks requests when exceeded
AI_LLAMA_STD_MaxComputePercentDouble101.0Compute usage threshold (%) — gates on GPU% (CUDA) or CPU% (fallback). Blocks requests when exceeded
AI_LLAMA_STD_MaxCPUPercentDoubleLegacy alias for MaxComputePercent (accepted as fallback)
AI_LLAMA_STD_LlamaReleaseStringb8175llama.cpp release tag for server binary download
AI_LLAMA_STD_ServerUrl_<platform>URL(auto from release tag)Per-platform override for the LLAMA-Server binary URL
AI_LLAMA_STD_UpdateCheckHoursLong24Hours between GitHub release checks (0 = disabled)
AI_LLAMA_STD_NotifyEmailStringEmail address for update notifications
AI_LLAMA_STD_ThinkingModelUrlURLDownload URL for a dedicated thinking model GGUF (optional)
AI_LLAMA_STD_ThinkingMmprojUrlURLDownload URL for the thinking model's mmproj file (optional)
AI_LLAMA_STD_ExternalUrlURLBase URL of an external OpenAI-compatible API; overrides local model
AI_LLAMA_STD_ExternalApiKeyStringAPI key for the external AI (sent as Bearer token)
AI_LLAMA_STD_ExternalModelStringModel name for the external API (e.g. gpt-4o, claude-3-opus)
AI_LLAMA_STD_ExternalNoPromptBooleanfalseWhen true, skips all built-in system-prompt sections (§1–§6) for the external AI — sends only the user message and chat history.
AI_LLAMA_STD_PromptIdentityString(built-in)Override the identity/role sentence ("You are a helpful assistant..."). Use {date} for today's date, {time} for current time.
AI_LLAMA_STD_PromptLocationString(built-in)Override the location-context instruction. Use {location} as placeholder.
AI_LLAMA_STD_PromptSearchString(built-in)Override the CALL:search instruction block (before examples).
AI_LLAMA_STD_PromptThinkingString(built-in)Override the thinking-mode instruction. Use {language} as placeholder.
AI_LLAMA_STD_PromptNoInternetString(built-in)Override the no-internet-access warning.
AI_LLAMA_STD_PromptRulesString(built-in)Override the general rules (language, measurements, independence).
AI_LLAMA_STD_FallbackLocationStringFallback location string used when geolocation fails (e.g. Ansbach, Nürnberger Straße 32, Bayern, Deutschland)
AI_LLAMA_STD_NominatimDomainStringnominatim.openstreetmap.orgDomain for reverse geocoding requests (without path).
AI_LLAMA_STD_IpGeolocationDomainStringipwho.isDomain for IP geolocation requests (without path).
AI_BraveSearch_ApiKeyStringBrave Search API key — enables web search tool for the model
AI_BraveSearch_MaxResultsInt5Maximum number of Brave Search results per query (1–20).
AI_LLAMA_STD_LanguageStringTwo-letter ISO 639-1 code (e.g. de, fr) — forces the AI to respond in this language, skipping auto-detection. Overridden by per-functionality responselanguage toLoad.
AI_LLAMA_STD_SPECIALIST_XXXURLDownload URL for a specialist GGUF model named XXX. The name is chosen by the administrator and matched case-insensitively by the specialist toLoad property.
AI_LLAMA_STD_SPECIALIST_MMProj_XXXURLDownload URL for the specialist XXX's multimodal projector (mmproj). Optional — omit if the specialist model has no vision capability.
AI_LLAMA_STD_EXT_SPECIALIST_XXXURLBase URL of an external OpenAI-compatible API for a specialist named XXX. Matched case-insensitively by the specialist toLoad property.
AI_LLAMA_STD_EXT_SPECIALIST_Key_XXXStringAPI key for the external specialist XXX (sent as Bearer token). Optional.
AI_LLAMA_STD_EXT_SPECIALIST_Model_XXXStringModel name for the external specialist XXX (e.g. gpt-4o). Optional — omit to use the API default.
AI_LLAMA_STD_ExtraParamsJSONExtra parameters appended to every completion request body (e.g. {"top_p":0.9,"seed":42}). Keys messages, stream, model, id_slot, logprobs are silently ignored.

Domains to whitelist

  • github.com — LLAMA-Server binary releases & release-check API

  • api.github.com — latest-release version checks

  • objects.githubusercontent.com — GitHub release asset CDN

  • huggingface.co — GGUF model & mmproj downloads

  • nominatim.openstreetmap.org — reverse geocoding for location context

  • ipwho.is — IP-based geolocation fallback

  • api.search.brave.com — Brave web search (only when AI_BraveSearch_ApiKey is configured)

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Companion for static members.

Functions

Link copied to clipboard
open override fun execute(params: IPluginServletActionParams): IPluginServletActionRetVal

Routes incoming requests to one of three handlers:

Link copied to clipboard
Link copied to clipboard
open override fun getDisplayName(p0: Locale): String
Link copied to clipboard
open override fun getName(): String
Link copied to clipboard
open override fun initialize(configData: IPluginInitializeData)

Reads all plugin properties, downloads model files if needed, launches the LLAMA-Server process, and starts the resource monitor and version-check daemon.

Link copied to clipboard
open fun initPlugin()
Link copied to clipboard
open fun install(p0: IPluginInstallData)
Link copied to clipboard
open override fun shutdown(shutdownData: IPluginShutdownData?)

Tears down all background resources: update checker, resource monitor, streaming sessions, thinking server, and the base-class server process.

open fun shutdown()
Link copied to clipboard

Initiates a task that removes unused images that're expired (msExpirationIDedImages) from the cache (cacheIDedImages).

Link copied to clipboard
open fun uninstall(p0: IPluginUninstallData)
Link copied to clipboard
open override fun validateConfigurationData(configData: IPluginValidationData): IPluginInitializeValidationResult?

Rejects tenant-level installation. CodBi must be installed as a system plugin because its AI services (Whisper, LLAMA) bind local server ports and manage heavyweight processes that would conflict when instantiated once per tenant.