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

# Manual Install

> Deploy CowAgent manually (source code / Docker)

## Source Code Deployment

### 1. Clone the project

```bash theme={null}
git clone https://github.com/zhayujie/CowAgent
cd CowAgent/
```

<Tip>
  For network issues, use the mirror: [https://gitee.com/zhayujie/CowAgent](https://gitee.com/zhayujie/CowAgent)
</Tip>

### 2. Install dependencies

Core dependencies (required):

```bash theme={null}
pip3 install -r requirements.txt
```

Optional dependencies (recommended):

```bash theme={null}
pip3 install -r requirements-optional.txt
```

### 3. Install Cow CLI

Install the command-line tool for managing services and skills:

```bash theme={null}
pip3 install -e .
```

Then use the `cow` command:

```bash theme={null}
cow help
```

<Note>
  This step is recommended. After installation you can use `cow start`, `cow stop`, `cow update` to manage the service, and `cow skill` to manage skills. Without the CLI, you can use `./run.sh` or `python3 app.py` to run.
</Note>

### 4. Configure

Copy the config template and edit:

```bash theme={null}
cp config-template.json config.json
```

Fill in model API keys, channel type, and other settings in `config.json`. See the [model docs](/models/index) for details.

### 5. Run

**Using Cow CLI (recommended):**

```bash theme={null}
cow start
```

**Or run locally in foreground:**

```bash theme={null}
python3 app.py
```

By default, the Web console starts. Access `http://localhost:9899` to chat.

**Background run on server (without CLI):**

```bash theme={null}
nohup python3 app.py & tail -f nohup.out
```

<Tip>
  **Deploying on a server?** By default `web_host` only listens on `127.0.0.1` (local access). Set `web_host` to `0.0.0.0` in `config.json` to make the console reachable from outside, and set `web_password` to protect it. Don't forget to open port `9899` in your firewall or security group — ideally restricted to specific IPs.
</Tip>

## Docker Deployment

Docker deployment does not require cloning source code or installing dependencies. For Agent mode, source deployment is recommended for broader system access.

<Note>
  Requires [Docker](https://docs.docker.com/engine/install/) and docker-compose.
</Note>

**1. Download config**

```bash theme={null}
curl -O https://cdn.link-ai.tech/code/cow/docker-compose.yml
```

Edit `docker-compose.yml` with your configuration.

**2. Start container**

```bash theme={null}
sudo docker compose up -d
```

**3. View logs**

```bash theme={null}
sudo docker logs -f chatgpt-on-wechat
```

<Tip>
  **Running in Docker?** Set `WEB_HOST` to `0.0.0.0` in `docker-compose.yml` so the console is reachable from outside the container, and set `WEB_PASSWORD` to protect it. Make sure port `9899` is mapped to the host and open in your firewall or security group.
</Tip>

## Core Configuration

```json theme={null}
{
  "channel_type": "web",
  "model": "deepseek-v4-flash",
  "deepseek_api_key": "",
  "agent": true,
  "agent_workspace": "~/cow",
  "agent_max_context_tokens": 40000,
  "agent_max_context_turns": 30,
  "agent_max_steps": 15,
  "cow_lang": "auto"
}
```

| Parameter                  | Description                                                                                | Default             |
| -------------------------- | ------------------------------------------------------------------------------------------ | ------------------- |
| `channel_type`             | Channel type                                                                               | `web`               |
| `model`                    | Model name                                                                                 | `deepseek-v4-flash` |
| `agent`                    | Enable Agent mode                                                                          | `true`              |
| `agent_workspace`          | Agent workspace path                                                                       | `~/cow`             |
| `agent_max_context_tokens` | Max context tokens                                                                         | `40000`             |
| `agent_max_context_turns`  | Max context turns                                                                          | `30`                |
| `agent_max_steps`          | Max decision steps per task                                                                | `15`                |
| `cow_lang`                 | Language for the UI, command text and system prompts; `auto` to detect, or set `zh` / `en` | `auto`              |

<Tip>
  Full configuration options are in the project [`config.py`](https://github.com/zhayujie/CowAgent/blob/master/config.py).
</Tip>
