951 lines
24 KiB
JSON
951 lines
24 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": "Temporary access",
|
|
"default": "act",
|
|
"type": "choice",
|
|
"description": "Choose what Save and Allow grants to the desktop. GNOME may ask you to choose a screen.",
|
|
"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": "Access limits",
|
|
"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": "Access limits",
|
|
"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": "Include camera",
|
|
"group": "Temporary access",
|
|
"default": false,
|
|
"type": "boolean",
|
|
"description": "Also grant camera access when you press Save and Allow. Off by default."
|
|
},
|
|
{
|
|
"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": "Access limits",
|
|
"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": "Local model for files, shell, desktop, camera, and every tool except web-page thinking. 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 for local tools. Empty uses the profile model. Requires restart.",
|
|
"aliases": [
|
|
"model"
|
|
],
|
|
"restart": true
|
|
},
|
|
{
|
|
"key": "agentInference",
|
|
"title": "Agent inference",
|
|
"group": "Chat model",
|
|
"default": "local",
|
|
"type": "choice",
|
|
"description": "Local QVAC runs every tool on this GPU. Groq thinks only about pages the local Chrome window has crawled. The crawl, and every other tool, stay on this computer. Apply is enough. Default stays local.",
|
|
"options": [
|
|
{
|
|
"value": "local",
|
|
"label": "Local QVAC"
|
|
},
|
|
{
|
|
"value": "groq",
|
|
"label": "Groq (web browsing)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "groqApiKey",
|
|
"title": "Groq API key",
|
|
"group": "Chat model",
|
|
"default": "",
|
|
"type": "password",
|
|
"description": "Stored in config.json. GROQ_API_KEY or JARVIS_GROQ_API_KEY overrides this field. Create a key at console.groq.com. Do not use groq/compound; Jarvis runs tools locally.",
|
|
"maxLength": 256,
|
|
"when": {
|
|
"agentInference": [
|
|
"groq"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"key": "groqModel",
|
|
"title": "Groq chat model",
|
|
"group": "Chat model",
|
|
"default": "openai/gpt-oss-20b",
|
|
"type": "choice",
|
|
"description": "Dropdown of Groq models that can think about a local Chrome crawl. Fast default is GPT-OSS 20B. Compound, Whisper, and speech models are not listed. Other tools never go to Groq.",
|
|
"options": [
|
|
{
|
|
"value": "openai/gpt-oss-20b",
|
|
"label": "Fast \u00b7 openai/gpt-oss-20b"
|
|
},
|
|
{
|
|
"value": "openai/gpt-oss-120b",
|
|
"label": "Large \u00b7 openai/gpt-oss-120b"
|
|
},
|
|
{
|
|
"value": "llama-3.1-8b-instant",
|
|
"label": "Instant \u00b7 llama-3.1-8b-instant"
|
|
},
|
|
{
|
|
"value": "llama-3.3-70b-versatile",
|
|
"label": "Versatile \u00b7 llama-3.3-70b-versatile"
|
|
},
|
|
{
|
|
"value": "qwen/qwen3.6-27b",
|
|
"label": "Vision \u00b7 qwen/qwen3.6-27b"
|
|
},
|
|
{
|
|
"value": "qwen/qwen3.8-27b",
|
|
"label": "Vision \u00b7 qwen/qwen3.8-27b"
|
|
},
|
|
{
|
|
"value": "minimaxai/minimax-m2.7",
|
|
"label": "MiniMax M2.7 \u00b7 minimaxai/minimax-m2.7"
|
|
},
|
|
{
|
|
"value": "openai/gpt-oss-safeguard-20b",
|
|
"label": "Safety \u00b7 openai/gpt-oss-safeguard-20b"
|
|
}
|
|
],
|
|
"when": {
|
|
"agentInference": [
|
|
"groq"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"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": "Files and memory",
|
|
"default": "workspace",
|
|
"type": "choice",
|
|
"description": "Applies immediately and resets the agent conversation. The agent still asks before writing. Shell commands run as your user and can reach other paths.",
|
|
"options": [
|
|
{
|
|
"value": "workspace",
|
|
"label": "Jarvis workspace only"
|
|
},
|
|
{
|
|
"value": "home",
|
|
"label": "Home directory"
|
|
},
|
|
{
|
|
"value": "filesystem",
|
|
"label": "Entire filesystem"
|
|
}
|
|
],
|
|
"aliases": [
|
|
"fs_access"
|
|
],
|
|
"restart": false
|
|
},
|
|
{
|
|
"key": "obsidianEnabled",
|
|
"title": "Enable Obsidian bridge",
|
|
"group": "Files and memory",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Allow the dedicated agent vault. Configure its folder and initialize it on the Obsidian page."
|
|
},
|
|
{
|
|
"key": "obsidianVaultPath",
|
|
"title": "Agent vault directory",
|
|
"group": "Obsidian vault",
|
|
"type": "string",
|
|
"default": "",
|
|
"description": "Absolute path to a new or empty folder. Leave blank for the Jarvis data directory / obsidian-agent. Existing personal vaults are rejected."
|
|
},
|
|
{
|
|
"key": "obsidianMemoryEnabled",
|
|
"title": "Use vault for agent memory",
|
|
"group": "Files and memory",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "When the bridge is enabled, use memory/*.md in the agent vault for durable memories. Existing workspace memory is retained; it is not copied or deleted automatically."
|
|
}
|
|
]
|
|
}
|