| agentm | ||
| build | ||
| logo.png | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
🕹️ Agent M
A DIAMBRA Utility by mscrnt
Agent M is a retro-styled launcher for DIAMBRA Arena, designed to make agent training and packaging effortless. It wraps the official diambra CLI with a powerful terminal UI (TUI) powered by Textual, giving both beginners and power users a guided experience for environment setup, wrapper configuration, and agent submission.
🚀 Features
- 📦 Project scaffolding: Quickly generate ready-to-train agent folders
- 🎮 Environment launcher: Easily configure and run DIAMBRA games
- 🧠 Training config wizard: Guide users through wrappers, hyperparameters, and PPO settings
- 📊 Evaluation screen: Run saved agents interactively
- 🛠️ Docker + submission helper: Build, tag, and submit your agent
- 🔒 Developer ID tracking: All submissions include a unique developer ID (
mscrnt-0001)
📁 Folder Structure
agent_m/
├── agentm/
│ ├── __init__.py # Contains __version__, __developer_id__
│ ├── main.py # Entry point
│ ├── app.py # Textual App class
│ ├── views/ # Screens: home, config, training, eval
│ ├── components/ # Reusable widgets
│ ├── logic/ # Non-UI logic: Docker, config, submit
│ └── assets/ # ASCII, icons, splash art
├── logo.png # Project icon
├── README.md
├── requirements.txt
├── pyproject.toml (optional)
└── dist/ # Built .exe from PyInstaller
🧰 Requirements
Install dependencies:
pip install -r requirements.txt
Includes:
textual,rich,diambra-arena,pyyaml,typer
▶️ Running Agent M
python -m agentm
📦 Build as Executable
Using PyInstaller:
pyinstaller --onefile agentm/main.py --name agentm --add-data "agentm/assets:splash"
The final .exe will be located in the dist/ directory.
🧾 Developer Attribution
All agents submitted through Agent M include a hardcoded developer ID:
__developer_id__ = "mscrnt-0001"
This allows future reward attribution or referral tracking.
