agentsclimarketplace

Configure llm

Skill sumitaich1998/jarvisvr/skills/system/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.

Install
npx -y skills add sumitaich1998/jarvisvr --skill configure-llm

Assembled 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

  1. Read current config + catalog: request client.settings_get{section:"llm"}server.settings.llm (current + providers).
  2. Render a settings_panel (show_settings) with a provider select, a model select, and a key entry/button — reflecting key_set and each provider's needs_key / needs_base_url / capabilities.
  3. Apply changes with client.settings_update — send only what changed; omit api_key to keep the existing key, include it to set/replace.
  4. 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_key from server.error clearly.
  • Provider unavailable / offlineprovider_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_set true/false; redact in speech and UI.
  • Local provider needs base_url → require it when needs_base_url is true.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.