> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeus.agentspro.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# Browser Profiles

> Manage multiple isolated browser profiles for independent browsing environments

Zeus Desktop supports **multi-profile browser management**, allowing you to create and manage multiple isolated browser instances — each with its own cookies, storage, login state, proxy, and fingerprint configuration.

## Overview

Browser Profiles is a core feature of Zeus Desktop, providing environment isolation similar to products like Multilogin or AdsPower. Each profile runs in a completely independent Chrome instance with its own `user-data-dir`, ensuring full data isolation between profiles.

### Key Features

| Feature                  | Description                                                                   |
| ------------------------ | ----------------------------------------------------------------------------- |
| **Complete Isolation**   | Each profile has independent cookies, localStorage, cache, and login sessions |
| **Proxy Support**        | Configure HTTP/HTTPS/SOCKS5 proxies per profile                               |
| **Fingerprint Spoofing** | Customize browser fingerprints to prevent tracking and detection              |
| **Visual Identity**      | Assign unique colors and icons to each profile for easy identification        |
| **Concurrent Sessions**  | Run multiple profiles simultaneously without interference                     |

## Architecture

```mermaid theme={null}
flowchart TB
    subgraph ProfileManager["Profile Manager"]
        PM["ProfileManager\n(Singleton)"]
        PM --> P1["Profile A\nuser-data-dir-a"]
        PM --> P2["Profile B\nuser-data-dir-b"]
        PM --> P3["Profile C\nuser-data-dir-c"]
    end

    subgraph BrowserInstances["Chrome Instances"]
        P1 --> C1["Chrome (Port 9222)\n+ Proxy A\n+ Fingerprint A"]
        P2 --> C2["Chrome (Port 9223)\n+ Proxy B\n+ Fingerprint B"]
        P3 --> C3["Chrome (Port 9224)\n+ Proxy C\n+ Fingerprint C"]
    end

    subgraph CDP["CDP Injection"]
        C1 --> I1["Fingerprint Injector"]
        C2 --> I2["Fingerprint Injector"]
        C3 --> I3["Fingerprint Injector"]
    end
```

## Profile Data Model

Each browser profile stores the following configuration:

```typescript theme={null}
interface BrowserProfile {
  id: string;               // Unique identifier
  name: string;             // Display name
  color: string;            // Visual color tag
  iconPath?: string;        // Custom icon path
  browserDataPath: string;  // Chrome user-data-dir path
  createdAt: string;        // Creation timestamp
  lastUsedAt?: string;      // Last used timestamp
  homepageUrl?: string;     // Homepage URL
  userAgent?: string;       // Custom User-Agent
  proxy?: ProxyConfig;      // Proxy settings (see Proxy IP doc)
  fingerprint?: FingerprintConfig; // Fingerprint settings (see Fingerprint doc)
}
```

## Creating a Profile

The profile creation dialog is organized into three tabs:

### 1. Basic Info

* **Profile Name** (required) — A descriptive name for identifying this profile
* **Homepage URL** (optional) — The page that opens when the profile launches

### 2. Proxy Settings

Configure a proxy for this profile. See [Proxy IP](/en/desktop/proxy-ip) for details.

### 3. Fingerprint Configuration

Customize the browser fingerprint. See [Browser Fingerprint](/en/desktop/browser-fingerprint) for details.

## Profile Lifecycle

```mermaid theme={null}
flowchart LR
    A["Create Profile"] --> B["Configure\n(Proxy + Fingerprint)"]
    B --> C["Launch Browser"]
    C --> D["CDP Connects\n(Port auto-assigned)"]
    D --> E["Fingerprint Injected"]
    E --> F["Ready to Use"]
    F --> G["Close Browser"]
    G --> H["Data Persisted\nin user-data-dir"]
```

### Launch Process

When you launch a profile, Zeus Desktop:

1. **Assigns a debug port** — Finds an available port for Chrome DevTools Protocol (CDP)
2. **Builds launch arguments** — Constructs Chrome flags including `--user-data-dir`, `--proxy-server`, `--user-agent`, `--lang`
3. **Starts Chrome process** — Spawns a Chrome instance with the configured arguments
4. **Waits for CDP** — Polls the debug port until Chrome is ready
5. **Injects fingerprint** — Connects via CDP WebSocket to apply advanced fingerprint overrides and anti-detection scripts
6. **Returns control** — The browser is now ready for use

### macOS App Wrapper

On macOS, each profile is wrapped as a standalone `.app` bundle in the Dock, with its own icon and name. This provides a native macOS experience where each profile appears as an independent application.

## Data Isolation

Each profile's data is stored in a separate directory:

```
~/.zeus-profiles/
├── profile-abc123/
│   ├── Default/           # Chrome user data
│   ├── Cookies
│   ├── Local Storage/
│   └── ...
├── profile-def456/
│   ├── Default/
│   └── ...
└── profiles.json          # Profile metadata
```

This ensures:

* **No cookie leakage** between profiles
* **No shared login sessions**
* **Independent cache and history**
* **Complete localStorage isolation**

## Managing Profiles

### View Configuration

Click the settings icon on any profile card to view its full configuration, including:

* Basic information (name, homepage)
* Proxy status (type, address, authentication)
* Fingerprint summary (UA, language, timezone, resolution, protection status)

### Update Profile

You can modify a profile's configuration at any time. Changes to proxy and fingerprint settings will take effect on the next browser launch.

### Delete Profile

Deleting a profile removes both the metadata and the associated `user-data-dir`, permanently clearing all browsing data for that profile.
