Skip to main content
Sorat maintains several forms of persistent memory to provide continuity across conversations.

Facts

File: ~/.sorat/memory/facts.md The agent’s long-term memory of specific facts. Each fact is a timestamped line:
- [2025-01-15T10:30:00Z] User prefers dark mode
- [2025-01-15T14:00:00Z] Project uses Go 1.24
- [2025-01-16T09:00:00Z] User's name is Alex

How facts work

  • The agent calls recall_memory at the start of each conversation to load all stored facts
  • When the user mentions something worth remembering, the agent calls remember with the new fact
  • Facts are append-only — new facts are added with a timestamp
  • You can edit facts directly in the web UI or via PUT /api/memory

Agent tools

ToolDescription
recall_memoryRetrieve all stored facts
rememberSave a new timestamped fact

Soul

File: ~/.sorat/memory/soul.md The agent’s personality, values, and behavioral guidelines. This content is appended to the system prompt after the persona template. Use the soul to define:
  • Communication style preferences
  • Ethical guidelines
  • Domain-specific knowledge the agent should always have
  • Behavioral rules (e.g. “always explain your reasoning”)
Edit via Settings > Agent > Soul.

User profile

File: ~/.sorat/user.md A simple Markdown file storing user profile information:
# User Profile
**Name:** Alex
**Timezone:** America/New_York
**Country:** US
Manage via the web UI (Settings > Account) or API:
curl -X PUT http://localhost:8080/api/user \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"name": "Alex", "timezone": "America/New_York", "country": "US"}'

Persona

File: ~/.sorat/agent/persona.md The system prompt template. Supports Go template variables:
VariableDescription
{{.OS}}Operating system (e.g. darwin, linux)
{{.Arch}}Architecture (e.g. amd64, arm64)
{{.Hostname}}Machine hostname
The default persona instructs the agent to be autonomous, complete multi-step tasks fully before responding, and use memory proactively. Edit via Settings > Agent > Persona in the web UI.