Configure llm
An AI agentic operating system for mixed reality on the Meta Quest 3 — your own J.A.R.V.I.S. Multi-agent orchestration, multimodal perception (sight/hearing/gaze), 42 holographic widgets, 20 LLM providers.
npx -y skills add sumitaich1998/jarvisvr --skill configure-llmAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
View and change the active LLM provider, model, and API key, and hot-swap between providers from the in-headset settings. Use for "switch to GPT-4o", "use a local model", "change the model", "set my API key", or "which model are you?". Triggers: model, provider, LLM, switch model, API key, use local, ollama, openai, anthropic, change AI.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.9 KB, as published. Nobody here has run it
Configure LLM
Manage the model that powers Jarvis via the settings protocol (§5.15). The server
stores keys securely and hot-swaps the active provider; keys are never echoed
back (key_set is a boolean only).
Steps
- Read current config + catalog: request
client.settings_get{section:"llm"}→server.settings.llm(current+providers). - Render a
settings_panel(show_settings) with a providerselect, a modelselect, and a key entry/button — reflectingkey_setand each provider'sneeds_key/needs_base_url/capabilities. - Apply changes with
client.settings_update— send only what changed; omitapi_keyto keep the existing key, include it to set/replace. - Confirm from the returned
server.settings(don't read keys aloud).
Output
settings_panel (show_settings, props per registry.json):
{ "widget_type": "settings_panel",
"props": { "title": "Model",
"sections": [ { "title": "LLM",
"settings": [
{ "id": "provider", "label": "Provider", "type": "select",
"value": "openai", "options": ["openai","anthropic","ollama"] },
{ "id": "model", "label": "Model", "type": "select",
"value": "gpt-4o", "options": ["gpt-4o","gpt-4o-mini"] },
{ "id": "api_key", "label": "API key", "type": "button", "value": "set" } ] } ] },
"interactions": ["tap","grab","resize","toggle","slider"] }
client.settings_update (client → server, §5.15):
{ "llm": { "provider": "ollama", "model": "llama3.1", "base_url": "http://localhost:11434" } }
agent.speech: { "text": "Switched to Llama 3.1 running locally.", "final": true }
Edge cases
- Missing key for a key-required provider → prompt for it; report
invalid_keyfromserver.errorclearly. - Provider unavailable / offline →
provider_unavailable; offer the mock or a local provider as fallback. - Capability mismatch (e.g. no vision) → warn if the user relies on perception with a non-vision model.
- Never reveal keys — only
key_settrue/false; redact in speech and UI. - Local provider needs base_url → require it when
needs_base_urlis true.