Files
gnome-jarvis/apps/gnome-extension/[email protected]/settings-catalog.json
T
snxraven a097adf4eb
Rolling release / release (push) Successful in 8m31s
Updates
2026-09-13 22:24:14 -04:00

848 lines
20 KiB
JSON

{
"version": 1,
"fields": [
{
"key": "assistantName",
"title": "Assistant name",
"group": "Identity",
"default": "Jarvis",
"type": "string",
"maxLength": 32,
"description": "What to call the assistant in the tray, speech, and workspace IDENTITY.md."
},
{
"key": "assistantPrompt",
"title": "How they should act",
"group": "Identity",
"default": "",
"type": "text",
"maxLength": 4000,
"description": "Character instructions go in the system prompt only. They override SOUL.md and IDENTITY.md for name and tone. Replies stay speakable."
},
{
"key": "ttsEnabled",
"title": "Spoken replies",
"group": "Speech",
"default": true,
"type": "boolean",
"description": "Read replies aloud using local speech synthesis.",
"aliases": [
"tts_enabled"
]
},
{
"key": "ttsPreset",
"title": "Speech model",
"group": "Speech",
"default": "supertonic-en",
"type": "choice",
"description": "Models download on first use. Larger models need more memory.",
"options": [
{
"value": "supertonic-en",
"label": "Supertonic \u00b7 English \u00b7 lightweight"
},
{
"value": "supertonic3",
"label": "Supertonic 3 \u00b7 multilingual"
},
{
"value": "chatterbox",
"label": "Chatterbox Turbo \u00b7 English \u00b7 reference voice"
},
{
"value": "parler",
"label": "Parler Mini \u00b7 English \u00b7 describe a voice"
}
]
},
{
"key": "voiceId",
"title": "Voice",
"group": "Speech",
"default": "F1",
"type": "choice",
"description": "Try the same preview with different voices. Available voices depend on the model bundle.",
"options": [
{
"value": "F1",
"label": "F1"
},
{
"value": "F2",
"label": "F2"
},
{
"value": "F3",
"label": "F3"
},
{
"value": "F4",
"label": "F4"
},
{
"value": "F5",
"label": "F5"
},
{
"value": "M1",
"label": "M1"
},
{
"value": "M2",
"label": "M2"
},
{
"value": "M3",
"label": "M3"
},
{
"value": "M4",
"label": "M4"
},
{
"value": "M5",
"label": "M5"
}
],
"aliases": [
"voice_id",
"voice-id"
],
"when": {
"ttsPreset": [
"supertonic-en",
"supertonic3"
]
}
},
{
"key": "ttsLanguage",
"title": "Speech language",
"group": "Speech",
"default": "en",
"type": "choice",
"description": "The English models always use English. Choose Supertonic 3 for other languages.",
"options": [
{
"value": "en",
"label": "English"
},
{
"value": "ko",
"label": "Korean"
},
{
"value": "ja",
"label": "Japanese"
},
{
"value": "ar",
"label": "Arabic"
},
{
"value": "bg",
"label": "Bulgarian"
},
{
"value": "cs",
"label": "Czech"
},
{
"value": "da",
"label": "Danish"
},
{
"value": "de",
"label": "German"
},
{
"value": "el",
"label": "Greek"
},
{
"value": "es",
"label": "Spanish"
},
{
"value": "et",
"label": "Estonian"
},
{
"value": "fi",
"label": "Finnish"
},
{
"value": "fr",
"label": "French"
},
{
"value": "hi",
"label": "Hindi"
},
{
"value": "hr",
"label": "Croatian"
},
{
"value": "hu",
"label": "Hungarian"
},
{
"value": "id",
"label": "Indonesian"
},
{
"value": "it",
"label": "Italian"
},
{
"value": "lt",
"label": "Lithuanian"
},
{
"value": "lv",
"label": "Latvian"
},
{
"value": "nl",
"label": "Dutch"
},
{
"value": "pl",
"label": "Polish"
},
{
"value": "pt",
"label": "Portuguese"
},
{
"value": "ro",
"label": "Romanian"
},
{
"value": "ru",
"label": "Russian"
},
{
"value": "sk",
"label": "Slovak"
},
{
"value": "sl",
"label": "Slovenian"
},
{
"value": "sv",
"label": "Swedish"
},
{
"value": "tr",
"label": "Turkish"
},
{
"value": "uk",
"label": "Ukrainian"
},
{
"value": "vi",
"label": "Vietnamese"
}
],
"aliases": [
"tts_language"
],
"when": {
"ttsPreset": [
"supertonic3"
]
}
},
{
"key": "ttsSpeed",
"title": "Speaking speed",
"group": "Speech",
"default": 1.05,
"type": "number",
"description": "1 is normal speed; lower is slower.",
"min": 0.25,
"max": 4,
"step": 0.05,
"aliases": [
"tts_speed"
],
"when": {
"ttsPreset": [
"supertonic-en",
"supertonic3"
]
}
},
{
"key": "ttsSteps",
"title": "Voice quality steps",
"group": "Speech",
"default": 5,
"type": "number",
"description": "More steps can improve quality but take longer.",
"min": 1,
"max": 30,
"step": 1,
"when": {
"ttsPreset": [
"supertonic-en",
"supertonic3"
]
}
},
{
"key": "ttsVolume",
"title": "Reply volume (%)",
"group": "Speech",
"default": 100,
"type": "number",
"description": "Relative to the system speaker volume. Does not change other apps.",
"min": 0,
"max": 100,
"step": 5
},
{
"key": "ttsReferenceAudio",
"title": "Reference voice recording",
"group": "Voice design",
"default": "",
"type": "file",
"description": "Choose a clear mono WAV recording of at least 5 seconds. Leave empty for the model\u2019s default voice.",
"when": {
"ttsPreset": [
"chatterbox"
]
}
},
{
"key": "ttsCfmSteps",
"title": "Synthesis quality steps",
"group": "Voice design",
"default": 2,
"type": "number",
"description": "Chatterbox: fewer steps respond faster.",
"min": 1,
"max": 10,
"step": 1,
"when": {
"ttsPreset": [
"chatterbox"
]
}
},
{
"key": "ttsDescription",
"title": "Describe the voice",
"group": "Voice design",
"default": "A clear, warm voice speaks at a natural pace in a quiet room.",
"type": "string",
"description": "Parler: describe tone, pace, pitch, and recording style in English.",
"when": {
"ttsPreset": [
"parler"
]
}
},
{
"key": "ttsTemperature",
"title": "Voice variation",
"group": "Voice design",
"default": 1,
"type": "number",
"description": "Parler: higher values produce more variation.",
"min": 0,
"max": 2,
"step": 0.05,
"when": {
"ttsPreset": [
"parler"
]
}
},
{
"key": "ttsSeed",
"title": "Voice seed",
"group": "Voice design",
"default": 42,
"type": "number",
"description": "Use a fixed seed for repeatable speech generation.",
"min": 0,
"max": 2147483647,
"step": 1,
"when": {
"ttsPreset": [
"chatterbox",
"parler"
]
}
},
{
"key": "ttsThreads",
"title": "Speech CPU threads",
"group": "Voice design",
"default": 4,
"type": "number",
"description": "Limit CPU work for Chatterbox and Parler.",
"min": 1,
"max": 32,
"step": 1,
"when": {
"ttsPreset": [
"chatterbox",
"parler"
]
}
},
{
"key": "ttsUseGpu",
"title": "Accelerate speech with GPU",
"group": "Voice design",
"default": false,
"type": "boolean",
"description": "Use a supported GPU backend for speech synthesis. May increase GPU memory use."
},
{
"key": "ttsModel",
"title": "Custom speech model",
"group": "Voice design",
"default": "",
"type": "string",
"description": "Advanced: registry name or local GGUF matching the selected speech model. Empty uses the bundled preset.",
"aliases": [
"tts_model"
]
},
{
"key": "previewText",
"title": "Preview text",
"group": "Speech",
"default": "Hello. I am Jarvis. This is how I will sound with your settings.",
"type": "string",
"description": "Use the same sentence to compare voices."
},
{
"key": "microphoneEnabled",
"title": "Microphone input",
"group": "Listening",
"default": true,
"type": "boolean",
"description": "Turn off for typed chat and speech output only.",
"aliases": [
"microphone_enabled"
]
},
{
"key": "asrModel",
"title": "Recognition model",
"group": "Listening",
"default": "WHISPER_TINY",
"type": "choice",
"description": "Larger models need more memory and download on first use.",
"options": [
{
"value": "WHISPER_TINY",
"label": "Whisper Tiny \u00b7 fastest"
},
{
"value": "WHISPER_BASE_Q8_0",
"label": "Whisper Base \u00b7 balanced"
},
{
"value": "WHISPER_SMALL_Q8_0",
"label": "Whisper Small \u00b7 more accurate"
}
],
"aliases": [
"asr_model"
]
},
{
"key": "asrLanguage",
"title": "Recognition language",
"group": "Listening",
"default": "en",
"type": "string",
"description": "Whisper language code such as en, es, fr, or auto.",
"aliases": [
"asr_language",
"language"
]
},
{
"key": "wakePhrase",
"title": "Wake phrase",
"group": "Wake and privacy",
"default": "hey jarvis",
"type": "string",
"description": "Must match a phrase supported by your local wake detector.",
"aliases": [
"wake_phrase"
]
},
{
"key": "aliases",
"title": "Wake aliases",
"group": "Wake and privacy",
"default": [
"jarvis",
"okay jarvis"
],
"type": "list",
"description": "Additional detector phrases, separated by commas."
},
{
"key": "wakeCommand",
"title": "Wake detector command",
"group": "Wake and privacy",
"default": "jarvis-wake-bridge",
"type": "string",
"description": "Local program that receives microphone audio. jarvis-wake-bridge is the built-in CPU detector. Leave it unless you have openWakeWord or sherpa.",
"aliases": [
"wake_command"
]
},
{
"key": "listeningMode",
"title": "Listening behavior",
"group": "Wake and privacy",
"default": "conversation",
"type": "choice",
"description": "Hold Talk only disables the wake detector and automatic follow-up listening.",
"options": [
{
"value": "conversation",
"label": "Continue listening after replies"
},
{
"value": "single",
"label": "One request per wake"
},
{
"value": "ptt",
"label": "Hold Talk only"
}
],
"aliases": [
"listening_mode"
]
},
{
"key": "idleMinutes",
"title": "Idle sleep delay (minutes)",
"group": "Wake and privacy",
"default": 30,
"type": "number",
"description": "Sleep after this much listening inactivity.",
"min": 1,
"max": 240,
"step": 1
},
{
"key": "freeVramOnIdle",
"title": "Free GPU memory when idle",
"group": "Wake and privacy",
"default": true,
"type": "boolean",
"description": "Unload speech and chat models after the idle delay. Hey Jarvis stays ready on the CPU.",
"aliases": [
"free_vram_on_idle"
]
},
{
"key": "vadThreshold",
"title": "Speech detection threshold",
"group": "Detection tuning",
"default": 0.6,
"type": "number",
"description": "Lower picks up quieter speech; higher rejects more background noise.",
"min": 0.05,
"max": 1,
"step": 0.05
},
{
"key": "vadMinSpeechMs",
"title": "Minimum speech (ms)",
"group": "Detection tuning",
"default": 300,
"type": "number",
"description": "Ignore very short sounds during automatic listening.",
"min": 100,
"max": 2000,
"step": 50
},
{
"key": "vadSilenceMs",
"title": "Pause before sending (ms)",
"group": "Detection tuning",
"default": 700,
"type": "number",
"description": "Wait this long after speech before sending your request.",
"min": 200,
"max": 3000,
"step": 50
},
{
"key": "vadMaxSpeechSeconds",
"title": "Maximum recording (seconds)",
"group": "Detection tuning",
"default": 15,
"type": "number",
"description": "Limit each recorded utterance, including pauses.",
"min": 3,
"max": 120,
"step": 1
},
{
"key": "playbackCooldownMs",
"title": "Echo protection after replies (ms)",
"group": "Detection tuning",
"default": 400,
"type": "number",
"description": "Delay microphone processing after speech output ends.",
"min": 0,
"max": 2000,
"step": 50
},
{
"key": "inputTarget",
"title": "Microphone device",
"group": "Audio routing",
"default": "",
"type": "device",
"description": "System default follows your desktop sound settings. Refresh the list after connecting a device."
},
{
"key": "outputTarget",
"title": "Speaker device",
"group": "Audio routing",
"default": "",
"type": "device",
"description": "System default follows your desktop sound settings. Refresh the list after connecting a device."
},
{
"key": "computerMode",
"title": "Desktop access mode",
"group": "Desktop access",
"default": "act",
"type": "choice",
"description": "A temporary Allow now grant is always required. Changing this revokes existing access.",
"options": [
{
"value": "off",
"label": "Disabled"
},
{
"value": "observe",
"label": "Observe only"
},
{
"value": "act",
"label": "Observe and control"
}
],
"aliases": [
"computer_mode"
]
},
{
"key": "computerSteps",
"title": "Actions per grant",
"group": "Desktop access",
"default": 20,
"type": "number",
"description": "Maximum input actions before another grant is needed.",
"min": 1,
"max": 100,
"step": 1,
"aliases": [
"computer_step_budget"
]
},
{
"key": "computerGrantMinutes",
"title": "Grant duration (minutes)",
"group": "Desktop access",
"default": 3,
"type": "number",
"description": "Desktop access expires automatically.",
"min": 1,
"max": 15,
"step": 1
},
{
"key": "screenshotMaxEdge",
"title": "Screenshot maximum edge (pixels)",
"group": "Desktop images",
"default": 1280,
"type": "number",
"description": "Larger screenshots preserve detail but take more memory.",
"min": 640,
"max": 2560,
"step": 160
},
{
"key": "screenshotQuality",
"title": "Screenshot quality (%)",
"group": "Desktop images",
"default": 70,
"type": "number",
"description": "Higher WebP quality preserves more text detail.",
"min": 30,
"max": 95,
"step": 5
},
{
"key": "webcamEnabled",
"title": "Camera access",
"group": "Camera",
"default": false,
"type": "boolean",
"description": "Off by default. Press Allow now to start a temporary camera grant. Apply this switch if you want the feature remembered."
},
{
"key": "webcamDevice",
"title": "Camera device",
"group": "Camera",
"default": "",
"type": "device",
"mediaClass": "Video/Source",
"description": "System default follows PipeWire. Refresh the list after connecting a camera."
},
{
"key": "webcamGrantMinutes",
"title": "Camera grant duration (minutes)",
"group": "Camera",
"default": 3,
"type": "number",
"description": "Camera access expires automatically. Changing this revokes an active grant.",
"min": 1,
"max": 15,
"step": 1
},
{
"key": "webcamMaxEdge",
"title": "Camera still maximum edge (pixels)",
"group": "Camera",
"default": 720,
"type": "number",
"description": "Larger stills preserve detail but take more memory.",
"min": 320,
"max": 1280,
"step": 80
},
{
"key": "modelProfile",
"title": "Chat model profile",
"group": "Chat model",
"default": "laptop-16gb",
"type": "choice",
"description": "Requires a daemon restart. GPU inference remains required.",
"options": [
{
"value": "laptop-4gb-mm",
"label": "Tiny \u00b7 Qwen3.5 0.8B"
},
{
"value": "laptop-8gb",
"label": "Small \u00b7 Qwen3 1.7B"
},
{
"value": "laptop-8gb-mm",
"label": "Compact \u00b7 Qwen3.5 2B"
},
{
"value": "laptop-16gb",
"label": "Balanced \u00b7 Qwen3.5 4B"
},
{
"value": "desktop-gpu",
"label": "Large \u00b7 Qwen3.5 9B"
}
],
"aliases": [
"model_profile"
],
"restart": true
},
{
"key": "chatModel",
"title": "Custom chat model",
"group": "Chat model",
"default": "",
"type": "string",
"description": "Advanced: overrides the profile. Empty uses the profile model. Requires restart.",
"aliases": [
"model"
],
"restart": true
},
{
"key": "maxTurns",
"title": "Maximum reasoning turns",
"group": "Agent limits",
"default": 6,
"type": "number",
"description": "Requires restart. Limits how long the assistant works on one request.",
"min": 1,
"max": 30,
"step": 1,
"restart": true
},
{
"key": "maxShellCalls",
"title": "Shell commands per request",
"group": "Agent limits",
"default": 1,
"type": "number",
"description": "Requires restart. Commands still require normal permissions.",
"min": 1,
"max": 10,
"step": 1,
"restart": true
},
{
"key": "maxToolRounds",
"title": "Tool rounds per request",
"group": "Agent limits",
"default": 4,
"type": "number",
"description": "Requires restart. Limits repeated tool use.",
"min": 1,
"max": 20,
"step": 1,
"restart": true
},
{
"key": "fsAccess",
"title": "File access",
"group": "Agent limits",
"default": "workspace",
"type": "choice",
"description": "Requires restart. The agent still runs as your user account and asks before writing. Shell commands can already reach other paths.",
"options": [
{
"value": "workspace",
"label": "Jarvis workspace only"
},
{
"value": "home",
"label": "Home directory"
},
{
"value": "filesystem",
"label": "Entire filesystem"
}
],
"aliases": [
"fs_access"
],
"restart": true
}
]
}