# Tổng quan về CLI

`ml-cli` là giao diện dòng lệnh dành cho `httpServer` cục bộ của MoreLogin. Nó dịch các đối số CLI thành các yêu cầu HTTP và chuyển tiếp chúng đến các API cục bộ do ứng dụng khách MoreLogin hiển thị.

## Tổng quan

**Nó dành cho ai?**
Các kỹ sư DevOps, kỹ sư tự động hóa QA và các nhà phát triển thích làm việc trong thiết bị đầu cuối hoặc cần tích hợp MoreLogin vào quy trình CI/CD (chẳng hạn như GitHub Actions, Jenkins hoặc shell script).

**Nó có thể làm gì?**

- Gọi API cục bộ MoreLogin trực tiếp từ thiết bị đầu cuối mà không cần viết mã yêu cầu HTTP.
- Quản lý môi trường trình duyệt, proxy, điện thoại đám mây và lịch trình từ một giao diện hợp nhất.
- Sử dụng cờ CLI ổn định thay vì xây dựng tải trọng JSON theo cách thủ công.


**Bắt đầu như thế nào?**

1. Đọc **Điều kiện tiên quyết** bên dưới.
2. Tải xuống và cài đặt CLI cho nền tảng của bạn.
3. Kiểm tra [Bắt đầu nhanh](/vi/cli/quick-start) để chạy lệnh đầu tiên của bạn.


## Điều kiện tiên quyết

Trước khi sử dụng `ml-cli`, hãy đảm bảo đáp ứng các yêu cầu sau:

- **Ứng dụng máy tính để bàn MoreLogin** được cài đặt và chạy trên cùng một máy
- Bạn có tài khoản MoreLogin đang hoạt động với **thông tin đăng nhập API** (ID API + Khóa API)


## Tải xuống và cài đặt

Tải xuống tệp nhị phân `ml-cli` mới nhất cho nền tảng của bạn:

| Nền tảng | Kiến trúc | liên kết |
|  --- | --- | --- |
| cửa sổ | x64 | [tải xuống](https://get.morelogin.com/client/prod/win/x64/2.6.1/ml-cli.exe) |
| macOS | x64 (Intel) | [tải xuống](https://get.morelogin.com/client/prod/mac/x64/2.6.1/ml-cli) |
| macOS | arm64 (Apple Silicon) | [tải xuống](https://get.morelogin.com/client/prod/mac/arm64/2.6.1/ml-cli) |
| Linux | x64 | [tải xuống](https://get.morelogin.com/client/prod/linux/x64/2.6.1/ml-cli) |


### cửa sổ

1. Tạo thư mục cho CLI, ví dụ `C:\Program Files\MoreLogin\`:

```powershell
New-Item -ItemType Directory -Force -Path "C:\Program Files\MoreLogin"
```
2. Di chuyển `ml-cli.exe` đã tải xuống vào thư mục đó.
3. Thêm thư mục vào hệ thống của bạn `PATH`:

```powershell
# Add to the current user's PATH permanently
$currentPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$currentPath;C:\Program Files\MoreLogin", "User")
```
4. **Khởi động lại thiết bị đầu cuối của bạn** (hoặc mở một thiết bị mới) để thay đổi có hiệu lực.
5. Xác minh:

```powershell
ml-cli --version
```


### macOS

1. Làm cho tệp thực thi nhị phân:

```bash
chmod +x ml-cli
```
2. Di chuyển nó vào một thư mục trong `PATH` của bạn:

```bash
sudo mv ml-cli /usr/local/bin/
```
> Nếu `/usr/local/bin` không tồn tại, hãy tạo nó trước: `sudo mkdir -p /usr/local/bin`
3. Trên macOS, tệp nhị phân được tải xuống có thể bị Gatekeeper chặn. Xóa thuộc tính cách ly:

```bash
xattr -d com.apple.quarantine /usr/local/bin/ml-cli
```
4. Xác minh:

```bash
ml-cli --version
```


### Linux

1. Làm cho tệp thực thi nhị phân:

```bash
chmod +x ml-cli
```
2. Di chuyển nó vào một thư mục trong `PATH` của bạn:

```bash
sudo mv ml-cli /usr/local/bin/
```
3. Xác minh:

```bash
ml-cli --version
```


Sau khi cài đặt, hãy xem [Bắt đầu nhanh](/vi/cli/quick-start) để kết nối với ứng dụng khách MoreLogin và chạy lệnh đầu tiên của bạn.

## Năng lực cốt lõi

CLI hiện tại bao gồm các nhóm tài nguyên sau:

- trạng thái dịch vụ và đăng nhập
- quản lý môi trường trình duyệt qua `env`
- quản lý điện thoại đám mây qua `cloudphone`
- quản lý nhóm qua `group`
- quản lý thẻ qua `tag`
- quản lý proxy qua `proxy`
- quản lý lịch trình điện thoại đám mây qua `schedule`


## Mẫu yêu cầu

CLI hỗ trợ hai kiểu nhập:

- cờ rõ ràng, chẳng hạn như `--env-id` hoặc `--group-name`
- JSON thô qua `--json-data`


Chúng có thể được kết hợp. Các quy tắc hợp nhất là:

- `--json-data` cung cấp nội dung yêu cầu cơ sở
- cờ CLI rõ ràng ghi đè các khóa khớp từ `--json-data`


Điều này hữu ích cho các điểm cuối có nhiều trường hoặc tải trọng lồng nhau trong đó các cờ chuyên dụng sẽ quá nặng.

## Mã thoát

| Mã | Ý nghĩa |
|  --- | --- |
| `0` | Yêu cầu HTTP đã hoàn tất và đã nhận được phản hồi. Kiểm tra phần nội dung JSON để biết sự thành công hay thất bại trong kinh doanh. |
| `1` | Xác thực CLI cục bộ không thành công hoặc lệnh không được hỗ trợ trên nền tảng hiện tại. |
| `2` | Độ phân giải cổng không thành công, phân tích cú pháp JSON không thành công hoặc không thể gửi yêu cầu. |


## Độ phân giải cổng & khắc phục sự cố

CLI cần tìm cổng `httpServer` cục bộ để gửi yêu cầu. Nó kiểm tra theo thứ tự sau:

1. Cờ `--port` — chuyển cổng một cách rõ ràng trong mỗi cuộc gọi
2. Biến môi trường `ML_PORT` - đặt một lần mỗi phiên
3. Tự động phát hiện IPC - CLI đọc cổng từ ống IPC cục bộ (không cần cấu hình)


Đường dẫn IPC mặc định:

| Nền tảng | Đường dẫn |
|  --- | --- |
| macOS / Linux | `/tmp/MoreLogin-cli` |
| cửa sổ | `\\.\pipe\MoreLogin-cli` |


Nếu bạn thấy lỗi **"Không thể phát hiện cổng MoreLogin"**, hãy kiểm tra:

- Ứng dụng khách máy tính để bàn MoreLogin có đang chạy không?
- Nếu sử dụng `--port`, số cổng có đúng không?
- Trên Linux / macOS, `/tmp/MoreLogin-cli` có tồn tại không?


## Bản đồ tài liệu

- [Bắt đầu nhanh](/vi/cli/quick-start)
- [Lệnh](/vi/cli/commands)