Newer
Older
navi-1 / webclient / docs / profiles.md

Profiles

A profile defines the agent's role, available tools, model settings, and system prompt for a specific domain.

Current profiles

Fetched live from GET /agents/profiles.

ID Name Model Temp Planning
secretary Personal Secretary gemma4:26b-a4b-it-q4_K_M 0.7 Yes
server_admin Server Administrator gemma4:26b-a4b-it-q4_K_M 0.2 Yes
developer Tool Developer gemma4:26b-a4b-it-q4_K_M 0.2 Yes

Profile descriptions

secretary

General-purpose assistant. Research, writing, analysis, everyday tasks. Uses web search, code execution, file system access. Acts as an orchestrator — delegates sub-tasks to sub-agents when appropriate.

server_admin

Infrastructure and remote ops. SSH access to remote servers, monitoring, troubleshooting. Heavy orchestrator — spawns one sub-agent per host or concern for complex tasks.

developer

Writes, tests, and registers new Navi tools. Direct filesystem access to tools/ directory. Has test_tool and reload_tools for the write → test → fix → reload cycle. Sub-agents used only for research (API docs, codebase exploration).

Profile switching

The agent can switch profiles mid-session using the switch_profile tool. When this happens:

  1. The server emits profile_switched event before the tool completes.
  2. The new profile takes effect from the next LLM call, in the same turn: the running loop reloads profile and tools after the tool batch.
  3. The client should update the profile indicator in the UI immediately on receiving profile_switched.

The session_id is preserved across profile switches — only the profile changes.

Tool availability

Each profile has its own enabled_tools list. Additionally, user-defined tools in tools/enabled.json are merged into every profile automatically.

Notable tool differences:

  • reload_tools, delete_tool, test_tool — only in developer
  • ssh_exec — only in server_admin and developer
  • terminal — only in server_admin and developer
  • weather — only in secretary

The client can fetch the complete tool list for any profile from GET /agents/profiles (the enabled_tools array) or all registered tools from GET /agents/tools.