93 lines
2.6 KiB
Markdown
93 lines
2.6 KiB
Markdown
<p align="center">
|
|
<img src="logo.png" alt="Agent M Logo" width="200"/>
|
|
</p>
|
|
|
|
<h1 align="center">🕹️ Agent M</h1>
|
|
<h3 align="center">A DIAMBRA Utility by mscrnt</h3>
|
|
|
|
---
|
|
|
|
**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
|
|
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:
|
|
|
|
```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)
|