Agent M Logo

๐Ÿ•น๏ธ Agent M

A DIAMBRA Utility by mscrnt

--- **Agent M** is a retro-styled launcher for [DIAMBRA Arena](https://www.diambra.ai/), designed to make agent training and packaging effortless. It wraps the official `diambra` CLI with a powerful terminal UI (TUI) powered by [Textual](https://textual.textualize.io/), 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 ```text agentm/ โ”œโ”€โ”€ 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: ```bash pip install -r requirements.txt ``` > Includes: `textual`, `rich`, `diambra-arena`, `pyyaml`, `typer` --- ## โ–ถ๏ธ Running Agent M ```bash python -m agentm ``` --- ## ๐Ÿ“ฆ Build as Executable Using [PyInstaller](https://pyinstaller.org/): ```bash 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: ```python __developer_id__ = "mscrnt-0001" ``` This allows future reward attribution or referral tracking. --- ## ๐Ÿ“ฃ License [MIT](LICENSE) โ€” Created by [mscrnt](https://github.com/mscrnt)