mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-02-12 20:01:37 +00:00
226 lines
9.1 KiB
Lua
226 lines
9.1 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"
|
|
|
|
-- The type of the plugin:
|
|
TYPE = "CONFIGURATION"
|
|
|
|
-- 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:
|
|
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, LLAMACPP, OLLAMA, and VLLM
|
|
["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.
|
|
-- Please do not add the enclosing curly braces {} here. Also, no trailing comma is allowed.
|
|
["AdditionalJsonApiParameters"] = "",
|
|
["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: LM_STUDIO, LLAMACPP, OLLAMA, VLLM, and WHISPER_CPP
|
|
-- ["Host"] = "WHISPER_CPP",
|
|
-- ["Hostname"] = "<https address of the server>",
|
|
-- ["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, LLAMACPP, OLLAMA, and VLLM
|
|
-- ["Host"] = "OLLAMA",
|
|
-- ["Hostname"] = "<https address of the server>",
|
|
-- ["Model"] = {
|
|
-- ["Id"] = "<the model ID, e.g., nomic-embed-text>",
|
|
-- ["DisplayName"] = "<user-friendly name of the model>",
|
|
-- }
|
|
-- }
|
|
|
|
CONFIG["SETTINGS"] = {}
|
|
|
|
-- Configure the update check interval:
|
|
-- Allowed values are: NO_CHECK, ONCE_STARTUP, HOURLY, DAILY, WEEKLY
|
|
-- CONFIG["SETTINGS"]["DataApp.UpdateInterval"] = "NO_CHECK"
|
|
|
|
-- Configure how updates are installed:
|
|
-- Allowed values are: MANUAL, AUTOMATIC
|
|
-- CONFIG["SETTINGS"]["DataApp.UpdateInstallation"] = "MANUAL"
|
|
|
|
-- Configure the user permission to add providers:
|
|
-- Allowed values are: true, false
|
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToAddProvider"] = false
|
|
|
|
-- 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/app/MindWork%20AI%20Studio/Settings/DataModel/PreviewFeatures.cs
|
|
-- Examples are PRE_WRITER_MODE_2024, PRE_RAG_2024, PRE_DOCUMENT_ANALYSIS_2025.
|
|
-- CONFIG["SETTINGS"]["DataApp.EnabledPreviewFeatures"] = { "PRE_RAG_2024", "PRE_DOCUMENT_ANALYSIS_2025" }
|
|
|
|
-- 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 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 which assistants should be hidden from the UI.
|
|
-- Allowed values are:
|
|
-- GRAMMAR_SPELLING_ASSISTANT, ICON_FINDER_ASSISTANT, REWRITE_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,
|
|
-- I18N_ASSISTANT
|
|
-- CONFIG["SETTINGS"]["DataApp.HiddenAssistants"] = { "ERI_ASSISTANT", "I18N_ASSISTANT" }
|
|
|
|
-- 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"
|
|
|
|
-- 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 must be absolute paths and accessible to all users.
|
|
["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."
|
|
}
|
|
}
|
|
}
|
|
|
|
-- 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 ..."
|
|
} |