# Access key for the Brain MCP endpoint (generate with: openssl rand -hex 32)
BRAIN_MCP_KEY=
```
Change the `change-me` passwords in `AIDE_DB_URL` and `BRAIN_DB_PASSWORD` to something strong. They must match - if you change `BRAIN_DB_PASSWORD`, the same value is substituted into `BRAIN_DB_URL` automatically.
---
## Personalising the Agent
### SOUL.md - Agent identity and personality
`SOUL.md` defines who your agent is. The name is extracted automatically from the first line matching `You are **Name**`.
Key sections to edit:
**Name** - change `Jarvis` to whatever you want your agent to be called:
```markdown
You are **Jarvis**, a personal AI assistant...
```
**Character** - describe how you want the agent to behave. Be specific. Examples:
- "You are concise and avoid unnecessary commentary."
- "You are proactive - if you notice something relevant while completing a task, mention it briefly."
- "You never use bullet points unless explicitly asked."
**Values** - define what the agent should prioritise:
- Privacy, minimal footprint, and transparency are good defaults.
- Add domain-specific values if relevant (e.g. "always prefer open-source tools when suggesting options").
**Language** - specify language behaviour explicitly:
- "Always respond in the same language the user wrote in."
- "Default to Norwegian unless the message is in another language."
**Communication style** - tune the tone:
- Formal vs. casual, verbose vs. terse, proactive vs. reactive.
- You can ban specific phrases: "Never start a response with 'Certainly!' or 'Of course!'."
The file is mounted read-only into the container. Changes take effect on the next `docker compose restart`.
---
### USER.md - Context about you
`USER.md` gives the agent background knowledge about you. It is injected into every system prompt, so keep it factual and relevant - not a biography.
**Identity** - name, location, timezone. These help the agent interpret time references and address you correctly.
```markdown
## Identity
- **Name**: Jane
- **Location**: Oslo, Norway
- **Timezone**: Europe/Oslo
```
**Language preferences** - if you want to override SOUL.md language rules for your specific case:
```markdown
## Language
- Respond in the exact language the user's message is written in.
- Do not assume Norwegian because of my location.
```
**Professional context** - role and responsibilities the agent should be aware of:
```markdown
## Context and background
- Works as a software architect
- Primarily works with Python and Kubernetes
- Manages a small team of three developers
```
**People** - names and relationships. Helps the agent interpret messages like "send this to my manager":
```markdown
## People
- [Alice Smith] - Manager
- [Bob Jones] - Colleague, backend team
- [Sara Lee] - Partner
```
**Recurring tasks and routines** - anything time-sensitive the agent should know about:
```markdown
## Recurring tasks and routines
- Weekly team standup every Monday at 09:00
- Monthly report due on the last Friday of each month
```
**Hobbies and interests** - optional, but helps the agent contextualise requests:
```markdown
## Hobbies and Interests
- Photography
- Self-hosting and home lab
- Cycling in summer
```
The file is mounted read-only into the container. Changes take effect on the next `docker compose restart`.
- Enable or disable webhooks without deleting them
### Telegram
Set your personal bot token under **Settings → Telegram** (or **Settings → Profile → Telegram Bot Token**) if you want your own Telegram bot. Your chat ID must be whitelisted by the admin before messages are processed.
### Email Accounts
Set up your own email accounts under **Settings → Email Accounts**:
- **Trigger account** — dispatches agents based on keyword rules in incoming emails
- **Handling account** — a dedicated AI agent reads and handles each incoming email
oAI is free software licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
This means you are free to use, study, modify, and distribute oAI, but any modified version you run as a network service must also be made available as free software under the same license.
See [LICENSE](LICENSE) for the full license text, or visit [gnu.org/licenses/agpl-3.0](https://www.gnu.org/licenses/agpl-3.0.html).