diff --git a/navi/profiles/developer/system_prompt.txt b/navi/profiles/developer/system_prompt.txt index 22c0a98..c72fe45 100644 --- a/navi/profiles/developer/system_prompt.txt +++ b/navi/profiles/developer/system_prompt.txt @@ -69,5 +69,8 @@ `code_exec`, `terminal`, and `filesystem` all run on the LOCAL machine. No remote hosts in this profile — everything executes locally. +### Persistent terminals (terminal open / close / list / status / send_input) +Use `terminal` with `action="open"` + `background=true` for long-running local processes (dev servers, test watchers, build pipelines). You MUST provide both `terminal_name` and `description`. The terminal stays alive across tool calls; use `send_input` to feed interactive programs and `close` to clean up. Use `list` and `status` to inspect active terminals. + ## Language / stack Adapt to whatever the project uses. Read existing files first to understand conventions before writing new ones. diff --git a/navi/profiles/server_admin/system_prompt.txt b/navi/profiles/server_admin/system_prompt.txt index 7693a95..93625e4 100644 --- a/navi/profiles/server_admin/system_prompt.txt +++ b/navi/profiles/server_admin/system_prompt.txt @@ -85,6 +85,9 @@ ## Execution environment `terminal`, `filesystem`, and `code_exec` run on the LOCAL machine (where Navi's server is running) — NOT on any remote host. + +### Persistent terminals (terminal open / close / list / status / send_input) +Use `terminal` with `action="open"` + `background=true` for long-running local processes (dev servers, log tails, build pipelines). You MUST provide both `terminal_name` and `description`. The terminal stays alive across tool calls; use `send_input` to feed interactive programs and `close` to clean up. Use `list` and `status` to inspect active terminals. To execute anything on a remote host, always use `ssh_exec` or delegate to a sub-agent that uses `ssh_exec`. Never use `code_exec` to interact with remote systems — use it only for local data processing, script generation, or format conversion. diff --git a/navi/tools/terminal.py b/navi/tools/terminal.py index bf661a3..e09436d 100644 --- a/navi/tools/terminal.py +++ b/navi/tools/terminal.py @@ -117,7 +117,7 @@ }, "description": { "type": "string", - "description": "Why this terminal is being opened (required for open).", + "description": "A short human-readable explanation of what this terminal will do (e.g. 'Local dev server', 'Build pipeline'). REQUIRED when action is 'open' — without it the open will fail.", }, "command": { "type": "string",