A Python implementation of Mario Zechner's "mom" Slack bot, built with pydantic-ai.
Mom (Master Of Mischief) is a self-managing AI development assistant that can execute bash commands, read/write files, and interact with your development environment—all from within a safe Docker sandbox.
- Docker-sandboxed execution - All commands run in an isolated container for safety
- Conversation persistence - Sessions saved as JSONL files for resuming later
- Streaming responses - Real-time output as the agent thinks and acts
- Tool visibility - See exactly what commands are being run
- Skills system - Extensible custom tools via YAML-frontmatter markdown files
- Multi-channel architecture - CLI now, Slack/voice planned
# Install dependencies
uv sync
# Run the CLI
uv run pymomYou'll need Docker running for command execution.
- Agent receives your message and builds context from workspace, memory, and available skills
- Tools (bash, read, write, edit) execute inside a Docker container
- Channel streams responses and tool outputs back to you
- Session is saved to disk for later resumption
src/pymom/
├── main.py # CLI entry point & REPL
├── agent.py # pydantic-ai agent setup
├── executor.py # Docker command execution
├── skills.py # Custom skill loader
├── tools/ # bash, read, write, edit
└── channels/ # CLI (+ future Slack, voice)
data/cli/
├── MEMORY.md # Persistent working memory
├── sessions/ # Conversation history (JSONL)
└── skills/ # Custom skill definitions
- Python 3.11+
- Docker
- OpenAI API key (set
OPENAI_API_KEYenv var)
Based on the original mom bot by Mario Zechner.
MIT