Skip to main content

Agent Tools

The agent can call built-in tools, and you control which are enabled and how risky ones are gated.

Image generation & editing

Set the deployment to enable generation and editing via Azure OpenAI gpt-image-1.5 (no opt-in flag -- it activates when the variable is set):

IMAGE_DEPLOYMENT_NAME=gpt-image-1.5
  • generate_image -- create images from text with configurable size, quality, format, background, and count (1-4)
  • edit_image -- modify existing session images from a text prompt
  • Canvas Mask Editor -- click Edit on any generated image, draw over the region to change (brush S/M/L, eraser, undo/redo), enter a prompt, and only the masked area is edited
  • Images render inline and persist across reloads

Weather

Rich weather card widgets powered by Open-Meteo (free, no API key). The agent geocodes a city and fetches current conditions or a 7-day forecast on demand.

Coding tools

File operations and shell execution, restricted to a workspace directory:

CODING_ENABLED=true
CODING_WORKSPACE_DIR=C:\path\to\workspace
# CODING_FILE_READ_MAX_BYTES=1048576 # 1 MiB default

file_read caps output at CODING_FILE_READ_MAX_BYTES; when the cap or a line limit is hit, the response ends with a [TRUNCATED BY BYTES: ...] / [TRUNCATED BY LIMIT: ...] marker telling the agent how to paginate with offset=N.

Tool approval

Destructive coding tools pause for an inline Approve / Reject / Approve for this session decision. Read-only tools (file_read, file_glob, file_grep) never require approval.

# auto (default) -> gate bash_execute + file_write
# always -> gate every non-read-only tool
# skip -> disable approval (autonomous)
TOOL_APPROVAL_MODE=auto
TOOL_APPROVAL_REQUIRE_LIST=bash_execute,file_write
TOOL_APPROVAL_TIMEOUT_SEC=300

With TOOL_APPROVAL_MODE=skip, the SPA shows a persistent "Tool approval is DISABLED" banner. Headless lanes (OpenAI API, the chatwalaau chat CLI, DevUI) auto-approve every request and log a WARNING per auto-approval.

Conversation compaction

Long sessions are compacted in memory before each model call (the on-disk session JSON is never altered) so the agent keeps responding instead of failing at the context-window limit:

# none | sliding-window (default) | selective-tool-call | tool-result
COMPACTION_STRATEGY=sliding-window
COMPACTION_KEEP_LAST_GROUPS=4
COMPACTION_PRESERVE_SYSTEM=true

Background Responses

For long-running operations (e.g. o3/o4-mini reasoning), toggle the BG button (left of the context indicator). The ChatInput border turns blue, and continuation tokens are auto-saved to the session for page-reload resumption. No environment variable needed.

Prompt Templates

Save and reuse prompts from the chat interface (stored as JSON files):

TEMPLATES_DIR=.templates

Open the + menu -> Use template, or click the FileText icon on any user message to save it as a template. Insert to Chat pastes a template into the input for editing before send.

Agent Skills

Portable domain-knowledge packages following the Agent Skills specification, loaded on demand:

SKILLS_DIR=.skills
.skills/
my-skill/
SKILL.md # required: instructions + metadata
scripts/ # optional: executable code
references/ # optional: documentation
assets/ # optional: templates, resources

Skills use progressive disclosure (~100 tokens per skill when idle) to keep context-window usage low.