๐น๏ธ 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)