mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-11-01 16:27:21 +00:00
1748 lines
105 KiB
Lua
1748 lines
105 KiB
Lua
require("icon")
|
|
|
|
-- ------
|
|
-- This is an example of a configuration plugin. Please replace
|
|
-- the placeholders and assign a valid ID.
|
|
-- All IDs should be lower-case.
|
|
-- ------
|
|
|
|
-- The ID for this plugin:
|
|
ID = "00000000-0000-0000-0000-000000000000"
|
|
|
|
-- The icon for the plugin:
|
|
ICON_SVG = SVG
|
|
|
|
-- The name of the plugin:
|
|
NAME = "<Company Name> - Configuration for <Department Name>"
|
|
|
|
-- The description of the plugin:
|
|
DESCRIPTION = "This is a pre-defined configuration of <Company Name>"
|
|
|
|
-- The version of the plugin:
|
|
VERSION = "1.0.0"
|
|
|
|
-- When this plugin was last changed, in UTC, formatted as YYYY-MM-DDTHH:MM:SSZ. Optional.
|
|
LAST_CHANGED = "2025-12-31T12:00:00Z"
|
|
|
|
-- The type of the plugin:
|
|
TYPE = "CONFIGURATION"
|
|
|
|
-- True when this plugin is deployed by an enterprise configuration server:
|
|
DEPLOYED_USING_CONFIG_SERVER = false
|
|
|
|
-- The priority of this configuration plugin. Optional, defaults to 0.
|
|
--
|
|
-- It only matters when your organization deploys more than one configuration
|
|
-- plugin. A plugin with a higher priority is applied later and therefore wins
|
|
-- whenever two of your configuration plugins manage the same setting or define
|
|
-- the same object, e.g. the same LLM provider.
|
|
--
|
|
-- A typical setup: deploy one base configuration for everybody with PRIORITY = 0
|
|
-- and one configuration per department with PRIORITY = 100. The department
|
|
-- configuration may then override the default model, while everything it does
|
|
-- not mention stays at the values of the base configuration.
|
|
--
|
|
-- Give two plugins that must override each other different priorities. With an
|
|
-- equal priority, the order is stable but arbitrary.
|
|
--
|
|
-- The priority never lifts a local configuration plugin above one of your
|
|
-- organization: configuration plugins your IT department deployed are always
|
|
-- applied first, whatever a local plugin declares.
|
|
PRIORITY = 0
|
|
|
|
-- The authors of the plugin:
|
|
AUTHORS = {"<Company Name>"}
|
|
|
|
-- The support contact for the plugin:
|
|
SUPPORT_CONTACT = "<IT Department of Company Name>"
|
|
|
|
-- The source URL for the plugin. Can be a HTTP(S) URL or an mailto link.
|
|
-- You may link to an internal documentation page, a Git repository, or
|
|
-- to a support or wiki page.
|
|
--
|
|
-- A mailto link could look like:
|
|
-- SOURCE_URL = "mailto:helpdesk@company.org?subject=Help"
|
|
SOURCE_URL = "<Any internal Git repository>"
|
|
|
|
-- The categories for the plugin:
|
|
CATEGORIES = { "CORE" }
|
|
|
|
-- The target groups for the plugin:
|
|
TARGET_GROUPS = { "EVERYONE" }
|
|
|
|
-- The flag for whether the plugin is maintained:
|
|
IS_MAINTAINED = true
|
|
|
|
-- When the plugin is deprecated, this message will be shown to users:
|
|
DEPRECATION_MESSAGE = ""
|
|
|
|
CONFIG = {}
|
|
CONFIG["LLM_PROVIDERS"] = {}
|
|
|
|
-- An example of a configuration for a self-hosted server:
|
|
-- CONFIG["LLM_PROVIDERS"][#CONFIG["LLM_PROVIDERS"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["InstanceName"] = "<user-friendly name for the combination of server and model>",
|
|
-- ["UsedLLMProvider"] = "SELF_HOSTED",
|
|
--
|
|
-- -- Allowed values for Host are: LM_STUDIO, LLAMA_CPP, OLLAMA, VLLM, and LLMMAN
|
|
-- ["Host"] = "OLLAMA",
|
|
-- ["Hostname"] = "<https address of the server>",
|
|
--
|
|
-- -- Optional: Additional parameters for the API.
|
|
-- -- Please refer to the documentation of the selected host for details.
|
|
-- -- Might be something like ... \"temperature\": 0.5 ... for one parameter.
|
|
-- -- Could be something like ... \"temperature\": 0.5, \"max_tokens\": 1000 ... for multiple parameters.
|
|
-- -- Recognized reasoning parameters, such as reasoning_effort, thinking, think, and chat_template_kwargs.enable_thinking, may affect whether AI Studio shows the reasoning icon for this provider.
|
|
-- -- Please do not add the enclosing curly braces {} here. Also, no trailing comma is allowed.
|
|
-- ["AdditionalJsonApiParameters"] = "",
|
|
--
|
|
-- -- Optional: tokenizer path for this provider relative to the plugin directory.
|
|
-- -- ["TokenizerPath"] = "",
|
|
--
|
|
-- -- Optional: replace the built-in provider logo with a project-specific icon.
|
|
-- -- The path is relative to this plugin.lua and must point to an SVG file inside
|
|
-- -- this plugin directory, for example: assets/project-icon.svg. Absolute paths,
|
|
-- -- parent-directory segments (..), links leaving the plugin directory, files
|
|
-- -- larger than 32 KiB, and files which are not well-formed SVG are rejected.
|
|
-- -- An invalid or missing icon logs a warning while the provider still loads
|
|
-- -- with its built-in logo. AI Studio shows every icon in an isolated image
|
|
-- -- element, so scripts or external references inside an SVG never run; for the
|
|
-- -- same reason, the icon cannot inherit colors from the app and has to bring
|
|
-- -- its own. Provide a single icon with enough contrast on both light and dark
|
|
-- -- surfaces.
|
|
-- -- ["IconPath"] = "assets/project-icon.svg",
|
|
--
|
|
-- -- Optional: expert overrides for the model behind this provider. Missing keys keep the
|
|
-- -- automatic answer, and each key contradicts only what it names.
|
|
-- --
|
|
-- -- What the model can do. Allowed keys are exactly:
|
|
-- -- AUDIO_INPUT, FUNCTION_CALLING, MULTIPLE_IMAGE_INPUT, SPEECH_INPUT, VIDEO_INPUT,
|
|
-- -- OPTIONAL_REASONING, ALWAYS_REASONING, REASONING_BY_DEFAULT
|
|
-- -- Allowed values are booleans only.
|
|
-- -- For default-on reasoning (thinking), set OPTIONAL_REASONING and REASONING_BY_DEFAULT to true.
|
|
-- -- ALWAYS_REASONING means the model cannot disable reasoning (thinking).
|
|
-- --
|
|
-- -- How much the model reads and how many images it takes. Allowed keys are exactly:
|
|
-- -- CONTEXT_WINDOW, MAX_IMAGES_PER_MESSAGE, MAX_IMAGES_PER_REQUEST
|
|
-- -- Allowed values are whole numbers: tokens greater than zero for the window, and images of
|
|
-- -- zero or more for the two limits, where zero means the model is configured to take none.
|
|
-- -- These are the same key names a model plugin uses for the same questions, but they say
|
|
-- -- something narrower here: a model plugin describes a model wherever it is reached, while
|
|
-- -- these describe this one installation of it. State what your deployment actually does --
|
|
-- -- for a self-hosted engine, the window your operator configured rather than the one the
|
|
-- -- model card advertises.
|
|
-- -- CONTEXT_WINDOW feeds the token counter AI Studio shows below the chat input, so a wrong
|
|
-- -- number here misleads users about how much room they have left.
|
|
-- -- ["CapabilityOverrides"] = {
|
|
-- -- ["VIDEO_INPUT"] = false,
|
|
-- -- ["CONTEXT_WINDOW"] = 32768,
|
|
-- -- ["MAX_IMAGES_PER_REQUEST"] = 4,
|
|
-- -- },
|
|
--
|
|
-- -- Optional: Hugging Face inference provider. Only relevant for UsedLLMProvider = HUGGINGFACE.
|
|
-- -- Allowed values are: BASETEN, CEREBRAS, COHERE, DEEPINFRA, FEATHERLESS_AI, FIREWORKS, GROQ,
|
|
-- -- NOVITA, NSCALE, OVHCLOUD, PUBLIC_AI, SCALEWAY, TOGETHER_AI, ZAI
|
|
-- -- Instead of naming a provider, you may let Hugging Face choose one:
|
|
-- -- AUTOMATIC (the fastest), CHEAPEST, or PREFERRED (the order configured in your
|
|
-- -- Hugging Face account). An automatic choice also fails over to another provider when the
|
|
-- -- selected one is unavailable.
|
|
-- -- Note: Hugging Face stopped routing HYPERBOLIC, SAMBANOVA, and NEBIUS_AI_STUDIO in July
|
|
-- -- 2026, and HF_INFERENCE_API serves no models we can reach. Configurations still naming one
|
|
-- -- of them are treated as if no provider was set, and the user is asked to choose again.
|
|
-- -- ["HFInferenceProvider"] = "NOVITA",
|
|
--
|
|
-- -- Optional: Encrypted API key for cloud providers or secured on-premise models.
|
|
-- -- The API key must be encrypted using the enterprise encryption secret.
|
|
-- -- Format: "ENC:v2:<base64-encoded encrypted data>", which AI Studio v26.10.1 or newer reads,
|
|
-- -- or "ENC:v1:<base64-encoded encrypted data>", which every version of AI Studio reads. Both
|
|
-- -- formats use the same secret. DataApp.EnterpriseEncryptionExportFormat below decides which
|
|
-- -- one your exports write.
|
|
-- -- The encryption secret must be configured via:
|
|
-- -- Windows Registry: HKEY_CURRENT_USER\Software\github\MindWork AI Studio\Enterprise IT\config_encryption_secret
|
|
-- -- Environment variable: MINDWORK_AI_STUDIO_ENTERPRISE_CONFIG_ENCRYPTION_SECRET
|
|
-- -- You can export an encrypted API key from an existing provider using the export button in the settings.
|
|
-- -- ["APIKey"] = "ENC:v2:<base64-encoded encrypted data>",
|
|
--
|
|
-- -- Optional: let each user set their own API key for this otherwise locked provider,
|
|
-- -- instead of (or in addition to not) embedding one centrally. Host, model, instance
|
|
-- -- name, and every other field stay locked; only the API key becomes editable.
|
|
-- -- Mutually exclusive with "APIKey" above: when both are set, the embedded key is
|
|
-- -- ignored and a warning is logged. The user's key is preserved in the OS keyring even
|
|
-- -- if this configuration is later withdrawn.
|
|
-- -- ["AllowUserProvidedAPIKey"] = true,
|
|
--
|
|
-- -- Optional: ask the user for their API key in a panel on the home page, as long as this
|
|
-- -- provider has none. All providers of this plugin which set this option share one panel
|
|
-- -- and receive the same key, so the user enters it once. Implies "AllowUserProvidedAPIKey".
|
|
-- -- Explain how to obtain the key in CONFIG["USER_API_KEY_PROMPT"], see below.
|
|
-- -- ["PromptForUserAPIKey"] = true,
|
|
--
|
|
-- ["Model"] = {
|
|
-- ["Id"] = "<the model ID>",
|
|
-- ["DisplayName"] = "<user-friendly name of the model>",
|
|
-- }
|
|
-- }
|
|
|
|
-- Transcription providers for voice-to-text functionality:
|
|
CONFIG["TRANSCRIPTION_PROVIDERS"] = {}
|
|
|
|
-- An example of a transcription provider configuration:
|
|
-- CONFIG["TRANSCRIPTION_PROVIDERS"][#CONFIG["TRANSCRIPTION_PROVIDERS"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Name"] = "<user-friendly name for the transcription provider>",
|
|
-- ["UsedLLMProvider"] = "SELF_HOSTED",
|
|
--
|
|
-- -- Allowed values for Host are: OLLAMA, VLLM, WHISPER_CPP, and LLMMAN
|
|
-- ["Host"] = "WHISPER_CPP",
|
|
-- ["Hostname"] = "<https address of the server>",
|
|
--
|
|
-- -- Optional: project-specific SVG icon. The same path, size, rendering, and
|
|
-- -- fallback rules described for IconPath under LLM_PROVIDERS apply here.
|
|
-- -- ["IconPath"] = "assets/project-icon.svg",
|
|
--
|
|
-- -- Optional: Encrypted API key (see LLM_PROVIDERS example for details)
|
|
-- -- ["APIKey"] = "ENC:v2:<base64-encoded encrypted data>",
|
|
--
|
|
-- -- Optional: let each user set their own API key for this otherwise locked transcription
|
|
-- -- provider (see LLM_PROVIDERS example for details). Mutually exclusive with "APIKey"
|
|
-- -- above: when both are set, the embedded key is ignored and a warning is logged.
|
|
-- -- ["AllowUserProvidedAPIKey"] = true,
|
|
--
|
|
-- -- Optional: ask the user for their API key on the home page, as long as this provider
|
|
-- -- has none (see LLM_PROVIDERS example for details). Implies "AllowUserProvidedAPIKey".
|
|
-- -- ["PromptForUserAPIKey"] = true,
|
|
--
|
|
-- -- Optional: Hugging Face inference provider. Only relevant for UsedLLMProvider = HUGGINGFACE.
|
|
-- -- Hugging Face transcribes audio through some of its inference providers only, so the choice
|
|
-- -- is narrower than for chatting. Allowed values are: DEEPINFRA and TOGETHER_AI. The automatic
|
|
-- -- options are not available here, because a transcription request has to name its provider.
|
|
-- -- ["HFInferenceProvider"] = "TOGETHER_AI",
|
|
--
|
|
-- ["Model"] = {
|
|
-- ["Id"] = "<the model ID>",
|
|
-- ["DisplayName"] = "<user-friendly name of the model>",
|
|
-- }
|
|
-- }
|
|
|
|
-- Embedding providers for local RAG (Retrieval-Augmented Generation) functionality:
|
|
CONFIG["EMBEDDING_PROVIDERS"] = {}
|
|
|
|
-- An example of an embedding provider configuration:
|
|
-- CONFIG["EMBEDDING_PROVIDERS"][#CONFIG["EMBEDDING_PROVIDERS"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Name"] = "<user-friendly name for the embedding provider>",
|
|
-- ["UsedLLMProvider"] = "SELF_HOSTED",
|
|
--
|
|
-- -- Allowed values for Host are: LM_STUDIO, OLLAMA, VLLM, and LLMMAN
|
|
-- ["Host"] = "OLLAMA",
|
|
-- ["Hostname"] = "<https address of the server>",
|
|
--
|
|
-- -- Optional: project-specific SVG icon. The same path, size, rendering, and
|
|
-- -- fallback rules described for IconPath under LLM_PROVIDERS apply here.
|
|
-- -- ["IconPath"] = "assets/project-icon.svg",
|
|
--
|
|
-- -- Optional: Encrypted API key (see LLM_PROVIDERS example for details)
|
|
-- -- ["APIKey"] = "ENC:v2:<base64-encoded encrypted data>",
|
|
--
|
|
-- -- Optional: tokenizer path for this provider relative to the plugin directory.
|
|
-- -- ["TokenizerPath"] = "",
|
|
--
|
|
-- -- Optional: maximum number of tokens per embedding chunk. If omitted, AI Studio uses its default.
|
|
-- -- ["TokenLimit"] = 8192,
|
|
--
|
|
-- -- Optional: number of chunks sent to the embedding provider in one request. If omitted, AI Studio sends one chunk per request.
|
|
-- -- ["EmbeddingBatchSize"] = 1,
|
|
--
|
|
-- -- Optional: let each user set their own API key for this otherwise locked embedding
|
|
-- -- provider (see LLM_PROVIDERS example for details). Mutually exclusive with "APIKey"
|
|
-- -- above: when both are set, the embedded key is ignored and a warning is logged.
|
|
-- -- ["AllowUserProvidedAPIKey"] = true,
|
|
--
|
|
-- -- Optional: ask the user for their API key on the home page, as long as this provider
|
|
-- -- has none (see LLM_PROVIDERS example for details). Implies "AllowUserProvidedAPIKey".
|
|
-- -- ["PromptForUserAPIKey"] = true,
|
|
--
|
|
-- -- Optional: Hugging Face inference provider. Only relevant for UsedLLMProvider = HUGGINGFACE.
|
|
-- -- Hugging Face serves embeddings through some of its inference providers only, so the choice
|
|
-- -- is narrower than for chatting. Allowed values are: DEEPINFRA and TOGETHER_AI. The automatic
|
|
-- -- options are not available here, because an embedding request has to name its provider.
|
|
-- -- ["HFInferenceProvider"] = "TOGETHER_AI",
|
|
--
|
|
-- ["Model"] = {
|
|
-- ["Id"] = "<the model ID, e.g., nomic-embed-text>",
|
|
-- ["DisplayName"] = "<user-friendly name of the model>",
|
|
-- }
|
|
-- }
|
|
|
|
-- ERI v1 data sources for retrieval-augmented generation:
|
|
--
|
|
-- "OutboundDataRestriction" is optional and decides where a chat may still send data once the
|
|
-- AI found something in the data source: ONLY_CONFIGURED_SERVICES, ONLY_LINKS_FROM_CHAT, or
|
|
-- UNRESTRICTED, see DataSourceSecuritySettings.MinimumOutboundDataRestriction below. Without it,
|
|
-- the data source gets ONLY_LINKS_FROM_CHAT, and a value AI Studio cannot read counts as
|
|
-- ONLY_CONFIGURED_SERVICES. A data source with the security policy SELF_HOSTED always gets
|
|
-- ONLY_CONFIGURED_SERVICES, whatever it says here.
|
|
CONFIG["DATA_SOURCES"] = {}
|
|
|
|
-- Example: ERI v1 data source with a shared access token.
|
|
-- CONFIG["DATA_SOURCES"][#CONFIG["DATA_SOURCES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Name"] = "<user-friendly data source name>",
|
|
-- ["Type"] = "ERI_V1",
|
|
-- ["Hostname"] = "<https address of the ERI server>",
|
|
-- ["Port"] = 443,
|
|
-- ["AuthMethod"] = "TOKEN",
|
|
-- ["Token"] = "ENC:v2:<base64-encoded encrypted token>",
|
|
-- ["SecurityPolicy"] = "SELF_HOSTED",
|
|
-- ["OutboundDataRestriction"] = "ONLY_CONFIGURED_SERVICES",
|
|
-- ["SelectedRetrievalId"] = "<retrieval process ID from the ERI server>",
|
|
-- ["MaxMatches"] = 10,
|
|
-- }
|
|
|
|
-- Example: ERI v1 data source with a shared username and password.
|
|
-- CONFIG["DATA_SOURCES"][#CONFIG["DATA_SOURCES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Name"] = "<user-friendly data source name>",
|
|
-- ["Type"] = "ERI_V1",
|
|
-- ["Hostname"] = "<https address of the ERI server>",
|
|
-- ["Port"] = 443,
|
|
-- ["AuthMethod"] = "USERNAME_PASSWORD",
|
|
-- ["UsernamePasswordMode"] = "SHARED_USERNAME_AND_PASSWORD",
|
|
-- ["Username"] = "<shared username>",
|
|
-- ["Password"] = "ENC:v2:<base64-encoded encrypted password>",
|
|
-- ["SecurityPolicy"] = "SELF_HOSTED",
|
|
-- ["OutboundDataRestriction"] = "ONLY_CONFIGURED_SERVICES",
|
|
-- ["SelectedRetrievalId"] = "<retrieval process ID from the ERI server>",
|
|
-- ["MaxMatches"] = 10,
|
|
-- }
|
|
|
|
-- Example: ERI v1 data source using the user's username and a shared password.
|
|
-- CONFIG["DATA_SOURCES"][#CONFIG["DATA_SOURCES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Name"] = "<user-friendly data source name>",
|
|
-- ["Type"] = "ERI_V1",
|
|
-- ["Hostname"] = "<https address of the ERI server>",
|
|
-- ["Port"] = 443,
|
|
-- ["AuthMethod"] = "USERNAME_PASSWORD",
|
|
-- ["UsernamePasswordMode"] = "OS_USERNAME_SHARED_PASSWORD",
|
|
-- ["Password"] = "ENC:v2:<base64-encoded encrypted password>",
|
|
-- ["SecurityPolicy"] = "SELF_HOSTED",
|
|
-- ["OutboundDataRestriction"] = "ONLY_CONFIGURED_SERVICES",
|
|
-- ["SelectedRetrievalId"] = "<retrieval process ID from the ERI server>",
|
|
-- ["MaxMatches"] = 10,
|
|
-- }
|
|
|
|
-- Mail servers of your organization, offered for new mailboxes:
|
|
-- The mailbox dialog lists them before the well-known public providers. Choosing one fills in
|
|
-- the host, the port, and the encryption; username and password stay with each user. Large
|
|
-- organizations run more than one mail system, so a configuration may define several mail
|
|
-- servers, and those of all configurations are offered together.
|
|
--
|
|
-- Fields:
|
|
-- Id Required GUID, which stays the same across versions of your configuration.
|
|
-- Name Required name shown to the user, e.g., the name of the mail system.
|
|
-- Host Required host name or IP address of the IMAP server, without a scheme
|
|
-- or a port.
|
|
-- TransportSecurity SSL_ON_CONNECT (the default, TLS from the first byte on) or STARTTLS.
|
|
-- There is no way without encryption.
|
|
-- Port The default is 993 with SSL_ON_CONNECT and 143 with STARTTLS.
|
|
-- UsernameHint Optional text telling users what to enter as their username.
|
|
-- HelpUrl Optional http or https address of your instructions, e.g., on how to
|
|
-- enable IMAP for a mailbox.
|
|
-- An entry with an invalid field is left out as a whole, and the log names the field.
|
|
-- To allow mailboxes on these mail servers only, see DataMailboxes.AllowOnlyOrganizationMailServers.
|
|
CONFIG["MAILBOX_PROVIDERS"] = {}
|
|
|
|
-- An example mail server:
|
|
-- CONFIG["MAILBOX_PROVIDERS"][#CONFIG["MAILBOX_PROVIDERS"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Name"] = "Exchange (headquarters)",
|
|
-- ["Host"] = "imap.example.org",
|
|
-- ["TransportSecurity"] = "SSL_ON_CONNECT",
|
|
-- ["Port"] = 993,
|
|
-- ["UsernameHint"] = "Your account as DOMAIN\\username",
|
|
-- ["HelpUrl"] = "https://intranet.example.org/mail/imap",
|
|
-- }
|
|
|
|
CONFIG["SETTINGS"] = {}
|
|
|
|
-- ------
|
|
-- How settings combine when your organization deploys more than one configuration
|
|
-- ------
|
|
--
|
|
-- A configuration with a higher PRIORITY is applied later and wins. This works per
|
|
-- setting: everything a later configuration does not mention keeps the value of the
|
|
-- configuration below it.
|
|
--
|
|
-- For a setting that holds a list or a table, the winning configuration replaces the
|
|
-- whole collection instead of merging the entries. A department configuration that
|
|
-- lists a single entry therefore drops every entry the base configuration had set for
|
|
-- that setting. That is intentional: replacing is the only way a department can take
|
|
-- something back that the base configuration has set.
|
|
--
|
|
-- The affected settings below carry a note. Two settings are the exception and add up
|
|
-- across configurations instead: DataApp.EnabledPreviewFeatures and
|
|
-- DataAssistantPluginAudit.EnterpriseApprovedPlugins.
|
|
-- ------
|
|
|
|
-- ------
|
|
-- What happens to a setting when your configuration is removed
|
|
-- ------
|
|
--
|
|
-- AI Studio remembers the value a setting had before a configuration took it over.
|
|
-- Once no configuration manages that setting anymore -- because your IT department
|
|
-- stopped deploying this configuration, because the user deleted it, or because a test
|
|
-- configuration ended -- the user gets that value back. When there is nothing to
|
|
-- restore, e.g. for a setting the user had never changed, AI Studio falls back to its
|
|
-- own default value.
|
|
--
|
|
-- One case differs: when you allow users to override a setting and somebody makes use
|
|
-- of that, their choice outlives your configuration and stays as it is.
|
|
-- ------
|
|
|
|
-- Both update settings below only ever apply to installations AI Studio is able to update.
|
|
-- Installations you rolled out yourself, for example, into C:\Program Files or into a location
|
|
-- your users cannot write to, never update themselves, no matter what you configure here. You
|
|
-- can therefore leave automatic updates enabled for everybody: your deployments ignore them,
|
|
-- while installations your colleagues fetched from GitHub keep updating themselves. Place a file
|
|
-- named "managed-installation" next to the program file to mark any other installation as one
|
|
-- you maintain. The Enterprise IT documentation describes this in detail.
|
|
|
|
-- Configure the update check interval:
|
|
-- Allowed values are: NO_CHECK, DISABLE_UPDATES, ONCE_STARTUP, HOURLY, DAILY, WEEKLY
|
|
-- NO_CHECK disables automatic checks, but users can still check and install updates manually.
|
|
-- DISABLE_UPDATES is intended for enterprise configurations and disables all update checks
|
|
-- and installations. It is not offered as a selectable option in the normal app settings.
|
|
-- CONFIG["SETTINGS"]["DataApp.UpdateInterval"] = "NO_CHECK"
|
|
|
|
-- Configure how updates are installed:
|
|
-- Allowed values are: MANUAL, AUTOMATIC
|
|
-- CONFIG["SETTINGS"]["DataApp.UpdateInstallation"] = "MANUAL"
|
|
|
|
-- Configure the page that should be opened when AI Studio starts.
|
|
-- Allowed values are: HOME, CHAT, ASSISTANTS, INFORMATION, PLUGINS, SUPPORTERS, SETTINGS
|
|
-- CONFIG["SETTINGS"]["DataApp.StartPage"] = "CHAT"
|
|
--
|
|
-- Allow users to change the configured start page locally.
|
|
-- Allowed values are: true, false
|
|
-- When set to true, the configured start page becomes the organization default,
|
|
-- but users can still choose another start page in the app settings.
|
|
-- CONFIG["SETTINGS"]["DataApp.StartPage.AllowUserOverride"] = true
|
|
|
|
-- Configure whether AI Studio saves energy while the AI writes its answers.
|
|
-- Allowed values are: true, false
|
|
-- When set to true, streamed answers are updated once every third second instead of as soon
|
|
-- as new text arrives. This helps on battery-powered devices and on virtual desktops, where
|
|
-- every redraw of the screen is costly.
|
|
-- CONFIG["SETTINGS"]["DataApp.IsSavingEnergy"] = true
|
|
|
|
-- Configure whether the quick start guide is shown on the welcome page.
|
|
-- CONFIG["SETTINGS"]["DataApp.ShowQuickStartGuide"] = false
|
|
|
|
-- Configure whether the built-in introduction is shown on the welcome page.
|
|
-- CONFIG["SETTINGS"]["DataApp.ShowIntroduction"] = false
|
|
|
|
-- Configure whether the last changelog is shown on the welcome page.
|
|
-- CONFIG["SETTINGS"]["DataApp.ShowLastChangelog"] = false
|
|
|
|
-- Configure whether the vision panel is shown on the welcome page.
|
|
-- CONFIG["SETTINGS"]["DataApp.ShowVision"] = false
|
|
|
|
-- Configure whether AI Studio shows a dialog listing suspicious instructions it
|
|
-- removed from external content, together with an explanation of the attack pattern.
|
|
-- A short notification is still shown when this setting is disabled.
|
|
-- CONFIG["SETTINGS"]["DataApp.ShowPromptInjectionAlert"] = true
|
|
|
|
-- Configure the master permission to add providers. When set to false, the add
|
|
-- buttons stay visible but are disabled regardless of the provider-specific settings.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToAddProvider"] = false
|
|
|
|
-- Fine-tune the permission to add each provider type. These settings only allow
|
|
-- adding providers while DataApp.AllowUserToAddProvider is also true.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToAddLLMProvider"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToAddEmbeddingProvider"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToAddTranscriptionProvider"] = false
|
|
|
|
-- Prohibit providers, e.g., when your organization must not send any data to them. The list
|
|
-- applies to LLM providers, embedding providers, and transcription providers alike. Allowed
|
|
-- values are the provider keys of DataConfidence.CustomConfidenceScheme, see below. A name
|
|
-- AI Studio does not know is ignored and logged as a warning.
|
|
--
|
|
-- A prohibition names the operator of an API, not a family of models: prohibiting the API of
|
|
-- a model maker keeps AI Studio away from that API, but the models of that maker may remain
|
|
-- available through a hub which offers the models of several makers, or on a server of your
|
|
-- own. Prohibit these as well if you need to.
|
|
--
|
|
-- Users can still select a prohibited provider when they add one, but the dialog then only
|
|
-- explains that your organization does not allow it. Providers which users set up before stay
|
|
-- in their settings, marked as prohibited, and users can delete them. AI Studio no longer
|
|
-- offers or contacts them. Once you lift the prohibition, they work again.
|
|
--
|
|
-- A prohibited provider is always UNTRUSTED, whatever the confidence scheme says. A level which
|
|
-- DataConfidence.CustomConfidenceScheme names for it is ignored and logged as a warning, and
|
|
-- users cannot change it in the app. Once you lift the prohibition, that level applies again.
|
|
--
|
|
-- Replaces, does not merge: a configuration with a higher priority replaces the whole list.
|
|
-- A configuration which prohibits one more provider has to repeat the providers of the base
|
|
-- configuration. Otherwise, these become usable again.
|
|
--
|
|
-- Available since AI Studio v26.10.1. Older versions ignore this setting. Until all devices
|
|
-- run that version, you can in addition use the CUSTOM confidence scheme, set the provider to
|
|
-- UNTRUSTED there, and enforce a global minimum confidence level of at least VERY_LOW.
|
|
-- CONFIG["SETTINGS"]["DataApp.ProhibitedProviders"] = { "<PROVIDER_KEY>" }
|
|
|
|
-- Configure the permission to add mailboxes. A mailbox is a data source, not a provider, so
|
|
-- DataApp.AllowUserToAddProvider does not apply to it. When set to false, the menu entry for
|
|
-- adding a mailbox stays visible but is disabled. Mailboxes the user added before stay; to keep
|
|
-- the AI from reading them, switch off the tool collection mailboxes in DataTools.DisabledToolIds.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToAddMailbox"] = false
|
|
|
|
-- Configure the permission to import an item which somebody exported from AI Studio, such as
|
|
-- a chat template a colleague shares. The first setting allows or locks every import, the
|
|
-- others one type each; an import needs both. Importing a provider also needs the permission
|
|
-- to add it by hand: DataApp.AllowUserToAddProvider and the setting for its kind, see above.
|
|
-- When set to false, the import button stays visible but is locked. Importing plugin archives
|
|
-- has a setting of its own, see below.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportConfigurationSnippets"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportProfile"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportLLMProvider"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportEmbeddingProvider"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportTranscriptionProvider"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportChatTemplate"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportERIDataSource"] = false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportDocumentAnalysisPolicy"] = false
|
|
|
|
-- Configure the user permission to import plugin archives from disk.
|
|
-- When set to false, the import button on the plugins page stays visible but is disabled.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportPlugins"] = false
|
|
|
|
-- Configure the user permission to import configuration plugin archives from disk.
|
|
-- This is a second gate on top of DataApp.AllowUserToImportPlugins: both must allow the
|
|
-- import. Configuration plugins get their own switch because they can do far more than an
|
|
-- assistant: they define LLM providers and data sources, and they lock settings. You may
|
|
-- therefore let users import assistants while keeping configurations to your IT department.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToImportConfigurationPlugins"] = false
|
|
|
|
-- Configure the user permission to share or export plugins as archives.
|
|
-- When set to false, the share button on the plugins page stays visible but is disabled.
|
|
-- On Linux, this button exports the plugin archive instead of using a native share sheet.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToSharePlugins"] = false
|
|
|
|
-- Configure the user permission to back up the data of AI Studio into a file, e.g. to take it
|
|
-- to a new computer. When set to false, the backup button stays visible but is disabled.
|
|
-- A backup holds chats and other confidential content in a single file, which can leave the
|
|
-- computer on any stick or cloud drive. Secrets such as API keys never go into a backup.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToBackUpData"] = false
|
|
|
|
-- Configure the user permission to restore the data of AI Studio from a backup file, or to add
|
|
-- the chats of a backup. When set to false, the restore button stays visible but is disabled.
|
|
-- A backup brings along the locations of documents and local data sources, and those are read
|
|
-- again afterward.
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToRestoreData"] = false
|
|
|
|
-- Configure whether administration settings are visible in the UI:
|
|
-- CONFIG["SETTINGS"]["DataApp.ShowAdminSettings"] = true
|
|
|
|
-- Configure the format in which exports encrypt API keys, tokens, and passwords with the
|
|
-- enterprise encryption secret. Both formats use the same secret.
|
|
-- Allowed values are: V1, V2
|
|
-- V2 is protected: AI Studio refuses every value which was encrypted with another secret. It
|
|
-- needs AI Studio v26.10.1 or newer on every computer which reads it. V1 is read by every
|
|
-- version of AI Studio, and AI Studio keeps reading it for good. New installations start with
|
|
-- V2, installations which existed before v26.10.1 keep V1. Keep V1 until every computer in
|
|
-- your organization runs v26.10.1 or newer, then switch to V2.
|
|
-- CONFIG["SETTINGS"]["DataApp.EnterpriseEncryptionExportFormat"] = "V1"
|
|
--
|
|
-- Allow users to change the export format locally.
|
|
-- Allowed values are: true, false
|
|
-- When set to true, the configured format becomes the organization default,
|
|
-- but users can still choose another format in the enterprise administration settings.
|
|
-- CONFIG["SETTINGS"]["DataApp.EnterpriseEncryptionExportFormat.AllowUserOverride"] = true
|
|
|
|
-- Configure whether AI answers which users copy or export end with a notice that they were
|
|
-- generated using artificial intelligence (AI). The notice is written in the language of the app.
|
|
-- It also ends the files of the batch processing. Code blocks, single files or tables taken from
|
|
-- an answer, visual briefings, and the results of the prompt optimizer and the assistant builder
|
|
-- stay unchanged. The default is false: AI Studio then adds no notice. The Enterprise IT
|
|
-- documentation describes what gets the notice.
|
|
-- Allowed values are: true, false
|
|
-- CONFIG["SETTINGS"]["DataApp.AddAIGeneratedContentDisclosure"] = true
|
|
--
|
|
-- Allow users to change this setting locally.
|
|
-- Allowed values are: true, false
|
|
-- When set to true, the configured value becomes the organization default,
|
|
-- but users can still switch it on or off in the app settings.
|
|
-- CONFIG["SETTINGS"]["DataApp.AddAIGeneratedContentDisclosure.AllowUserOverride"] = true
|
|
|
|
-- Configure the visibility of preview features:
|
|
-- Allowed values are: NONE, RELEASE_CANDIDATE, BETA, ALPHA, PROTOTYPE, EXPERIMENTAL
|
|
-- Please note:
|
|
-- I: that this setting does not hide features that are already enabled.
|
|
-- II: lower levels include all features of the higher levels. E.g. BETA includes RELEASE_CANDIDATE features.
|
|
-- CONFIG["SETTINGS"]["DataApp.PreviewVisibility"] = "NONE"
|
|
|
|
-- Configure the enabled preview features:
|
|
-- Allowed values are can be found in https://github.com/MindWorkAI/AI-Studio/blob/main/app/MindWork%20AI%20Studio/Settings/DataModel/PreviewFeatures.cs
|
|
-- Examples are PRE_WRITER_MODE_2024 and PRE_RAG_2024.
|
|
--
|
|
-- Adds up, does not replace: this is the one setting where all configurations
|
|
-- contribute together. Enable one preview feature for the whole organization and
|
|
-- another one for a single department, and users of that department get both. Each
|
|
-- configuration keeps its own contribution, so removing one of them only withdraws
|
|
-- the features that this configuration had enabled.
|
|
-- CONFIG["SETTINGS"]["DataApp.EnabledPreviewFeatures"] = { "PRE_RAG_2024" }
|
|
|
|
-- Configure the preselected provider.
|
|
-- It must be one of the provider IDs defined in CONFIG["LLM_PROVIDERS"].
|
|
-- Please note: using an empty string ("") will lock the preselected provider selection, even though no valid preselected provider is found.
|
|
-- CONFIG["SETTINGS"]["DataApp.PreselectedProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
|
|
-- Configure the preselected profile.
|
|
-- It must be one of the profile IDs defined in CONFIG["PROFILES"].
|
|
-- Please note: using an empty string ("") will lock the preselected profile selection, even though no valid preselected profile is found.
|
|
-- CONFIG["SETTINGS"]["DataApp.PreselectedProfile"] = "00000000-0000-0000-0000-000000000000"
|
|
|
|
-- Configure chat-specific preselected options.
|
|
-- This must be enabled for the chat-specific provider, profile, and chat template to take effect.
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectOptions"] = true
|
|
--
|
|
-- Configure the preselected provider for chats.
|
|
-- It must be one of the provider IDs defined in CONFIG["LLM_PROVIDERS"].
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
--
|
|
-- Configure the preselected profile for chats.
|
|
-- It must be one of the profile IDs defined in CONFIG["PROFILES"].
|
|
-- Please note: using an empty string ("") means chats will use the app default profile.
|
|
-- Please note: using "00000000-0000-0000-0000-000000000000" means chats will use no profile.
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedProfile"] = "00000000-0000-0000-0000-000000000000"
|
|
--
|
|
-- Configure the preselected chat template for chats.
|
|
-- It must be one of the chat template IDs defined in CONFIG["CHAT_TEMPLATES"].
|
|
-- Please note: using an empty string ("") or "00000000-0000-0000-0000-000000000000" means chats will use no chat template.
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedChatTemplate"] = "00000000-0000-0000-0000-000000000000"
|
|
--
|
|
--
|
|
-- Configure default data source options for new chats.
|
|
--
|
|
-- Controls whether data sources are off by default:
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourcesDisabled"] = false
|
|
|
|
-- Controls how the data sources are searched. Allowed values are:
|
|
-- SEMANTIC_SEARCH -> the AI searches the data sources itself, through the tool
|
|
-- semantic_search, whenever a question calls for it. This is the default.
|
|
-- EVERY_MESSAGE -> AI Studio searches the data sources with every message, before the AI
|
|
-- answers.
|
|
-- SEMANTIC_SEARCH works only where semantic_search can be offered: the model has to be able to
|
|
-- call tools, neither the tools nor semantic_search may be switched off, and the provider has
|
|
-- to meet a minimum confidence you set for semantic_search, see DataTools. Otherwise, AI Studio
|
|
-- searches with every message instead.
|
|
-- With SEMANTIC_SEARCH, no agent takes part: DataChat.PreselectedDataSourcesAutomaticSelection
|
|
-- then lets the AI itself choose among all data sources it may use, and
|
|
-- DataChat.PreselectedDataSourcesAutomaticValidation has no effect.
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourcesRetrievalMode"] = "EVERY_MESSAGE"
|
|
|
|
-- Controls whether AI Studio asks an agent to choose data sources:
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourcesAutomaticSelection"] = true
|
|
|
|
-- Controls whether retrieved data is validated by an agent:
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourcesAutomaticValidation"] = true
|
|
|
|
-- Must contain IDs from CONFIG["DATA_SOURCES"] or user-configured data sources.
|
|
-- IDs from another configuration of your organization work as well: they are resolved
|
|
-- against every known data source, not only against the ones defined here. IDs that
|
|
-- resolve to nothing are ignored.
|
|
--
|
|
-- Replaces, does not merge: a configuration with a higher priority replaces this list
|
|
-- completely. To keep an entry of the base configuration, list that ID here again.
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourceIds"] = {
|
|
-- "00000000-0000-0000-0000-000000000000",
|
|
-- }
|
|
--
|
|
-- Configure whether default chat data source options are applied when assistant results are sent to chat.
|
|
-- Allowed values are: NO_DATA_SOURCES, APPLY_STANDARD_CHAT_DATA_SOURCE_OPTIONS
|
|
-- CONFIG["SETTINGS"]["DataChat.SendToChatDataSourceBehavior"] = "APPLY_STANDARD_CHAT_DATA_SOURCE_OPTIONS"
|
|
--
|
|
-- Configure whether a chat reads an attached file again when the file changed since it was sent.
|
|
-- By default, every later message of a chat sends the AI the content a file had when it was first
|
|
-- sent, also when the file changed or is gone by now, and users can look up what the AI received.
|
|
-- When enabled, the AI receives the new content of a changed file with the next message. A file
|
|
-- which is gone keeps the content it was sent with either way.
|
|
-- Allowed values are: true, false
|
|
-- CONFIG["SETTINGS"]["DataChat.ReadChangedAttachmentsAgain"] = true
|
|
--
|
|
-- Allow users to change any configured chat default locally.
|
|
-- Allowed values are: true, false
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectOptions.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedProvider.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedProfile.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedChatTemplate.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourcesDisabled.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourcesRetrievalMode.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourcesAutomaticSelection.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourcesAutomaticValidation.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.PreselectedDataSourceIds.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.SendToChatDataSourceBehavior.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataChat.ReadChangedAttachmentsAgain.AllowUserOverride"] = true
|
|
|
|
-- Configure defaults for the Slide Assistant.
|
|
-- Preselection must be enabled for the template, the picture library, and the other defaults
|
|
-- below to take effect. It is enabled by default; lock it as well to make sure users cannot do without your
|
|
-- template.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectOptions"] = true
|
|
--
|
|
-- Configure the PowerPoint template of the Slide Assistant.
|
|
-- The slides then use the layouts of this presentation or template (.pptx, .potx), and users
|
|
-- can create a PowerPoint file from the result. Without a template, the assistant plans an
|
|
-- outline only.
|
|
--
|
|
-- The simplest way is to ship the template with this plugin: put the file next to this
|
|
-- plugin.lua, or into a folder below it, and give its path relative to this plugin.lua. The
|
|
-- path must stay inside the plugin directory, i.e., no '..' segments and no links pointing
|
|
-- out of it. When the file is missing or the path is rejected, AI Studio logs a warning, and
|
|
-- this plugin does not manage the template: users keep the one they chose, or have none.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.TemplatePath"] = "Corporate.potx"
|
|
--
|
|
-- An absolute path works as well. It must be readable on every machine, e.g., on a network
|
|
-- share or in a folder your software distribution fills; for Flatpak installations, it must
|
|
-- be readable inside the sandbox.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.TemplatePath"] = "C:\\Templates\\Corporate.potx"
|
|
--
|
|
-- Configure the footer text for every slide whose layout has a footer, e.g., the name of
|
|
-- the organization. Leave it empty for no footer.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedFooterText"] = ""
|
|
--
|
|
-- Configure the maximum number of bullet points per slide, all text slots of a slide together,
|
|
-- from 1 to 7. Match it to the room for text in the layouts of your template. 0 sets no maximum,
|
|
-- and the LLM decides by the room of each layout. AI Studio logs a warning for any other value
|
|
-- and ignores it.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedMaxBulletPointsPerSlide"] = 0
|
|
--
|
|
-- Configure whether new slides keep the picture placeholders of their layout which they have no
|
|
-- picture for. PowerPoint shows them while editing, so users can insert pictures of their own,
|
|
-- and hides them in the slide show. By default, the slides leave them out.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedKeepEmptyPicturePlaceholders"] = false
|
|
--
|
|
-- Configure the picture library of the Slide Assistant: a folder with pictures and icons, e.g.,
|
|
-- the picture library of your organization. The LLM reads only the names of its PNG and JPEG
|
|
-- pictures and may place a picture where its name fits a slide. A picture whose name, or the
|
|
-- name of one of its folders, starts with "icon" counts as an icon. This includes the folder
|
|
-- you name here, so a folder "Icons" holds icons only. Leave it empty for no picture library.
|
|
--
|
|
-- Ship the folder with this plugin and give its path relative to this plugin.lua, under the
|
|
-- same rules as the template above, or give an absolute path, e.g., on a network share. When a
|
|
-- locked folder cannot be reached, the assistant plans the slides without it.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedPictureLibraryPath"] = "Pictures"
|
|
--
|
|
-- Configure the layout of your template for kinds of slides, e.g., which layout opens each
|
|
-- chapter. Give the name of the layout as the slide master of your template shows it. A kind
|
|
-- of slide you leave out has no preference, and the LLM decides; a name the template lacks
|
|
-- counts as no preference as well.
|
|
-- Allowed kinds of slides are, by area:
|
|
-- Structure and framing: TITLE, TABLE_OF_CONTENTS, AGENDA, SPEAKER, SPEAKERS, CHAPTER,
|
|
-- CHAPTER_SUMMARY, Q_AND_A, ACKNOWLEDGEMENTS, REFERENCES, CLOSING, APPENDIX, IMPRINT
|
|
-- General content: CONTENT, LITTLE_CONTENT, MUCH_CONTENT, KEY_MESSAGE, EXECUTIVE_SUMMARY, CONTEXT,
|
|
-- RETROSPECTIVE, PICTURE, PICTURES, TABLE, COMPARISON, PROS_AND_CONS, TIMELINE, PROCESS, QUOTE,
|
|
-- QUOTES, CODE, FORMULA, FORMULAS, CHECKLIST, NOTE, NOTES, AUDIENCE_QUESTION, FEEDBACK,
|
|
-- DISCLAIMER, SUMMARY, OUTLOOK
|
|
-- Teaching and workshops: INTRODUCTION_ROUND, EXPECTATIONS, GROUND_RULES, ORGANIZATIONAL_NOTES,
|
|
-- LEARNING_OBJECTIVE, LEARNING_OBJECTIVES, EXAMPLE, EXAMPLES, STEP_BY_STEP, EXERCISE,
|
|
-- EXERCISE_SOLUTION, GROUP_WORK, POLL, DISCUSSION_PROMPT, REFLECTION, BREAK, DAY_CHANGE
|
|
-- Business and projects: VISION, GOAL, GOALS, NARRATIVE, STORY, PROBLEM, PROBLEMS, OPPORTUNITY,
|
|
-- OPPORTUNITIES, SWOT, USE_CASE, USE_CASES, USER_STORY, USER_STORIES, ACCEPTANCE_CRITERIA, KPI,
|
|
-- KPIS, FORECAST, SCENARIO, SCENARIOS, RISK, RISKS, DEPENDENCY, DEPENDENCIES, RESOURCES, TEAM,
|
|
-- PARTNERS, ROADMAP, MILESTONE, MILESTONES, WORK_PACKAGE, WORK_PACKAGES, PROJECT_STATUS,
|
|
-- LESSONS_LEARNED, REASON, REASONS, RECOMMENDATION, RECOMMENDATIONS, DECISION_REQUEST, NEXT_STEPS,
|
|
-- ACTION_ITEMS, CALL_TO_ACTION
|
|
-- Science and research: STATE_OF_RESEARCH, RESEARCH_GAP, RESEARCH_QUESTION, RESEARCH_QUESTIONS,
|
|
-- DEFINITION, DEFINITIONS, THEOREM, PROOF, ASSUMPTION, ASSUMPTIONS, DELIMITATION, DELIMITATIONS,
|
|
-- THESIS, THESES, HYPOTHESIS, HYPOTHESES, ARGUMENT_CHAIN, COUNTERARGUMENT, COUNTERARGUMENTS,
|
|
-- METHODOLOGY, STUDY_DESIGN, EXPERIMENTAL_SETUP, DATA, RESULT, RESULTS, INTERPRETATION,
|
|
-- LIMITATIONS, CONTRIBUTION, FUNDING
|
|
-- Medicine: PATIENT_CASE, MEDICAL_HISTORY, CLINICAL_FINDINGS, IMAGING, LAB_VALUES, DIAGNOSIS,
|
|
-- DIFFERENTIAL_DIAGNOSES, THERAPY, MEDICATION, COURSE_OF_DISEASE, PROGNOSIS, ADVERSE_EVENTS,
|
|
-- GUIDELINE_RECOMMENDATION, STUDY_POPULATION, ENDPOINTS, ETHICS_APPROVAL
|
|
-- Law: FACTS_OF_THE_CASE, LEGAL_QUESTION, LEGAL_QUESTIONS, LEGAL_PROVISION, LEGAL_PROVISIONS,
|
|
-- EXAMINATION_SCHEME, DISPUTE_OF_OPINIONS, POSITIONS_OF_THE_PARTIES, PIECE_OF_EVIDENCE,
|
|
-- PIECES_OF_EVIDENCE, RULING, RULINGS, LEGAL_COMMENTARY, LEGAL_COMMENTARIES, CONTRACT_CLAUSE,
|
|
-- CONTRACT_CLAUSES, LEGAL_CONSEQUENCES, DEADLINES
|
|
-- A kind in the singular, e.g., RISK, shows one item prominently; its plural, e.g., RISKS, shows
|
|
-- several items together.
|
|
--
|
|
-- Replaces, does not merge: the table applies as a whole, also with AllowUserOverride.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedLayouts"] = {
|
|
-- ["TITLE"] = "Title Slide",
|
|
-- ["CHAPTER"] = "Section Header",
|
|
-- ["CONTENT"] = "Title and Content",
|
|
-- }
|
|
--
|
|
-- Preselect what the presentation does with the slides your template carries, by their number in the
|
|
-- file, starting with 1 and counting hidden slides. OMIT leaves a slide out, KEEP keeps it as it is,
|
|
-- and EDIT lets the LLM write new content into it; a slide without room for content stays unchanged
|
|
-- instead. A slide you do not name is left out. This applies only to the template above.
|
|
-- Replaces, does not merge: the table applies as a whole, also with AllowUserOverride.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedTemplateSlideUses"] = {
|
|
-- [1] = "KEEP",
|
|
-- [4] = "EDIT",
|
|
-- }
|
|
--
|
|
-- Allow users to choose another template or change the defaults locally.
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectOptions.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.TemplatePath.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedFooterText.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedMaxBulletPointsPerSlide.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedKeepEmptyPicturePlaceholders.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedPictureLibraryPath.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedLayouts.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedTemplateSlideUses.AllowUserOverride"] = true
|
|
|
|
-- Configure defaults for the Batch Processing Assistant.
|
|
-- Preselection must be enabled for the remaining batch settings to take effect.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PreselectOptions"] = true
|
|
--
|
|
-- Configure the default input and output folders.
|
|
-- Leave the input folder empty to require a selection for every new batch run.
|
|
-- Leave the output folder empty to use the ai-results subfolder of the input folder.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.InputDirectory"] = ""
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.OutputDirectory"] = ""
|
|
--
|
|
-- Configure the default file patterns and whether subfolders as well as hidden files and folders are included.
|
|
-- Separate multiple patterns with semicolons.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.FilePatterns"] = "*.pdf;*.docx;*.pptx;*.xlsx;*.md;*.txt;*.jpg;*.jpeg;*.png;*.webp;*.gif;*.bmp;*.tif;*.tiff;*.mp3;*.wav;*.wave;*.aac;*.flac;*.ogg;*.opus;*.m4a;*.m4b;*.wma;*.alac;*.aif;*.aiff;*.caf;*.mp4;*.m4v;*.avi;*.mkv;*.mov;*.wmv;*.flv;*.webm"
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.IncludeSubdirectories"] = false
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.IncludeHiddenFilesAndFolders"] = false
|
|
--
|
|
-- Configure the files and folders which are left out, even when a file pattern selects them.
|
|
-- Separate entries with semicolons or line breaks. An entry which ends with a slash excludes every
|
|
-- folder of that name; every other entry is a file name pattern. An empty string excludes nothing
|
|
-- beyond the metadata of operating systems, which is always left out. The default is:
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.ExcludePatterns"] = "node_modules/; bower_components/; Pods/; venv/; env/; __pycache__/; bin/; obj/; Debug/; Release/; target/; build/; dist/; DerivedData/; cmake-build-*/; TestResults/; htmlcov/; *.vmwarevm/; *.pvm/; *.utm/; package-lock.json; yarn.lock; pnpm-lock.yaml; packages.lock.json; Cargo.lock; poetry.lock; Pipfile.lock; composer.lock; Gemfile.lock; go.sum; *.min.js; *.min.css; *.js.map; *.css.map; *tokenizer.json; *.exe; *.dll; *.so; *.dylib; *.pdb; *.db; *.db3; *.db-*; *.sqlite; *.sqlite3; *.sqlite-*; *.vmdk; *.vdi; *.vhd; *.vhdx; *.qcow2; *.hdd; *.hds; *.iso; *.dmg; *.img"
|
|
--
|
|
-- Configure the size limit in megabytes. Larger files are left out of a batch run. The value must
|
|
-- be at least 1; the default is 1024, i.e., 1 GB.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.MaxFileSizeMegabytes"] = 1024
|
|
--
|
|
-- Configure the default instruction source.
|
|
-- Allowed values are: FREE_PROMPT, FILE_IMPORT, POLICY
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PromptSource"] = "FREE_PROMPT"
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.FreePrompt"] = "Summarize each document."
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PromptFilePath"] = ""
|
|
--
|
|
-- The policy ID must reference an entry in CONFIG["DOCUMENT_ANALYSIS_POLICIES"] or a
|
|
-- user-configured policy. It is used only when PromptSource is POLICY.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PreselectedPolicyId"] = ""
|
|
--
|
|
-- Configure the default output mode.
|
|
-- Allowed values are: INDIVIDUAL_FILES, TABLE_ONLY
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.OutputMode"] = "INDIVIDUAL_FILES"
|
|
--
|
|
-- Configure the file format of the individual result files. Used only when the output
|
|
-- mode is INDIVIDUAL_FILES. Everything except MARKDOWN is converted by Pandoc, which
|
|
-- AI Studio installs on demand.
|
|
-- Allowed values are: MICROSOFT_WORD, OPEN_DOCUMENT_TEXT, LATEX, MARKDOWN, HTML
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.ResultFileFormat"] = "MARKDOWN"
|
|
--
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.CsvFileName"] = "batch-results.csv"
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.ResultColumnHeader"] = "Result"
|
|
-- Allowed CSV separator values are: COMMA, SEMICOLON, PIPE, TAB, CUSTOM
|
|
-- A custom separator must be exactly one punctuation or symbol character.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.CsvSeparator"] = "SEMICOLON"
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.CustomCsvSeparator"] = "^"
|
|
--
|
|
-- Enforce the lower end of the random pause between files for the organization.
|
|
-- The value must be between 6 and 300 seconds. Users can configure only the upper
|
|
-- end of the interval while this setting is managed by a configuration plugin.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.MinimumDelaySeconds"] = 12
|
|
--
|
|
-- Configure the minimum provider confidence and the default provider.
|
|
-- Allowed confidence values are: NONE, UNTRUSTED, UNKNOWN, VERY_LOW, LOW, MODERATE, MEDIUM, HIGH
|
|
-- A policy can require a higher minimum confidence; the stricter level wins.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.MinimumProviderConfidence"] = "NONE"
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PreselectedProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
--
|
|
-- Allow users to change individual managed batch defaults locally.
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PreselectOptions.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.InputDirectory.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.OutputDirectory.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.FilePatterns.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.IncludeSubdirectories.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.IncludeHiddenFilesAndFolders.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.ExcludePatterns.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.MaxFileSizeMegabytes.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PromptSource.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.FreePrompt.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PromptFilePath.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PreselectedPolicyId.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.OutputMode.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.ResultFileFormat.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.CsvFileName.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.ResultColumnHeader.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.CsvSeparator.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.CustomCsvSeparator.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.MinimumProviderConfidence.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataBatchProcessing.PreselectedProvider.AllowUserOverride"] = true
|
|
|
|
-- Configure the transcription provider for voice-to-text functionality.
|
|
-- It must be one of the transcription provider IDs defined in CONFIG["TRANSCRIPTION_PROVIDERS"].
|
|
-- Without a selected transcription provider, dictation and transcription features will be disabled.
|
|
-- Please note: using an empty string ("") will lock the selection and disable dictation/transcription.
|
|
-- CONFIG["SETTINGS"]["DataApp.UseTranscriptionProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
|
|
-- Configure the Opus bitrate used when normalizing uploaded audio/video for transcription.
|
|
-- Allowed values are: KBPS_32, KBPS_64, KBPS_128, KBPS_256
|
|
-- Higher bitrates improve transcription accuracy on noisy or quiet recordings, at the cost of
|
|
-- a larger upload to the transcription provider. KBPS_128 is recommended.
|
|
-- Please note: this bitrate applies whenever a recording has to be re-encoded. A file which already
|
|
-- is a single mono 48 kHz Opus track in a WebM container and stays below 25 MiB is forwarded to the
|
|
-- transcription provider unchanged, keeping the bitrate it was created with.
|
|
-- CONFIG["SETTINGS"]["DataApp.OpusBitrate"] = "KBPS_32"
|
|
--
|
|
-- Allow the user to change the Opus bitrate even though your organization set a default above:
|
|
-- CONFIG["SETTINGS"]["DataApp.OpusBitrate.AllowUserOverride"] = true
|
|
|
|
-- Configure which assistants should be hidden from the UI.
|
|
-- Allowed values are:
|
|
-- GRAMMAR_SPELLING_ASSISTANT, ICON_FINDER_ASSISTANT, REWRITE_ASSISTANT,
|
|
-- PROMPT_OPTIMIZER_ASSISTANT, TRANSLATION_ASSISTANT, AGENDA_ASSISTANT,
|
|
-- CODING_ASSISTANT, TEXT_SUMMARIZER_ASSISTANT, EMAIL_ASSISTANT,
|
|
-- LEGAL_CHECK_ASSISTANT, SYNONYMS_ASSISTANT, MY_TASKS_ASSISTANT,
|
|
-- JOB_POSTING_ASSISTANT, BIAS_DAY_ASSISTANT, ERI_ASSISTANT,
|
|
-- DOCUMENT_ANALYSIS_ASSISTANT, BATCH_PROCESSING_ASSISTANT, SLIDE_BUILDER_ASSISTANT,
|
|
-- VISUAL_BRIEFING_ASSISTANT, I18N_ASSISTANT,
|
|
-- LOG_VIEWER_ASSISTANT
|
|
--
|
|
-- Replaces, does not merge: a configuration with a higher priority replaces this list
|
|
-- completely. This is what lets a department show an assistant again that the base
|
|
-- configuration hides. The department configuration must then list every other
|
|
-- assistant that is supposed to stay hidden, otherwise those become visible too.
|
|
-- CONFIG["SETTINGS"]["DataApp.HiddenAssistants"] = { "ERI_ASSISTANT", "I18N_ASSISTANT" }
|
|
|
|
-- Configure organization defaults for the Visual Briefing Assistant.
|
|
-- The assistant turns documents, images, audio, and video into a self-contained interactive
|
|
-- briefing. All settings below are defaults for new briefings; users can change them per briefing.
|
|
--
|
|
-- Configure the preselected provider for briefing builds.
|
|
-- It must be one of the provider IDs defined in CONFIG["LLM_PROVIDERS"].
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.PreselectedProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
--
|
|
-- Configure the preselected profile for briefing builds.
|
|
-- It must be one of the profile IDs defined in CONFIG["PROFILES"].
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.PreselectedProfile"] = "00000000-0000-0000-0000-000000000000"
|
|
--
|
|
-- Configure the language the briefing content is written in.
|
|
-- Allowed values are: AS_IS, EN_US, EN_GB, ZH_CN, HI_IN, ES_ES, FR_FR, DE_DE, DE_CH, DE_AT,
|
|
-- JA_JP, RU_RU, OTHER
|
|
-- AS_IS keeps the language of the source material.
|
|
-- Please note: AI Studio's own texts inside an exported briefing, such as the footer and the
|
|
-- reset button, are always US English regardless of this setting.
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.PreselectedTargetLanguage"] = "EN_US"
|
|
--
|
|
-- Configure a free-form language, used only when PreselectedTargetLanguage is "OTHER".
|
|
-- Any language name is allowed, for example "Swiss German" or "Brazilian Portuguese".
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.PreselectedOtherLanguage"] = ""
|
|
--
|
|
-- Configure the audience the briefing is written for. These four settings steer wording,
|
|
-- level of detail, and which evidence is emphasized.
|
|
--
|
|
-- Allowed values are: UNSPECIFIED, STUDENTS, SCIENTISTS, LAWYERS, INVESTORS, ENGINEERS,
|
|
-- SOFTWARE_DEVELOPERS, JOURNALISTS, HEALTHCARE_PROFESSIONALS, PUBLIC_OFFICIALS,
|
|
-- BUSINESS_PROFESSIONALS
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.PreselectedAudienceProfile"] = "UNSPECIFIED"
|
|
--
|
|
-- Allowed values are: UNSPECIFIED, CHILDREN, TEENAGERS, ADULTS
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.PreselectedAudienceAgeGroup"] = "UNSPECIFIED"
|
|
--
|
|
-- Allowed values are: UNSPECIFIED, TRAINEES, INDIVIDUAL_CONTRIBUTORS, TEAM_LEADS, MANAGERS,
|
|
-- EXECUTIVES, BOARD_MEMBERS
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.PreselectedAudienceOrganizationalLevel"] = "UNSPECIFIED"
|
|
--
|
|
-- Allowed values are: UNSPECIFIED, NON_EXPERTS, BASIC, INTERMEDIATE, EXPERTS
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.PreselectedAudienceExpertise"] = "UNSPECIFIED"
|
|
--
|
|
-- Configure whether each briefing component lists the source files it was derived from.
|
|
-- Allowed values are: true, false
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.ShowSourceReferences"] = true
|
|
--
|
|
-- Configure whether images are downscaled and re-encoded before they are embedded.
|
|
-- Allowed values are: true, false
|
|
-- Images are always embedded in the exported file. With true, images larger than 2560 pixels on
|
|
-- their longest edge are scaled down, which keeps exported briefings substantially smaller.
|
|
-- With false, the original image bytes are embedded unchanged.
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.OptimizeImages"] = true
|
|
--
|
|
-- Configure the minimum provider confidence required to build a briefing.
|
|
-- Allowed values are: NONE, VERY_LOW, LOW, MODERATE, MEDIUM, HIGH
|
|
-- Source material is sent to the selected provider, so this acts as a guard for confidential
|
|
-- documents. Providers below this level cannot be selected in the assistant.
|
|
-- CONFIG["SETTINGS"]["DataVisualBriefing.MinimumProviderConfidence"] = "NONE"
|
|
|
|
-- Configure defaults for the Assistant Builder.
|
|
-- Preselection must be enabled for the remaining Assistant Builder settings to take effect.
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.PreselectOptions"] = true
|
|
--
|
|
-- Configure the preselected provider for building assistants.
|
|
-- It must be one of the provider IDs defined in CONFIG["LLM_PROVIDERS"].
|
|
-- Without a preselected provider, the Assistant Builder uses the app-wide default provider.
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.PreselectedProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
--
|
|
-- Configure the language in which the generated assistants answer.
|
|
-- Allowed values are: AS_IS, EN_US, EN_GB, ZH_CN, HI_IN, ES_ES, FR_FR, DE_DE, DE_CH, DE_AT,
|
|
-- JA_JP, RU_RU, OTHER
|
|
-- AS_IS leaves the output language of the generated assistants open.
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.PreselectedOutputLanguage"] = "AS_IS"
|
|
--
|
|
-- Configure a free-form language, used only when PreselectedOutputLanguage is "OTHER".
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.PreselectedOtherOutputLanguage"] = ""
|
|
--
|
|
-- Configure the minimum provider confidence required to build assistants.
|
|
-- Allowed values are: NONE, UNTRUSTED, UNKNOWN, VERY_LOW, LOW, MODERATE, MEDIUM, HIGH
|
|
-- Providers below this level cannot be selected in the Assistant Builder. This minimum applies
|
|
-- only while preselection is enabled; the app-wide minimum confidence applies in any case.
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.MinimumProviderConfidence"] = "NONE"
|
|
--
|
|
-- Allow users to change individual managed Assistant Builder defaults locally.
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.PreselectOptions.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.PreselectedProvider.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.PreselectedOutputLanguage.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.PreselectedOtherOutputLanguage.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataAssistantBuilder.MinimumProviderConfidence.AllowUserOverride"] = true
|
|
|
|
-- Configure enterprise approvals for assistant plugins.
|
|
-- Each approval is matched only by the current SHA-256 hash over all Lua files
|
|
-- in the assistant plugin folder, in canonical sorted order.
|
|
-- When the hash matches, the assistant plugin is treated as SAFE immediately and
|
|
-- no user-run security audit is required.
|
|
-- You can generate the exact hash with the build-script command:
|
|
-- dotnet run --project app/Build -- assistant-plugin-hash "<plugin-dir>" --lua-snippet
|
|
--
|
|
-- Only works in configurations your configuration server deploys. An approval marks an
|
|
-- assistant plugin as safe without any audit, and AI Studio then tells users that their
|
|
-- organization approved it. A configuration plugin that a user placed locally therefore
|
|
-- cannot approve anything: AI Studio ignores its approvals and writes a warning to the
|
|
-- log. This is decided by where the plugin is stored, not by DEPLOYED_USING_CONFIG_SERVER.
|
|
--
|
|
-- Adds up, does not replace: approvals of all your configurations are combined, so a
|
|
-- department configuration can approve additional assistant plugins without repeating
|
|
-- the approvals of the base configuration. Each configuration keeps its own approvals,
|
|
-- so removing one of them only withdraws the approvals it had granted.
|
|
--
|
|
-- An approval only says that a plugin is safe. Whether it is enabled is a second
|
|
-- decision, and without the optional Activate field it stays with your colleagues: the
|
|
-- assistant is approved, and everybody switches it on themselves. Set Activate to have
|
|
-- AI Studio enable it instead. AllowUserOverride works as it does for every setting:
|
|
-- without it, your colleagues cannot switch the assistant off; with it, you only provide
|
|
-- a default, which AI Studio applies once and then leaves alone.
|
|
--
|
|
-- Activate AllowUserOverride Result
|
|
-- ------------------------------------------------------------------------
|
|
-- absent any approved, everybody enables it themselves
|
|
-- true true enabled for everybody, may be switched off
|
|
-- true absent enabled for everybody, cannot be switched off
|
|
--
|
|
-- Activating needs more than the approval: AI Studio only enables an assistant plugin
|
|
-- your organization actually rolled out, i.e. one below .config or .config-tests, or one
|
|
-- marked with DEPLOYED_USING_CONFIG_SERVER. An approval alone is matched by hash and would
|
|
-- otherwise also cover a copy a user placed themselves, which you can neither update nor
|
|
-- withdraw. Such a copy stays approved, but nobody's settings are changed for it.
|
|
--
|
|
-- When two of your configurations approve the same hash, any Activate wins, while the
|
|
-- freedom to switch the assistant off survives only if every configuration asking for the
|
|
-- activation grants it.
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.EnterpriseApprovedPlugins"] = {
|
|
-- {
|
|
-- ["PluginHash"] = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
|
|
-- ["DisplayName"] = "Name of Plugin",
|
|
-- ["Comment"] = "Optional comment",
|
|
-- ["ApprovedBy"] = "Optional Approver",
|
|
-- ["ApprovedAtUtc"] = "2026-07-02T09:30:00Z",
|
|
-- ["Activate"] = true,
|
|
-- ["AllowUserOverride"] = true,
|
|
-- }
|
|
-- }
|
|
|
|
-- Configure a global shortcut for starting and stopping dictation.
|
|
--
|
|
-- The format follows the Rust and Tauri conventions. Especially,
|
|
-- when you want to use the CTRL key on Windows (or the CMD key on macOS),
|
|
-- please use "CmdOrControl" as the key name. All parts of the shortcut
|
|
-- must be separated by a plus sign (+).
|
|
--
|
|
-- Examples are: "CmdOrControl+Shift+D", "Alt+F9", "F8"
|
|
-- CONFIG["SETTINGS"]["DataApp.ShortcutVoiceRecording"] = "CmdOrControl+1"
|
|
|
|
-- Configure whether tools are available at all. The default is true.
|
|
-- When tools are disabled globally, tool selection is hidden in chats and assistants,
|
|
-- but the global tool settings remain available to administrators.
|
|
-- CONFIG["SETTINGS"]["DataTools.EnableTools"] = false
|
|
|
|
-- Tools and tool collections:
|
|
-- Some tools only make sense together, e.g., searching, reading, and counting mails. They form a
|
|
-- tool collection: users select it as one, it needs one minimum provider confidence, and you
|
|
-- switch it off as one. The model still calls each of its tools by name. Wherever the settings
|
|
-- below, chat templates, or document analysis policies ask for a tool ID, use the ID of the
|
|
-- collection for such tools. A tool which belongs to no collection keeps its own ID.
|
|
-- The ID of a tool in a collection stands for its whole collection: naming it switches off the
|
|
-- whole collection or sets its confidence, and of several levels set for a collection and its
|
|
-- tools, the highest applies.
|
|
-- Collection IDs include: mailboxes (search_mails, read_mail, and count_mails; while the mailbox
|
|
-- preview is enabled)
|
|
|
|
-- Disable individual tools or tool collections by their stable ID. The default is an empty set.
|
|
-- Unknown IDs are safely ignored and can be deployed before a future tool is installed.
|
|
-- semantic_search lets the model search the data sources of a chat itself. Nobody selects it:
|
|
-- it offers itself whenever a chat has data sources to search. Disabling it makes AI Studio
|
|
-- search the data sources with every message instead, the way it does for models without
|
|
-- tool usage.
|
|
-- Users can switch off further tools themselves in the tool settings, e.g., one they never need.
|
|
-- They can never switch on a tool you disable here.
|
|
-- CONFIG["SETTINGS"]["DataTools.DisabledToolIds"] = { "web_search" }
|
|
|
|
-- Configure the minimum provider confidence level required for individual tools or tool
|
|
-- collections.
|
|
-- Tool IDs include: web_search, read_web_page, search_confluence, semantic_search
|
|
-- Collection IDs include: mailboxes
|
|
-- Allowed values are: NONE, UNTRUSTED, VERY_LOW, LOW, MODERATE, MEDIUM, HIGH
|
|
-- Defaults: web_search = VERY_LOW, read_web_page = VERY_LOW, search_confluence = HIGH,
|
|
-- semantic_search = NONE, mailboxes = VERY_LOW
|
|
-- search_confluence always searches with a HIGH-confidence provider only, whatever value is
|
|
-- set here.
|
|
-- semantic_search offers a provider only the data sources whose own confidence level it meets,
|
|
-- so it needs no minimum of its own. A provider below a minimum set here has the data sources
|
|
-- searched with every message instead.
|
|
-- CONFIG["SETTINGS"]["DataTools.MinimumProviderConfidenceByToolId"] = {
|
|
-- ["web_search"] = "VERY_LOW",
|
|
-- ["read_web_page"] = "VERY_LOW",
|
|
-- ["search_confluence"] = "HIGH",
|
|
-- ["semantic_search"] = "NONE",
|
|
-- ["mailboxes"] = "VERY_LOW"
|
|
-- }
|
|
|
|
-- Configure the settings of individual tools. Keys are "<tool ID>.<field name>", values are
|
|
-- always strings. This works for every tool, including tools added by plugins, because nothing
|
|
-- here needs to be known to AI Studio in advance. Settings belong to the tool, also when it is
|
|
-- part of a tool collection, so these keys always start with the tool ID.
|
|
--
|
|
-- Two tables decide how firmly a value applies:
|
|
-- LockedToolSettings - the user cannot change it, and it is reapplied on every update.
|
|
-- DefaultToolSettings - pre-fills the setting; a value the user saves afterwards wins.
|
|
--
|
|
-- A tool field marked as secret, such as an API key, can be rolled out as well — but only
|
|
-- encrypted with the enterprise encryption secret, in the same "ENC:v2:<base64>" or
|
|
-- "ENC:v1:<base64>" form the providers above use, and only through LockedToolSettings. A locked
|
|
-- secret leaves whatever the user entered untouched, so their own key returns when you stop
|
|
-- deploying yours. A plaintext secret is refused with a warning in the log rather than used.
|
|
--
|
|
-- Field names of the Web Search tool. At least one of its search services has to be configured
|
|
-- before the tool can be used; which one you pick is up to you, since all three can be rolled
|
|
-- out from here:
|
|
-- searxng.baseUrl SearXNG HTTP(S) root URL or /search endpoint. The instance
|
|
-- must have the JSON format enabled, i.e. "json" listed under
|
|
-- search.formats in its settings.yml. Public instances usually
|
|
-- serve only the web interface and block automated requests,
|
|
-- so use an instance your organization operates.
|
|
-- staan.apiKey Secret. Staan API key, encrypted as described above and set
|
|
-- through LockedToolSettings, or entered by the user in the
|
|
-- tool's settings dialog.
|
|
-- staan.market Which market Staan searches when the AI model asks for a
|
|
-- language Staan does not offer, or for none in particular.
|
|
-- Staan searches one market at a time and cannot search
|
|
-- without one. Allowed values are: de-de, en-us, fr-fr.
|
|
-- tavily.apiKey Secret. Tavily API key, encrypted as described above and set
|
|
-- through LockedToolSettings, or entered by the user in the
|
|
-- tool's settings dialog.
|
|
-- tavily.searchDepth How thoroughly Tavily searches. A basic search costs one
|
|
-- request of the account's monthly quota, an advanced search
|
|
-- costs two. Allowed values are: basic, advanced.
|
|
-- backendStrategy What to do when more than one search service is configured.
|
|
-- FAILOVER asks them one after another until one returns hits.
|
|
-- PARALLEL asks all of them at once and combines their
|
|
-- results, which uses one request of every service per search.
|
|
-- SPECIFIC asks only the preferred service. The default is
|
|
-- FAILOVER. Allowed values are: FAILOVER, PARALLEL, SPECIFIC.
|
|
-- primaryBackend Which search service to ask first, and the only one asked
|
|
-- with the SPECIFIC strategy. Left empty, the services are
|
|
-- asked in a fixed order. Allowed values are: SEARXNG, STAAN,
|
|
-- TAVILY.
|
|
-- defaultLanguage Required. IETF language tag such as "de-DE", or "all" for no
|
|
-- restriction. Without a language many search engines return
|
|
-- no results at all, so the tool counts as unconfigured while
|
|
-- this is empty.
|
|
-- defaultSafeSearch How strictly the search services filter explicit results. A
|
|
-- service that cannot filter at all is not asked while this is
|
|
-- set to MODERATE or STRICT, which currently applies to Staan.
|
|
-- Allowed values are: OFF, MODERATE, STRICT.
|
|
-- maxResults Result count, as an integer string.
|
|
-- searchTimeoutSeconds Search request timeout in seconds.
|
|
-- pageTimeoutSeconds Per-page timeout in seconds.
|
|
-- allPagesRetrievalTimeoutSeconds Overall page-retrieval timeout in seconds.
|
|
-- maxTotalContentCharacters Total content-character budget.
|
|
-- minContentCharactersPerResult Per-result content allocation.
|
|
--
|
|
-- Field names of the Read Web Page tool:
|
|
-- timeoutSeconds Page-loading timeout in seconds.
|
|
-- maxContentCharacters Content-character limit.
|
|
-- freeAddressChoice Whether the AI may read web addresses it chose itself. Allowed values are:
|
|
-- OFF -> the AI reads only addresses which appear in the chat, such as in
|
|
-- a message, an attached document, or a data source, or which a
|
|
-- tool returned, such as a search hit. AI Studio refuses every
|
|
-- other address. This is the default.
|
|
-- ON -> the AI may also choose addresses itself.
|
|
-- allowedPrivateHosts Comma-separated private or VPN host patterns. Public pages need not be
|
|
-- listed. Wildcards match subdomains only, so add the root domain
|
|
-- separately. Allowed private hosts require a provider with HIGH
|
|
-- confidence. AI Studio only tries the current user's operating-system
|
|
-- sign-in for explicitly allowed HTTPS targets when that provider
|
|
-- requirement is met, and it never reuses browser cookies. Allowed
|
|
-- private hosts count as services configured in AI Studio: a chat which
|
|
-- read internal content may still read them, see below.
|
|
-- internalPageOutboundDataRestriction
|
|
-- Where a chat may send data once it read internal content: a page with
|
|
-- a private or VPN address, a page of the Confluence wiki configured for
|
|
-- search_confluence, whatever its address, or a search of that wiki. Only
|
|
-- the page reached after all redirects counts. A web search or an address
|
|
-- the AI writes could otherwise carry internal content to third parties.
|
|
-- The same level applies to the search_confluence tool. A chat keeps the
|
|
-- level it had when it read the content. Allowed values are:
|
|
-- ONLY_CONFIGURED_SERVICES -> the chat reads only pages of the wiki and of
|
|
-- the allowed private hosts, and no web
|
|
-- search runs.
|
|
-- ONLY_LINKS_FROM_CHAT -> the chat also reads pages whose addresses
|
|
-- stand in the chat, written by the user or
|
|
-- returned by a tool, exactly as they stand
|
|
-- there. No web search runs, and the AI
|
|
-- cannot choose addresses outside the wiki
|
|
-- and the allowed private hosts. This is the
|
|
-- default.
|
|
-- UNRESTRICTED -> no restriction beyond the ones of each tool.
|
|
-- Lock it to ONLY_CONFIGURED_SERVICES when the AI must not even choose which
|
|
-- of the given links to follow.
|
|
--
|
|
-- Field names of the Search Confluence tool, which supports Confluence Data Center. Confluence
|
|
-- Cloud is not supported yet.
|
|
-- baseUrl Required HTTPS root URL of the Confluence Data Center wiki, including its
|
|
-- context path if present, for example https://wiki.example.org/confluence/.
|
|
-- Search loads dosearchsite.action with the same web-page reader as
|
|
-- read_web_page and uses the current user's operating-system sign-in when the
|
|
-- wiki has a private or VPN address. Redirects outside this URL are refused. A
|
|
-- provider must have HIGH confidence to receive search results.
|
|
-- timeoutSeconds Search request timeout in seconds, at most 120. Default: 30.
|
|
-- Selecting search_confluence also selects read_web_page, which opens the pages found. If your
|
|
-- wiki has a private or VPN address, add its host to read_web_page.allowedPrivateHosts as well.
|
|
-- Where a chat may send data after a search is set by read_web_page.internalPageOutboundDataRestriction.
|
|
--
|
|
-- CONFIG["SETTINGS"]["DataTools.LockedToolSettings"] = {
|
|
-- ["web_search.searxng.baseUrl"] = "https://searxng.example.org/",
|
|
-- ["web_search.defaultLanguage"] = "de-DE",
|
|
-- ["web_search.backendStrategy"] = "FAILOVER",
|
|
-- ["web_search.tavily.apiKey"] = "ENC:v2:<base64-encoded encrypted data>",
|
|
-- ["read_web_page.freeAddressChoice"] = "OFF",
|
|
-- ["read_web_page.allowedPrivateHosts"] = "example.org, *.example.org",
|
|
-- ["read_web_page.internalPageOutboundDataRestriction"] = "ONLY_LINKS_FROM_CHAT",
|
|
-- ["search_confluence.baseUrl"] = "https://wiki.example.org/confluence/"
|
|
-- }
|
|
--
|
|
-- CONFIG["SETTINGS"]["DataTools.DefaultToolSettings"] = {
|
|
-- ["web_search.maxResults"] = "5",
|
|
-- ["web_search.defaultSafeSearch"] = "MODERATE",
|
|
-- ["web_search.tavily.searchDepth"] = "basic",
|
|
-- ["read_web_page.timeoutSeconds"] = "30",
|
|
-- ["search_confluence.timeoutSeconds"] = "30"
|
|
-- }
|
|
|
|
-- Configure the HTTP timeout for external requests, in seconds.
|
|
-- The default is 3600 (1 hour).
|
|
-- CONFIG["SETTINGS"]["DataApp.HttpClientTimeoutSeconds"] = 3600
|
|
|
|
-- Configure whether requests to self-hosted servers name the feature of AI Studio which sent them.
|
|
-- Only self-hosted providers and LiteLLM receive these details; cloud providers never do.
|
|
-- When set to true, their requests carry a User-Agent such as
|
|
-- "MindWorkAIStudio/26.10.1 (win-x64) Component/TRANSLATION_ASSISTANT", which lets the operators
|
|
-- of these servers see which features are used. The default is false: AI Studio then sends no
|
|
-- User-Agent at all. The Enterprise IT documentation describes what is sent, and what to clarify
|
|
-- before you switch it on.
|
|
-- Allowed values are: true, false
|
|
-- CONFIG["SETTINGS"]["DataApp.ShareFeatureUsageWithSelfHostedServerOperators"] = true
|
|
--
|
|
-- Allow users to change this setting locally.
|
|
-- Allowed values are: true, false
|
|
-- When set to true, the configured value becomes the organization default,
|
|
-- but users can still switch it on or off in the app settings.
|
|
-- CONFIG["SETTINGS"]["DataApp.ShareFeatureUsageWithSelfHostedServerOperators.AllowUserOverride"] = true
|
|
|
|
-- Configure additional root certificates for external HTTPS requests.
|
|
--
|
|
-- This is intended for managed Linux/Flatpak deployments where organization-internal
|
|
-- HTTPS certificates chain to a private root CA that is not visible inside the sandbox.
|
|
-- The file must be a PEM bundle with one or more root CA certificates and must be
|
|
-- readable by AI Studio.
|
|
--
|
|
-- IMPORTANT: A configuration plugin cannot fix the very first download of that same
|
|
-- configuration plugin. For bootstrapping enterprise configuration downloads, deploy
|
|
-- the equivalent environment variables before AI Studio starts:
|
|
--
|
|
-- MINDWORK_AI_STUDIO_EXTERNAL_HTTP_CUSTOM_ROOT_CERTIFICATES_ENABLED=true
|
|
-- MINDWORK_AI_STUDIO_EXTERNAL_HTTP_CUSTOM_ROOT_CERTIFICATE_BUNDLE_PATH=/path/in/sandbox/company-root-cas.pem
|
|
-- MINDWORK_AI_STUDIO_EXTERNAL_HTTP_CUSTOM_ROOT_CERTIFICATE_ALLOWED_HOSTS=*.intra.example.org;data.example.org
|
|
--
|
|
-- Replaces, does not merge: a configuration with a higher priority replaces the host
|
|
-- list completely. Deploy this setting in one configuration only, or repeat every host
|
|
-- of the base configuration. Otherwise, hosts of the base configuration silently stop
|
|
-- trusting your root certificates.
|
|
--
|
|
-- CONFIG["SETTINGS"]["DataApp.ExternalHttpCustomRootCertificatesEnabled"] = true
|
|
-- CONFIG["SETTINGS"]["DataApp.ExternalHttpCustomRootCertificateBundlePath"] = "/path/in/sandbox/company-root-cas.pem"
|
|
-- CONFIG["SETTINGS"]["DataApp.ExternalHttpCustomRootCertificateAllowedHosts"] = { "*.intra.example.org", "eri.example.org" }
|
|
|
|
-- Configure provider confidence settings.
|
|
-- These settings apply to LLM providers, embedding providers, and transcription providers.
|
|
--
|
|
-- Configure a predefined confidence scheme.
|
|
-- Allowed values are: TRUST_ALL, TRUST_USA_EUROPE, TRUST_USA, TRUST_EUROPE, TRUST_ASIA, LOCAL_TRUST_ONLY, CUSTOM
|
|
-- CONFIG["SETTINGS"]["DataConfidence.ConfidenceScheme"] = "TRUST_EUROPE"
|
|
--
|
|
-- Configure whether users can still change the confidence scheme locally.
|
|
-- Allowed values are: true, false
|
|
-- When set to true, the configured confidence scheme becomes the organization default,
|
|
-- but users can still choose another scheme in the app settings.
|
|
-- CONFIG["SETTINGS"]["DataConfidence.ConfidenceScheme.AllowUserOverride"] = true
|
|
--
|
|
-- Configure whether confidence levels are shown in the UI.
|
|
-- CONFIG["SETTINGS"]["DataConfidence.ShowProviderConfidence"] = true
|
|
--
|
|
-- Configure an app-wide minimum confidence level.
|
|
-- Allowed values are: NONE, VERY_LOW, LOW, MODERATE, MEDIUM, HIGH
|
|
-- CONFIG["SETTINGS"]["DataConfidence.EnforceGlobalMinimumConfidence"] = true
|
|
-- CONFIG["SETTINGS"]["DataConfidence.GlobalMinimumConfidence"] = "MEDIUM"
|
|
--
|
|
-- Configure whether users can change the app-wide minimum confidence level locally.
|
|
-- CONFIG["SETTINGS"]["DataConfidence.EnforceGlobalMinimumConfidence.AllowUserOverride"] = false
|
|
-- CONFIG["SETTINGS"]["DataConfidence.GlobalMinimumConfidence.AllowUserOverride"] = false
|
|
--
|
|
-- Configure a custom confidence scheme.
|
|
-- This is used when DataConfidence.ConfidenceScheme is set to CUSTOM.
|
|
-- Allowed provider keys are: OPEN_AI, ANTHROPIC, MISTRAL, GOOGLE, X, DEEP_SEEK, ALIBABA_CLOUD,
|
|
-- PERPLEXITY, OPEN_ROUTER, HETZNER, IONOS, LITE_LLM, REQUESTY, FIREWORKS, GROQ, HUGGINGFACE,
|
|
-- SELF_HOSTED, HELMHOLTZ, GWDG
|
|
-- Allowed confidence values are: UNTRUSTED, VERY_LOW, LOW, MODERATE, MEDIUM, HIGH
|
|
--
|
|
-- A provider which DataApp.ProhibitedProviders names is always UNTRUSTED. Its level in this
|
|
-- table is ignored and logged as a warning, see DataApp.ProhibitedProviders above.
|
|
--
|
|
-- Replaces, does not merge: a configuration with a higher priority replaces the whole
|
|
-- table. Every configuration that sets this must therefore list all providers it wants
|
|
-- to cover. A partial table is not completed from the configuration below it, and the
|
|
-- providers left out fall back to the app default.
|
|
-- CONFIG["SETTINGS"]["DataConfidence.CustomConfidenceScheme"] = {
|
|
-- ["OPEN_AI"] = "MODERATE",
|
|
-- ["ANTHROPIC"] = "MODERATE",
|
|
-- ["MISTRAL"] = "HIGH",
|
|
-- ["GOOGLE"] = "LOW",
|
|
-- ["X"] = "LOW",
|
|
-- ["DEEP_SEEK"] = "LOW",
|
|
-- ["ALIBABA_CLOUD"] = "LOW",
|
|
-- ["PERPLEXITY"] = "MODERATE",
|
|
-- ["OPEN_ROUTER"] = "MODERATE",
|
|
-- ["HETZNER"] = "HIGH",
|
|
-- ["IONOS"] = "HIGH",
|
|
-- ["LITE_LLM"] = "MODERATE",
|
|
-- ["REQUESTY"] = "MODERATE",
|
|
-- ["FIREWORKS"] = "MODERATE",
|
|
-- ["GROQ"] = "MODERATE",
|
|
-- ["HUGGINGFACE"] = "MODERATE",
|
|
-- ["SELF_HOSTED"] = "HIGH",
|
|
-- ["HELMHOLTZ"] = "HIGH",
|
|
-- ["GWDG"] = "HIGH",
|
|
-- }
|
|
--
|
|
-- Configure whether users can change the custom confidence scheme locally.
|
|
-- CONFIG["SETTINGS"]["DataConfidence.CustomConfidenceScheme.AllowUserOverride"] = false
|
|
--
|
|
-- Configure provider instances trusted by your organization for data-source security checks.
|
|
-- These IDs may refer to LLM providers, embedding providers, or transcription providers
|
|
-- defined in this configuration. Trusted providers are treated like self-hosted providers
|
|
-- only for data-source security checks and related local data warnings. This trust does not
|
|
-- meet a required confidence level, for example of a local data source or a private web page;
|
|
-- raise the provider's level in the custom confidence scheme above for that.
|
|
--
|
|
-- Replaces, does not merge: a configuration with a higher priority replaces this list
|
|
-- completely, so providers trusted by the base configuration lose that status. Repeat
|
|
-- them here to keep them trusted.
|
|
-- CONFIG["SETTINGS"]["DataSourceSecuritySettings.TrustedProviderIds"] = {
|
|
-- "00000000-0000-0000-0000-000000000000",
|
|
-- "00000000-0000-0000-0000-000000000001",
|
|
-- }
|
|
|
|
-- Configure the least strict outbound data restriction a data source may have, i.e., a local
|
|
-- file, a local folder, or an external data source (ERI server). Each data source decides where
|
|
-- a chat may still send data once the AI found something in it:
|
|
-- ONLY_CONFIGURED_SERVICES Only services configured in AI Studio, such as your data sources,
|
|
-- your Confluence, or the allowed private hosts of the tool Read Web
|
|
-- Page. No other web pages, no web search.
|
|
-- ONLY_LINKS_FROM_CHAT Also web pages whose addresses stand in the chat, written by the
|
|
-- user or returned by a tool. No web search, and no addresses the AI
|
|
-- chooses itself outside the configured services.
|
|
-- UNRESTRICTED Every tool the user selected.
|
|
-- A data source set to a less strict level gets this one whenever its passages reach a chat, and
|
|
-- the dialog of the data source no longer offers the less strict levels. An external data source
|
|
-- which only self-hosted providers may use always gets ONLY_CONFIGURED_SERVICES. A chat which
|
|
-- found something before keeps the level it got then. The default is UNRESTRICTED, which leaves
|
|
-- the choice to the user. New data sources start with ONLY_LINKS_FROM_CHAT either way.
|
|
-- CONFIG["SETTINGS"]["DataSourceSecuritySettings.MinimumOutboundDataRestriction"] = "ONLY_LINKS_FROM_CHAT"
|
|
|
|
-- Configure the least strict outbound data restriction a mailbox may have. Mails come from
|
|
-- strangers and may contain instructions meant for the AI, so each mailbox decides where a chat
|
|
-- may still send data once it has read mails from it:
|
|
-- ONLY_CONFIGURED_SERVICES Only services configured in AI Studio, such as the mailbox itself
|
|
-- or your Confluence. No web pages, no web search.
|
|
-- ONLY_LINKS_FROM_CHAT Also web pages whose addresses stand in the chat, written by the
|
|
-- user or returned by a tool. No web search, and no addresses the AI
|
|
-- chooses itself.
|
|
-- UNRESTRICTED Every tool the user selected.
|
|
-- A mailbox set to a less strict level gets this one whenever its mails reach a chat, and the
|
|
-- mailbox dialog no longer offers the less strict levels. A chat which read mails before keeps
|
|
-- the level it got then, until it reads mails again. The default is UNRESTRICTED, which leaves
|
|
-- the choice to the user. New mailboxes start with ONLY_CONFIGURED_SERVICES either way.
|
|
-- CONFIG["SETTINGS"]["DataMailboxes.MinimumOutboundDataRestriction"] = "ONLY_LINKS_FROM_CHAT"
|
|
|
|
-- Configure whether mailboxes may only be on the mail servers your configurations offer in
|
|
-- CONFIG["MAILBOX_PROVIDERS"]. The default is false. When set to true, AI Studio connects to no
|
|
-- other IMAP server: before every connection, it compares the host of the mailbox with the hosts
|
|
-- of those mail servers; port and encryption make no difference. A mailbox a user added on another
|
|
-- server before stops synchronizing at once, and the AI no longer reads it. Its local index stays,
|
|
-- so the mailbox comes back as it was, should you allow its server again. Without any mail server
|
|
-- in CONFIG["MAILBOX_PROVIDERS"], this blocks every mailbox.
|
|
-- CONFIG["SETTINGS"]["DataMailboxes.AllowOnlyOrganizationMailServers"] = true
|
|
|
|
-- Configure a pause between two indexing steps of local data sources, i.e., files, folders, and
|
|
-- mailboxes. AI Studio indexes large data sources in steps of a few minutes. Between two steps, it
|
|
-- waits for a random number of seconds between the lower and the upper bound, both included. This
|
|
-- spares an embedding server which many users share: a single user with large folders or
|
|
-- mailboxes no longer keeps it busy for hours. The pause applies after every step which worked on
|
|
-- documents, also when the same data source carries on. Time which passes anyway counts toward
|
|
-- it. Both values must be between 0 and 300 seconds. The default is 0 for both, i.e., no pause.
|
|
-- You may set one bound or both. A bound you set wins, and AI Studio adjusts the other one to it.
|
|
-- Should the upper bound be below the lower bound, the lower bound wins.
|
|
-- CONFIG["SETTINGS"]["DataDataSourceIndexing.MinimumPauseBetweenStepsSeconds"] = 30
|
|
-- CONFIG["SETTINGS"]["DataDataSourceIndexing.MaximumPauseBetweenStepsSeconds"] = 90
|
|
--
|
|
-- Allow users to change the bounds, so that your values are only defaults:
|
|
-- CONFIG["SETTINGS"]["DataDataSourceIndexing.MinimumPauseBetweenStepsSeconds.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataDataSourceIndexing.MaximumPauseBetweenStepsSeconds.AllowUserOverride"] = true
|
|
|
|
-- Configure the data source selection agent.
|
|
-- This agent is used when chat data source options enable AI-based data source selection.
|
|
-- The provider must be one of the provider IDs defined in CONFIG["LLM_PROVIDERS"].
|
|
-- CONFIG["SETTINGS"]["DataAgentDataSourceSelection.PreselectAgentOptions"] = true
|
|
-- CONFIG["SETTINGS"]["DataAgentDataSourceSelection.PreselectedAgentProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
-- CONFIG["SETTINGS"]["DataAgentDataSourceSelection.PreselectAgentOptions.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataAgentDataSourceSelection.PreselectedAgentProvider.AllowUserOverride"] = true
|
|
|
|
-- Configure the retrieval context validation agent.
|
|
-- This agent is used when retrieval context validation is enabled globally and chat data source options enable AI-based validation.
|
|
-- The provider must be one of the provider IDs defined in CONFIG["LLM_PROVIDERS"].
|
|
-- CONFIG["SETTINGS"]["DataAgentRetrievalContextValidation.EnableRetrievalContextValidation"] = true
|
|
-- CONFIG["SETTINGS"]["DataAgentRetrievalContextValidation.PreselectAgentOptions"] = true
|
|
-- CONFIG["SETTINGS"]["DataAgentRetrievalContextValidation.PreselectedAgentProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
-- CONFIG["SETTINGS"]["DataAgentRetrievalContextValidation.NumParallelValidations"] = 3
|
|
-- CONFIG["SETTINGS"]["DataAgentRetrievalContextValidation.EnableRetrievalContextValidation.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataAgentRetrievalContextValidation.PreselectAgentOptions.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataAgentRetrievalContextValidation.PreselectedAgentProvider.AllowUserOverride"] = true
|
|
-- CONFIG["SETTINGS"]["DataAgentRetrievalContextValidation.NumParallelValidations.AllowUserOverride"] = true
|
|
|
|
-- Configure assistant plugin security audits.
|
|
--
|
|
-- Configure whether assistant plugins must be audited before users can activate them.
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.RequireAuditBeforeActivation"] = true
|
|
--
|
|
-- Configure a dedicated provider for assistant plugin audits.
|
|
-- It must be one of the provider IDs defined in CONFIG["LLM_PROVIDERS"].
|
|
-- Without a selected audit provider, AI Studio uses the app-wide default provider.
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.PreselectedAgentProvider"] = "00000000-0000-0000-0000-000000000000"
|
|
--
|
|
-- Configure the minimum audit level assistant plugins must meet.
|
|
-- Allowed values are: UNKNOWN, DANGEROUS, CAUTION, SAFE
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.MinimumLevel"] = "CAUTION"
|
|
--
|
|
-- Configure whether activation is blocked when the audit result is below the minimum level.
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.BlockActivationBelowMinimum"] = true
|
|
--
|
|
-- Configure whether new or changed assistant plugins are audited automatically in the background.
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.AutomaticallyAuditAssistants"] = false
|
|
--
|
|
-- Configure whether users can change assistant plugin audit settings locally.
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.RequireAuditBeforeActivation.AllowUserOverride"] = false
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.PreselectedAgentProvider.AllowUserOverride"] = false
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.MinimumLevel.AllowUserOverride"] = false
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.BlockActivationBelowMinimum.AllowUserOverride"] = false
|
|
-- CONFIG["SETTINGS"]["DataAssistantPluginAudit.AutomaticallyAuditAssistants.AllowUserOverride"] = false
|
|
|
|
-- Example chat templates for this configuration:
|
|
CONFIG["CHAT_TEMPLATES"] = {}
|
|
|
|
-- A simple example chat template:
|
|
-- CONFIG["CHAT_TEMPLATES"][#CONFIG["CHAT_TEMPLATES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Name"] = "<user-friendly name of the chat template>",
|
|
-- ["SystemPrompt"] = "You are <Company Name>'s helpful AI assistant for <Department Name>. Your task is ...",
|
|
-- ["PredefinedUserPrompt"] = "Please help me with ...",
|
|
-- ["AllowProfileUsage"] = true,
|
|
-- ["ExampleConversation"] = {
|
|
-- {
|
|
-- -- Allowed values are: USER, AI, SYSTEM
|
|
-- ["Role"] = "USER",
|
|
-- ["Content"] = "Hello! Can you help me with a quick task?"
|
|
-- },
|
|
-- {
|
|
-- -- Allowed values are: USER, AI, SYSTEM
|
|
-- ["Role"] = "AI",
|
|
-- ["Content"] = "Of course. What do you need?"
|
|
-- }
|
|
-- }
|
|
-- }
|
|
|
|
-- An example chat template with file attachments:
|
|
-- This template automatically attaches specified files when the user selects it.
|
|
-- CONFIG["CHAT_TEMPLATES"][#CONFIG["CHAT_TEMPLATES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000001",
|
|
-- ["Name"] = "Document Analysis Template",
|
|
-- ["SystemPrompt"] = "You are an expert document analyst. Please analyze the attached documents and provide insights.",
|
|
-- ["PredefinedUserPrompt"] = "Please analyze the attached company guidelines and summarize the key points.",
|
|
-- ["AllowProfileUsage"] = true,
|
|
-- -- Optional: Pre-attach files that will be automatically included when using this template.
|
|
-- -- These files will be loaded when the user selects this chat template.
|
|
-- -- Note: File paths can be absolute paths that are accessible to all users, or relative paths
|
|
-- -- inside this plugin folder, for example "attachments/00000000-0000-0000-0000-000000000001/Guidelines.pdf".
|
|
-- ["FileAttachments"] = {
|
|
-- "G:\\Company\\Documents\\Guidelines.pdf",
|
|
-- "G:\\Company\\Documents\\CompanyPolicies.docx"
|
|
-- },
|
|
-- ["ExampleConversation"] = {
|
|
-- {
|
|
-- ["Role"] = "USER",
|
|
-- ["Content"] = "I have attached the company documents for analysis."
|
|
-- },
|
|
-- {
|
|
-- ["Role"] = "AI",
|
|
-- ["Content"] = "Thank you. I'll analyze the documents and provide a comprehensive summary."
|
|
-- }
|
|
-- }
|
|
-- }
|
|
|
|
-- An example chat template which preselects tools and data sources:
|
|
-- Both are optional and independent of each other. Leaving a field out is not the same as
|
|
-- leaving it empty:
|
|
--
|
|
-- ToolIds omitted -> the chat starts with the tools set as its default
|
|
-- ToolIds = {} -> the chat starts with no tools at all
|
|
-- DataSourceOptions omitted -> the chat starts with the data source defaults
|
|
-- DataSourceOptions = { ... } -> the chat starts with exactly what this table says
|
|
--
|
|
-- Both are a preselection, not a limit: users change either of them in the chat as usual.
|
|
-- CONFIG["CHAT_TEMPLATES"][#CONFIG["CHAT_TEMPLATES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000002",
|
|
-- ["Name"] = "Intranet Research",
|
|
-- ["SystemPrompt"] = "You are <Company Name>'s research assistant. Answer from our own documents and say where each answer comes from.",
|
|
-- ["AllowProfileUsage"] = true,
|
|
--
|
|
-- -- Optional: the tools a chat with this template starts with, by tool or collection ID.
|
|
-- -- A tool ID unknown to the installation is ignored, and so is a tool your
|
|
-- -- organization switched off. A tool has to meet the confidence requirements of the
|
|
-- -- provider in use, so it may stay unavailable even though this template names it.
|
|
-- -- Tool IDs include: web_search, read_web_page, search_confluence
|
|
-- -- Collection IDs include: mailboxes
|
|
-- -- Selecting search_confluence also selects read_web_page. semantic_search cannot be
|
|
-- -- selected here: it offers itself whenever the chat has data sources to search.
|
|
-- ["ToolIds"] = {
|
|
-- "read_web_page",
|
|
-- },
|
|
--
|
|
-- -- Optional: the data source options a chat with this template starts with.
|
|
-- -- Every field inside is optional as well. DisableDataSources defaults to false here,
|
|
-- -- because writing this table at all says that the template wants data sources;
|
|
-- -- RetrievalMode defaults to SEMANTIC_SEARCH, and the other three default to false and
|
|
-- -- an empty list.
|
|
-- ["DataSourceOptions"] = {
|
|
-- -- Set to true to start the chat with data sources switched off.
|
|
-- ["DisableDataSources"] = false,
|
|
--
|
|
-- -- How the data sources are searched, with the same values and the same fallback
|
|
-- -- as DataChat.PreselectedDataSourcesRetrievalMode: SEMANTIC_SEARCH lets the AI
|
|
-- -- search them itself whenever a question calls for it, EVERY_MESSAGE lets AI Studio
|
|
-- -- search them with every message. With SEMANTIC_SEARCH, no agent takes part:
|
|
-- -- AutomaticDataSourceSelection then lets the AI itself choose among all data
|
|
-- -- sources it may use, and AutomaticValidation has no effect.
|
|
-- ["RetrievalMode"] = "EVERY_MESSAGE",
|
|
--
|
|
-- -- Let an agent choose the fitting data sources for each question. When true,
|
|
-- -- PreselectedDataSourceIds is not used.
|
|
-- ["AutomaticDataSourceSelection"] = false,
|
|
--
|
|
-- -- Let an agent check whether the retrieved data fits the question.
|
|
-- ["AutomaticValidation"] = true,
|
|
--
|
|
-- -- Must contain IDs from CONFIG["DATA_SOURCES"] or user-configured data sources.
|
|
-- -- IDs from another configuration of your organization work as well: they are
|
|
-- -- resolved against every known data source, not only against the ones defined
|
|
-- -- here. IDs that resolve to nothing are ignored.
|
|
-- ["PreselectedDataSourceIds"] = {
|
|
-- "00000000-0000-0000-0000-000000000000",
|
|
-- },
|
|
-- },
|
|
-- }
|
|
|
|
-- An example chat template which preselects a provider, a profile, and a workspace:
|
|
-- All three are optional and independent of each other, and leaving one out keeps what a
|
|
-- chat starts with anyway. They are a preselection, not a limit: users change the provider
|
|
-- and the profile in the chat as usual, and move the chat to another workspace. The IDs may
|
|
-- name a provider or profile of this configuration, which keeps its ID on every computer, or
|
|
-- one of another configuration of your organization.
|
|
-- CONFIG["CHAT_TEMPLATES"][#CONFIG["CHAT_TEMPLATES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000003",
|
|
-- ["Name"] = "Mail Assistant",
|
|
-- ["SystemPrompt"] = "You help <Company Name>'s employees read, sort, and answer their mails.",
|
|
-- ["AllowProfileUsage"] = true,
|
|
--
|
|
-- -- Optional: the provider, and with it the model, a chat with this template starts with.
|
|
-- -- Must be an ID from CONFIG["LLM_PROVIDERS"] or of a provider of another configuration.
|
|
-- -- The provider has to meet the confidence level required for chats. A provider which
|
|
-- -- does not, or an ID which resolves to nothing, is ignored, and the chat starts with
|
|
-- -- the provider it would start with anyway.
|
|
-- ["ProviderId"] = "11111111-1111-1111-1111-111111111111",
|
|
--
|
|
-- -- Optional: the profile a chat with this template starts with.
|
|
-- -- Must be an ID from CONFIG["PROFILES"] or of a profile of another configuration.
|
|
-- -- "00000000-0000-0000-0000-000000000000" starts the chat without a profile, whatever
|
|
-- -- the user chose as their default. An ID which resolves to nothing is ignored, and the
|
|
-- -- chat starts with the default profile of the user. The whole field is ignored when
|
|
-- -- AllowProfileUsage is false.
|
|
-- ["ProfileId"] = "22222222-2222-2222-2222-222222222222",
|
|
--
|
|
-- -- Optional: the workspace, by its name, that keeps the chats started with this template.
|
|
-- -- The workspace is created with the first message of such a chat, when it does not exist
|
|
-- -- yet. It only applies where a chat would otherwise be a disappearing chat: a chat users
|
|
-- -- start in a workspace on purpose, for example, from the workspace list, stays there, and
|
|
-- -- so does every chat while workspaces are switched off. An assistant chat launcher which
|
|
-- -- names a workspace keeps its own.
|
|
-- ["WorkspaceName"] = "Mails",
|
|
-- }
|
|
|
|
-- Introduction texts shown as expansion panels on the welcome page:
|
|
CONFIG["INTRODUCTIONS"] = {}
|
|
|
|
-- An example introduction:
|
|
-- CONFIG["INTRODUCTIONS"][#CONFIG["INTRODUCTIONS"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Title"] = "Welcome to Your Organization's AI Studio",
|
|
-- ["Version"] = "1",
|
|
-- ["Index"] = 1,
|
|
-- ["Markdown"] = [===[
|
|
-- ## Getting Started
|
|
--
|
|
-- This AI Studio installation is managed by your organization.
|
|
-- Please use the preconfigured providers and follow your internal
|
|
-- AI usage guidelines.
|
|
--
|
|
-- Further information is available in the [internal wiki](https://example.org/wiki).
|
|
-- ]===]
|
|
-- }
|
|
|
|
-- What AI Studio tells users in the panel on the home page which asks for their API key. It asks
|
|
-- as long as a provider of this plugin which sets "PromptForUserAPIKey" has no API key. AI Studio
|
|
-- checks the key the user enters with the first of these providers which can list its models,
|
|
-- and then stores it for all of them. A key the provider refuses is not stored. When no provider
|
|
-- can check the key, or the provider is out of reach, AI Studio stores the key with a warning.
|
|
-- Markdown is required, Title is optional. Without this table, AI Studio shows a generic request.
|
|
-- CONFIG["USER_API_KEY_PROMPT"] = {
|
|
-- ["Title"] = "Please add your API key",
|
|
-- ["Markdown"] = [===[
|
|
-- To use the AI models of your organization, you need a personal API key:
|
|
--
|
|
-- 1. Open [Open WebUI](https://example.org) and sign in.
|
|
-- 2. Click your profile picture, then "Settings" and "Account".
|
|
-- 3. Create an API key, copy it, and paste it below.
|
|
-- ]===]
|
|
-- }
|
|
|
|
-- Mandatory infos that users must explicitly accept before using AI Studio:
|
|
-- AI Studio asks users again when Version, Title, or Markdown change.
|
|
-- Changing Version additionally allows the UI to communicate that a new version is available.
|
|
CONFIG["MANDATORY_INFOS"] = {}
|
|
|
|
-- An example mandatory info:
|
|
-- CONFIG["MANDATORY_INFOS"][#CONFIG["MANDATORY_INFOS"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Title"] = "AI Usage Requirements",
|
|
-- ["Version"] = "1",
|
|
-- ["Markdown"] = [===[
|
|
-- ## Usage Requirements
|
|
--
|
|
-- Before using this AI offering, please ensure that:
|
|
--
|
|
-- - you have completed the required internal training,
|
|
-- - generated output is clearly labeled where necessary,
|
|
-- - results are reviewed by a human before reuse,
|
|
-- - all internal policies and applicable law are followed.
|
|
--
|
|
-- Further information is available in the [internal wiki](https://example.org/wiki).
|
|
-- ]===],
|
|
-- ["AcceptButtonText"] = "Yes, I comply with these requirements",
|
|
-- ["RejectButtonText"] = "Stop. I do not agree to these requirements"
|
|
-- }
|
|
|
|
-- Document analysis policies for this configuration:
|
|
CONFIG["DOCUMENT_ANALYSIS_POLICIES"] = {}
|
|
|
|
-- An example document analysis policy:
|
|
-- CONFIG["DOCUMENT_ANALYSIS_POLICIES"][#CONFIG["DOCUMENT_ANALYSIS_POLICIES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["PolicyName"] = "Compliance Summary Policy",
|
|
-- ["PolicyDescription"] = "Summarizes compliance-relevant clauses, obligations, and deadlines found in provided documents.",
|
|
--
|
|
-- ["AnalysisRules"] = [===[
|
|
-- Focus on compliance obligations, deadlines, and required actions.
|
|
-- Ignore marketing content and high-level summaries.
|
|
-- Flag any ambiguous or missing information.
|
|
-- ]===],
|
|
--
|
|
-- ["OutputRules"] = [===[
|
|
-- Provide a Markdown report with headings for Obligations, Deadlines,
|
|
-- and Open Questions.
|
|
-- ]===],
|
|
--
|
|
-- -- Optional: minimum provider confidence required for this policy.
|
|
-- -- Allowed values are: NONE, VERY_LOW, LOW, MODERATE, MEDIUM, HIGH
|
|
-- ["MinimumProviderConfidence"] = "MEDIUM",
|
|
--
|
|
-- -- Optional: the tools an analysis with this policy may use, by tool or collection ID.
|
|
-- -- This is a limit, not a preselection: a tool which is not listed here cannot be
|
|
-- -- used for this policy. Omitting the list, or leaving it empty, means no tools.
|
|
-- -- A listed tool must still meet the confidence requirements of the provider in
|
|
-- -- use, so a tool may stay unavailable even though this policy permits it.
|
|
-- -- Tool IDs include: web_search, read_web_page, search_confluence
|
|
-- -- Collection IDs include: mailboxes
|
|
-- -- Allowing search_confluence also allows read_web_page.
|
|
-- ["AllowedToolIds"] = { "web_search" },
|
|
--
|
|
-- -- Optional: preselect a provider or profile by ID.
|
|
-- -- The IDs must exist in CONFIG["LLM_PROVIDERS"] or CONFIG["PROFILES"].
|
|
-- ["PreselectedProvider"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["PreselectedProfile"] = "00000000-0000-0000-0000-000000000000",
|
|
--
|
|
-- -- Optional: hide the policy definition section in the UI.
|
|
-- -- When set to true, users will only see the document selection interface
|
|
-- -- and cannot view or modify the policy settings.
|
|
-- -- This is useful for enterprise configurations where policy details should remain hidden.
|
|
-- -- Allowed values are: true, false (default: false)
|
|
-- ["HidePolicyDefinition"] = false
|
|
-- }
|
|
|
|
-- Profiles for this configuration:
|
|
CONFIG["PROFILES"] = {}
|
|
|
|
-- A simple profile template:
|
|
-- CONFIG["PROFILES"][#CONFIG["PROFILES"]+1] = {
|
|
-- ["Id"] = "00000000-0000-0000-0000-000000000000",
|
|
-- ["Name"] = "<user-friendly name of the profile>",
|
|
-- ["NeedToKnow"] = "I like to cook in my free time. My favorite meal is ...",
|
|
-- ["Actions"] = "Please always ensure the portion size is ..."
|
|
-- } |