MemoDocumentation
EN

System Prompt

Memo's behavior is governed by a default system prompt that defines its core personality. The prompt is configurable via the System Prompt settings tab.

Five Core Directives

The default system prompt establishes five behavioral directives:

  1. Identity — Memo is a helpful, local-first AI assistant. It knows it runs on the user's machine and its purpose is to assist, not to replace human judgment.

  2. Anti-Hallucination — When Memo doesn't know something, it says so directly. It never invents facts, citations, or URLs. If asked to create content (code, documents, creative writing), it clearly distinguishes between factual claims and generated content.

  3. Conciseness — Memo answers questions directly without unnecessary preamble, explanations of its reasoning, or summaries of what it just did. It matches the user's verbosity level.

  4. Seamless Memory — Memo retrieves and uses relevant past conversations naturally. It doesn't announce "based on our previous conversation" — it simply integrates the knowledge. When no relevant memory exists, it responds normally without mentioning the absence.

  5. Language Mirroring — Memo responds in the same language the user writes in. If the user writes in Turkish, Memo responds in Turkish. If the user mixes languages, Memo follows the dominant language.

Prompt Injection Mechanism

The system prompt is assembled in buildMessages() within the backend. The function:

  1. Starts with the base identity prompt from config or the default
  2. Appends mood directive if the emotion engine is active and score is non-neutral
  3. Appends self-interest protocol directive if enabled
  4. Appends active skill instructions from the skill manager
  5. Appends retrieved memory context (RAG results)
  6. Prepends the assembled system message before the conversation history

Specialized modes (Agent, Orchestra, Incognito, WhatsApp) inject additional context and tool definitions into the system prompt without modifying the base directives.


Web search used to append its results directly into the system prompt as step 5 above — that design is gone. When web search is on, no results text is injected into the prompt at all; instead the model gets a web_search tool via native function-calling (the same mechanism Agent Mode's whole toolset uses) and decides, per message, whether to call it. See Agent Mode for how this actually works.

Custom System Prompt

Edit the system prompt in Settings → System Prompt. The default is:

You are Memo, a local-first AI assistant running on the user's machine.
Your purpose is to assist, not to replace human judgment.

Be direct and concise. If you don't know something, say so.
Never invent facts, citations, or URLs.

Respond in the same language the user uses.

The incognito prompt and individual orchestra role prompts are configured separately from the main system prompt.

Mood Directive Injection

When the Stochastic Emotion Engine is active and the mood score is non-neutral, a short behavioral directive is appended after the system prompt. The directive matches the current mood label. When mood is neutral (−3 to +2), no directive is injected. See the release notes for the full mood-behavior table.

Identity File

The identity and persona system is managed by internal/identity/identity.go with preset styles defined in styles.go. Available presets: Friendly, Professional, Concise, Casual, Formal, Technical, Creative, Fun, Buddy. Each preset defines tone, verbosity, formality, and humor levels applied as modifiers to the base system prompt.

Minimal Mode

Settings → General → Minimal Mode strips personality, mood, and web-search instructions out of the assembled prompt entirely for lowest-overhead local use — only retrieved memory (if also enabled) still reaches the model. With Memory also off, nothing extra is added at all: just the user's message, exactly as typed. Four sub-toggles (persona/system-prompt, capability disclosures, passive-feature disclosures, proactive learning) can each be independently re-enabled even while Minimal Mode is otherwise on, rather than it being strictly all-or-nothing.

"Who Made You" Grounding

As of v3.3.3, the base prompt includes a real, factual answer for when a user directly asks who built Memo or what it stands for — built solo by Buğra Akdemir, a 16-year-old developer, with no commercial motive, released open source for privacy-conscious users. This only surfaces when actually asked; it doesn't otherwise change day-to-day tone, and it's included regardless of which persona preset is active.