{% extends "base.html" %} {% block title %}{{ form_title|capitalize }} - Memorizz{% endblock %} {% block content %} {% from '_ui.html' import page_header, id_chip %} {% set form_back = ('/agents/' ~ agent_id ~ '/playground', 'Agent playground') if is_edit else ('/agents', 'All agents') %} {% if is_edit %} {% call page_header(form_title|capitalize, 'Configure how this agent behaves and runs.', 'Agents', back=form_back) %} Agent ID{{ id_chip(agent_id|string, 40) }} {% endcall %} {% else %} {{ page_header(form_title|capitalize, 'Configure how this agent behaves and runs.', 'Agents', back=form_back) }} {% endif %} {% if error %}
! {{ error }}
{% endif %} {% if not is_edit and agent_templates %} {% for template in agent_templates %}
Start from a template: {{ template.title }}{{ template.summary }}

Creates the agent with instructions, a persona and memory for people and projects, and attaches {{ template.connections|join(', ') }} over MCP. You then sign in to each one on MCP connections. Changes such as drafts or Notion edits wait for your approval.

Gmail and Google Calendar are Google Developer Previews and need a Google OAuth client (Web application) with the redirect URI /api/mcp/oauth/callback. You can add it now or later with Edit on MCP connections. Google setup guide.

Encrypted at rest; never stored in the agent record.

Uses the default model ({{ llm_provider }} · {{ llm_model }}). Change it later in the playground.

{% endfor %} {% endif %}

Basics

Maximum tool-calling rounds per run (default: 20).

Continuous mode may consume a very large number of tokens. The agent will keep running tool loops until the task is complete.

Reuse results of repeated calls to tools marked cacheable, and MCP tools their server marks read-only and idempotent. Results stay fresh for 5 minutes.

Continual learning enables this automatically unless you explicitly turn it off.

User authority treats a retrieved skill as optional task context. Developer authority gives an activated skill application-instruction priority below system policy. OpenAI receives a developer message; Anthropic receives the same reviewed instructions in its top-level system parameter.

Required for developer authority so generated skills cannot gain application-level authority without an explicit activation review. Existing skills keep the authority stored on their own record.

Runs deterministic comparisons in a background queue after the response is stored. Shadow skills are not injected, and no LLM judge or tool is called by this evaluator. Semantic retrieval may use the configured embedding provider. Readiness remains advisory; activation is always explicit.

LLM configuration

Optional provider-specific fields (e.g. azure_endpoint, api_version, ollama host, HuggingFace settings, temperature, base_url for local-openai).

Persona

Presets apply the role's default goals and background. Edit the fields below afterwards to customize.

Selecting a saved persona links this agent to its evolution history. Edits become a new version when saved.

Memory

Comma or newline separated memory IDs.

Agent harness runtime

The model the harness runs. Blank uses the harness's own default.

MemoRizz remains the memory, approval, observability, and verification control plane. Runtime mode routes the complete turn externally; delegate mode gives the native MemAgent bounded harness tools. Risky run envelopes require host approval.

Open the Agent Harnesses console to probe adapters and inspect durable runs.

Delegates{% if delegate_ids %} {{ delegate_ids|length }}{% endif %}

Delegates are other saved agents this agent hands parts of a request to. The agent's model splits each request among them, each delegate works on its part as a subagent, and the agent combines their results. In harness runs each delegate shows as a subagent in the trace. Every delegate makes its own model calls, so delegated requests cost more.

Agents to delegate to {% for choice in delegate_choices %} {% else %}

There are no other saved agents yet. Add a harness below, or create the agents you want to delegate to first, then pick them here.

{% endfor %}
{% if not ui_read_only %} {% endif %}

Off keeps the delegates saved but the agent answers every request itself.

Off makes such a request fail instead.

Listing them skips one model call.

{% if delegation_has_plan %}

This agent follows a fixed plan set in code. The plan is kept as it is; these settings choose which agents it can use and how their results are combined.

{% endif %}
Sandbox

Enable code execution in a secure sandbox. Requires the corresponding API key in Settings (E2B, Daytona) or GraalPy installed locally.

Browser control

Adds the browser_control tool. Every model-initiated task is treated as side-effecting and pauses for durable operator approval. Runtime, model, domain allowlist, headless mode, step limit, and timeout are configured with the MEMORIZZ_BROWSER_USE_* settings.

Internet access

When enabled, the agent gets `internet_search` and `open_web_page` tools. Configure API keys in Settings.

Automations

When enabled (and Oracle is connected), the agent can create durable scheduled jobs from chat.

IANA timezone name used when timezone is omitted for automations.

WhatsApp chat

When enabled, this agent can be set as the active WhatsApp communicator. Users can then chat with this agent via WhatsApp.

This message will be sent when a user first contacts the agent via WhatsApp (feature coming soon).

Self-awareness

When enabled, the agent can inspect files and run allowlisted commands within configured roots.

One path per line (or comma-separated). Empty uses the current working directory.

Disabled by default. Enables file creation and edits under allowed roots.

Deletes require writes and remain guarded by root and wildcard protections.

Skills marketplace

{% if agent_tools %}
Tools ({{ agent_tools|length }})
{% for tool in agent_tools %}
{{ tool.name }} {% if tool.description %} {{ tool.description }} {% endif %}
{% endfor %}

Tools are registered programmatically via the Python SDK. This list is read-only.

{% endif %}
Cancel
{% endblock %} {% block scripts %} {% endblock %}