Features
Sessions
Click the LlamaNexus icon in the Activity Bar for a Sessions sidebar: new session, live-filtering search, rename, delete. Sessions are per-workspace and persist (full history, response stats, reasoning/thinking text) across window reloads. Each session opens in its own editor tab.
Chat
- Streaming responses, labeled with whichever model actually answered.
- A rotating "Thinking / Chewing / Pondering..." placeholder while waiting on a cold model load or a queued request - types in character-by-character, pulses gently once fully typed, crossfades into the next word. The real model name and timestamp appear once generation starts, and the word keeps showing below the reply for as long as the turn is still in flight.
- Collapsible "Thinking..." section for reasoning/thinking models (
reasoning_content), separate from the final answer. - Markdown-ish rendering: headers, bold/italic, inline code, lists, fenced code blocks.
- Icon-only Copy / Insert / Save buttons on code blocks - Insert targets the last focused editor, Save guesses a filename from the language tag.
- Titled collapsible notes for tool calls (Read / Write / Patch / Bash / Agent), each showing the relevant content/diff/command+output; other tool calls fall back to a generic System note.
- Attach one or more files to a message (removable chips while composing, read-only chips after sending); 200 KB limit per file, binary files rejected.
- A context-usage bar (used vs. total tokens), sized from the model's real ctx-size or
llamanexus.contextSizeas a fallback. Shows the model's trained context length in parentheses when the server reports it (n_ctx_train, requires LlamaNexus 0.1.7+). - Automatic context compaction once usage crosses
llamanexus.autoCompactThreshold% (default 85, 0 disables): summarizes the older part of the conversation into one collapsible "Compacted" note, keeping the most recentllamanexus.autoCompactKeepMessagesmessages verbatim - the cut point always snaps to a full user turn. Trigger manually with/compactor a warning ring next to the/button that fills in as usage approaches the limit. - Response stats (prompt/response/total tokens, elapsed time, tokens/sec) under each reply.
- Message input history: Up/Down recalls previously submitted text, draft preserved.
Plan Mode
A Plan / Edit mode toggle next to the model picker. In Plan Mode the model can only read/explore (read_file, list_files, update_plan) - write_file, patch_file, and run_bash are rejected outright, enforced at execution time so a hallucinated literal-text tool call can't bypass it either. Persists per session; a system note announces every switch.
A Plan panel above the composer shows the model's update_plan calls as a live, collapsible checklist. The first proposal needs approval (Allow / Deny / Request changes...); approving auto-switches Plan Mode → Edit Mode. Flags mid-task plan revisions and turns that end with unfinished steps.
Model tuning sidebar ("Parameters")
A collapsible sidebar mirroring Open WebUI's per-chat Advanced Params: Temperature, Top K, Top P, Min P, Frequency/Presence Penalty, Repeat Penalty, Repeat Last N, Mirostat (+ Tau/Eta), Seed, Max Tokens, Stop Sequences. Per-field enable checkboxes - only checked fields are sent, unchecked ones fall back to server/global defaults. Values persist per session, independent of global settings.
Server discovery
A row under the context bar lists every LlamaNexus serve instance found on your LAN (requires LlamaNexus 0.1.5+). Each session picks its own server independently - the composer stays disabled until one is chosen. The selected server's row expands to show RPC worker mode/roster when running in --rpc/--discovery mode, with a toggle between single-node and RPC mode and per-worker remove (manual mode only).
Each row also has a 🤖 icon, independent of the main selection: click it to mark that server as the session's agent server for run_agent, typically a separate instance with a small/fast model.
Model tools (function calling)
read_file,list_files- read-only, no confirmation needed.patch_file- targeted snippet replacement, preferred overwrite_filefor existing files; confirmation with a diff preview.write_file- create/fully rewrite a file; confirmation showing what would change.run_bash- run a bash command directly (off by default,llamanexus.enableBashTool); confirmation showing the exact command; output truncated, 60s kill timeout.update_plan- drives the Plan panel above; on by default, allowed even in Plan Mode since it never touches disk.run_agent- delegates a self-contained sub-task to the session's configured agent server; off by default (llamanexus.enableAgentTool); runs its own bounded tool-calling loop (capped byllamanexus.maxAgentSteps) restricted to read/write/patch/list/bash, neverupdate_plan/run_agentitself; blocked in Plan Mode.
All file paths are confined to your first workspace folder. A literal-text tool-call fallback (for models that emit <function=...>-style text instead of a structured call) is caught and gated identically to real calls - checked in reasoning/thinking text too if not found in the reply.
Loop protection: a tool-calling chain stops if the model repeats the exact same call llamanexus.maxToolCallRepeats times in a row (default 3), or after llamanexus.maxToolChainDepth chained round-trips (default 20).
Confirmations
In-chat dialogs (not native VS Code popups) for file writes/patches, bash commands, ejecting a model, removing an RPC worker, plan approval, and agent dispatch. Escape denies; clicking elsewhere does not dismiss the dialog. Write/patch/bash/agent prompts offer "Confirm for this session" to skip future confirmations for that tool for the rest of the session.
Hugging Face model search
LlamaNexus: Search Hugging Face for Models (or the entry at the bottom of the /model picker) opens a panel that searches Hugging Face directly. Repos are collapsed by default; expand to load quant files (cached). Shard-split quants show as one combined-size entry. A "✓ Downloaded" badge marks quants you already have. The download button doubles as a cancel button once a download starts.
Search/listing requests go straight to huggingface.co (downloading itself still goes through LlamaNexus), so a gated repo needs its own token via LlamaNexus: Set Hugging Face Token - stored in VS Code's SecretStorage, never written to settings.json.
Slash commands
/model- picker of every reported model, with load status, an Eject button, download-by-repo:quant, and a Hugging Face search entry./remove-model <name>- same picker, minus download/eject/search; permanently deletes the model after confirmation (requires LlamaNexus 0.1.21+)./ctx-size <size>- change the current model's context size and restart to apply./worker <ip:port>//worker rm <ip:port>- add/remove an RPC worker./compact- trigger context compaction manually.
Editor commands
- Explain Selection, Fix / Improve Selection, Ask About Selection - right-click actions on a code selection.
- Generate Code from Comment/Selection - inline code generation from a descriptive comment, no chat panel needed.
- Insert Last Chat Response at Cursor.
- Select Model, Search Hugging Face for Models - also available from the command palette.
- Check Connection Status - status bar indicator, click to re-check.