Stateful AI assistants running off Claude/Gemini CLI subscription
morse-bots docs customization.md
2.7 kB
Markdown
at main

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.