# Customizing Your Agents Morse is designed to be a flexible foundation. You can easily customize the identity, behavior, and environment of your agents. ## 1. Changing Agent Names By default, the agents are named **Dot** and **Dash**. To rename them: 1. **System Prompts**: Edit `dot/prompt/dot-system.md` (or `dash/prompt/dash-system.md`) and replace "Dot" with your chosen name. 2. **Persona Block**: Edit `dot/blocks/persona.yaml` (or `dash/blocks/persona.yaml`) and update the `text` and `name` fields. 3. **Config Files**: Update the `config.yaml` and `mcp-config.json` files in the agent's directory to reflect the new name for logging and orchestration. 4. **CLI**: You can rename the `dot_cli.py` or `dash_cli.py` files and update the `[project.scripts]` section in `pyproject.toml` to change the command you type (e.g., from `uv run dot` to `uv run mybot`). ## 2. Changing the Admin Name The infrastructure refers to the primary user as **Admin**. If you want to use your own name: 1. **Global Replace**: Use a search-and-replace tool to change "Admin" to your name across the entire repository (especially in `prompt/` and `skills/`). 2. **Interest Block**: Rename `blocks/interests-admin.yaml` to `interests-yourname.yaml` and update the `name` field inside the file. ## 3. Modifying Memory Blocks Blocks are the "working memory" of the agent. - **Add a Block**: Create a new `.yaml` file in the `blocks/` directory. - **Tiering**: - `tier: hot`: Automatically loaded into every prompt. Use for core identity or critical status. - `tier: warm`: Only loaded when the agent explicitly calls `read_block`. Use for specialized knowledge or large reference sets. - **Sorting**: Use `sort_order` to control where the block appears in the prompt (lower numbers appear earlier). ## 4. Adjusting the "Perch-Time" Scheduler The scheduler in `scheduler.yaml` defines how the agent acts when you aren't talking to it. - **Frequencies**: Use `cron` or `interval` (minutes/hours) to set how often the agent "wakes up". - **Prompts**: You can give each scheduled job a unique `prompt`. For example, a `nightly-reflection` job might have a prompt focused on summarizing the day's events. ## 5. Adding Custom MCP Tools The Morse agents are powered by the Model Context Protocol. You can extend their capabilities by adding new tools to `dot_mcp_server.py` or `dash_mcp_server.py`. 1. Define a new `Tool` in the `list_tools()` function. 2. Add a handler function (e.g., `handle_my_tool`). 3. Register the handler in the `call_tool()` dispatcher. 4. If the tool requires new environment variables, add them to your `.env` and `.env.example`.