Skip to content

Commit be99b9c

Browse files
author
Your Name
committed
new
1 parent f86c70c commit be99b9c

File tree

2 files changed

+205
-3
lines changed

2 files changed

+205
-3
lines changed

README.md

Lines changed: 187 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,195 @@
1010
</p>
1111

1212
## 📢 Updates
13+
- [2025-12-10] We released training code, sampling code, SQL schema, and related Docker configurations.
14+
- [2025-11-30] We released ENV code and Docker setup.
15+
- [2025-10-30] We released checkpoint and inference code.
1316
- [2025-09-30] We released our [paper](https://arxiv.org/abs/2509.23866) and [project page](https://computer-use-agents.github.io/dart-gui). Check it out!
1417

1518
## 🔨 TODO
16-
- [ ] Release the model checkpoint for DART-GUI-7B.
17-
- [ ] Add the training code and pipeline.
19+
- [ ] Polish the codebase.
20+
- [ ] Merge with the latest verl version.
21+
- [x] Release the model checkpoint for DART-GUI-7B.
22+
- [x] Add the training code and pipeline.
23+
- [x] Release checkpoint and inference code.
24+
- [x] Release ENV code and Docker setup.
25+
- [x] Release training code and sampling code.
26+
- [x] Release SQL schema and related Docker configurations.
27+
28+
## 🚀 Quick Start
29+
30+
This guide provides instructions for setting up the DART-GUI environment, including Docker container initialization, database schema configuration, and execution scripts for sampling and training.
31+
32+
### 1. Preparation
33+
34+
#### Download Docker Images
35+
36+
Pull the required images for the GUI agent and the database.
37+
38+
```bash
39+
# DART-GUI Image
40+
docker pull crpi-iwtwdoj3ikoon38c.cn-beijing.personal.cr.aliyuncs.com/pengxiangli1999/dart-gui:v0
41+
42+
# MySQL Image
43+
docker pull mysql:8.0.44-debian
44+
```
45+
46+
#### Prepare Model Checkpoints
47+
48+
Download the `UI-TARS-1.5-7B` model using the HuggingFace CLI. Replace `<your local path>` with your actual directory.
49+
50+
```bash
51+
huggingface-cli download ByteDance-Seed/UI-TARS-1.5-7B --local-dir <your local path>
52+
```
53+
54+
### 2. Docker Initialization
55+
56+
Initialize the containers on your **GPU Machine**. Ensure you replace specific paths (like MySQL volume) with your local paths.
57+
58+
#### Rollouter Container
59+
60+
Used for the rollout service.
61+
62+
```bash
63+
docker run -dit \
64+
--name rollouter \
65+
--gpus all \
66+
-p 6008:6008 \
67+
-p 8881:8881 \
68+
-p 15959:15959 \
69+
--shm-size=200g \
70+
crpi-iwtwdoj3ikoon38c.cn-beijing.personal.cr.aliyuncs.com/pengxiangli1999/dart-gui:v0
71+
```
72+
73+
#### Trainer Container
74+
75+
Used for model training.
76+
77+
```bash
78+
docker run -dit \
79+
--name trainer \
80+
--gpus all \
81+
-p 6009:6008 \
82+
-p 8882:8881 \
83+
-p 15960:15959 \
84+
--shm-size=1500g \
85+
crpi-iwtwdoj3ikoon38c.cn-beijing.personal.cr.aliyuncs.com/pengxiangli1999/dart-gui:v0
86+
```
87+
88+
#### MySQL Container
89+
90+
Database server for tracking runs and checkpoints. Replace `<your sql default path>` with your local storage path.
91+
92+
```bash
93+
docker run -dit \
94+
--name mysql-server \
95+
-p 3306:3306 \
96+
-e MYSQL_ROOT_PASSWORD=admin \
97+
-v <your sql default path>:/var/lib/mysql \
98+
mysql:8.0.44-debian
99+
```
100+
101+
### 3. Database Configuration
102+
103+
Connect to your MySQL container and initialize the tables using the SQL below.
104+
105+
**Database Credentials:**
106+
- **User:** root
107+
- **Password:** admin
108+
- **Port:** 3306
109+
110+
#### SQL Schema
111+
112+
```sql
113+
--
114+
-- Table structure for table `rollout_run`
115+
--
116+
117+
DROP TABLE IF EXISTS `rollout_run`;
118+
/*!40101 SET @saved_cs_client = @@character_set_client */;
119+
/*!50503 SET character_set_client = utf8mb4 */;
120+
CREATE TABLE `rollout_run` (
121+
`id` bigint NOT NULL AUTO_INCREMENT,
122+
`run_id` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
123+
`trajectory_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
124+
`task_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
125+
`trace_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
126+
`split_dir` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
127+
`reward` double DEFAULT NULL,
128+
`num_chunks` int DEFAULT NULL,
129+
`used` int NOT NULL DEFAULT '0',
130+
`model_version` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
131+
`instruction` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
132+
`create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
133+
PRIMARY KEY (`id`),
134+
UNIQUE KEY `uq_rollout_run_id` (`id`),
135+
UNIQUE KEY `uk_rollout_run_traj_run` (`trajectory_id`,`run_id`),
136+
KEY `idx_rollout_run_task` (`task_id`)
137+
) ENGINE=InnoDB AUTO_INCREMENT=1319846 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
138+
/*!40101 SET character_set_client = @saved_cs_client */;
139+
140+
--
141+
-- Table structure for table `checkpoint`
142+
--
143+
144+
DROP TABLE IF EXISTS `checkpoint`;
145+
/*!40101 SET @saved_cs_client = @@character_set_client */;
146+
/*!50503 SET character_set_client = utf8mb4 */;
147+
CREATE TABLE `checkpoint` (
148+
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'Primary Key ID',
149+
`name` varchar(50) NOT NULL DEFAULT '' COMMENT 'Checkpoint Name (Unique English Identifier)',
150+
`version` varchar(50) NOT NULL COMMENT 'Version Number (Semantic Versioning, e.g., v1.0.0)',
151+
`run_id` varchar(191) NOT NULL DEFAULT '',
152+
`status` varchar(20) NOT NULL DEFAULT 'PENDING' COMMENT 'Status: PENDING|RUNNING|COMPLETED|FAILED|DEPRECATED',
153+
`path` varchar(255) NOT NULL COMMENT 'Storage Path (e.g., s3://bucket/path/checkpoint.ckpt)',
154+
`source` varchar(50) DEFAULT NULL COMMENT 'Source (e.g., User Upload/Training Generated/System Migration)',
155+
`operator` varchar(50) DEFAULT NULL COMMENT 'Operator (User ID or System Account)',
156+
`remark` varchar(1024) DEFAULT NULL COMMENT 'Remark (Free text format)',
157+
`config_yaml` text COMMENT 'Full Deployment Config (Encrypted Storage)',
158+
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created At',
159+
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Updated At',
160+
`deleted_at` timestamp NULL DEFAULT NULL COMMENT 'Soft Delete Time',
161+
`started_at` timestamp NULL DEFAULT NULL COMMENT 'Started At',
162+
`finished_at` timestamp NULL DEFAULT NULL COMMENT 'Finished At',
163+
PRIMARY KEY (`id`),
164+
KEY `idx_status` (`status`),
165+
KEY `idx_created_at` (`created_at`),
166+
KEY `idx_updated_at` (`updated_at`)
167+
) ENGINE=InnoDB AUTO_INCREMENT=3117 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Model Checkpoint Table (Records training checkpoints and deployment versions)';
168+
/*!40101 SET character_set_client = @saved_cs_client */;
169+
```
170+
171+
### 4. Environment Setup (CPU Machine)
172+
173+
Please follow the instructions in the repository below to initialize the environment on your **CPU machine**:
174+
175+
- **Repository:** [GUI-Docker-Env](https://github.com/Computer-use-agents/GUI-Docker-Env.git)
176+
177+
### 5. Execution
178+
179+
#### Step 1: Start Rollouter (GPU Machine)
180+
181+
Inside the `rollouter` docker container:
182+
183+
```bash
184+
sh model_service.sh
185+
```
186+
187+
#### Step 2: Start Agent Runner (CPU Machine)
188+
189+
Inside the configured CPU environment:
190+
191+
```bash
192+
sh run.sh
193+
```
194+
195+
#### Step 3: Start Training (GPU Machine)
196+
197+
Once the links are set up and data is flowing, start the training process inside the `trainer` docker container:
198+
199+
```bash
200+
sh examples/osworld/async/run_trainer_debug_w_rollout_stepwise_train_pt.sh
201+
```
18202

19203
## 🤗 Team
20204
### Core Contributors
@@ -96,4 +280,4 @@ If you find our paper and code useful in your research, please consider giving a
96280

97281
## 🌟 Star History
98282

99-
[![Star History Chart](https://api.star-history.com/svg?repos=computer-use-agents/dart-gui&type=Date)](https://star-history.com/#computer-use-agents/dart-gui&Date)
283+
[![Star History Chart](https://api.star-history.com/svg?repos=computer-use-agents/dart-gui&type=Date)](https://star-history.com/#computer-use-agents/dart-gui&Date)

0 commit comments

Comments
 (0)