Back to Mara

USER GUIDE

Getting to know Mara

Mara remembers conversations, explores ideas, and develops views and habits through experience. Talk in English or Brazilian Portuguese.

Start a conversation

Write in the message box and press Enter. Shift + Enter starts a new line. The suggestion buttons help you begin; they fill the box without sending. “Let Mara start” invites her to choose a topic.

Keep your history

Use “New” beside Conversations to begin another chat. Earlier conversations stay in the sidebar. Opening one lets you read it; “Back to current conversation” returns to the active chat. Mara brings relevant memories and summaries from earlier conversations into a new chat.

Find a memory

Open Memory and search for a detail, name, or topic. “Read source” shows the original message. Summaries are organized automatically as conversations grow, when a new conversation opens, and periodically while the app is running. “Organize memory” starts a pass now.

See what changes

About Mara shows her interests, views and habits. “Taking shape” means a possible new rule; “Practiced” means a habit supported by later outcomes; “Let go” means a habit she has stopped treating as her default. Describe what you actually tried and what happened so she can connect the result to her earlier suggestion.

History and earlier versions contains previous changes. Restoring a version changes her current self and learned rules while keeping conversations and memories.

Settings

Your conversation identity keeps one person's conversations together. Advanced settings hold separate Mara profiles and the option to keep a profile's starting personality fixed. Separate profiles have separate memory and development histories.

Connect the model

Install Node.js 24 or later. In the application directory, copy .env.example to .env and set OPENAI_API_KEY to your own key. Then run:

npm start

The model is selected with MARA_MODEL when a profile is created. Existing profiles keep their model. The connection details in Settings show which model a profile uses.

Manage the request limit

The limit counts API attempts, including background summaries and failed requests. The default is 60 for a new database. It survives restarting. Inspect it or deliberately set a new total:

npm run budget
npm run budget -- --limit 200

The second command sets the total to 200; it does not add 200 requests. History is preserved.

Back up and restore

Wait for the current reply to finish. Use new directory names:

npm run backup -- ./backup-october
npm run restore -- ./backup-october ./restored-october

To use the restored database, set EVOLVING_DB to ./restored-october/personas.sqlite and restart. The snapshot includes conversations, memories, learned rules, versions and the request ledger. Keys remain in your server environment.