Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 57 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,34 +73,77 @@ When suspicious activity is detected, the system escalates to a human operator r

### Prerequisites

- **Python 3.8+**
- **LLM endpoint** — any OpenAI-compatible API (local or cloud)
| | Linux / macOS | Windows |
|---|---|---|
| **Python** | 3.8+ | 3.8+ ([python.org](https://www.python.org/downloads/)) |
| **Git** | system package | [git-scm.com](https://git-scm.com/download/win) |
| **LLM endpoint** | any OpenAI-compatible API (local or cloud) | same |

### Installation

One-liner install:
#### Linux / macOS

```bash
curl -fsSL https://evonic.dev/install.sh | bash
```

This clones the repository, sets up a virtual environment, installs dependencies, generates configuration, and guides you through adding `evonic` to your PATH.
#### Windows (PowerShell)

**Manual installation:**
```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force
irm https://evonic.dev/install.ps1 | iex
```

Both installers copy the source to `~/.evonic` (Linux/macOS) or `%USERPROFILE%\.evonic` (Windows), create a virtual environment, install dependencies, and add `evonic` to your PATH.

> **Windows tip:** Install [uv](https://docs.astral.sh/uv/getting-started/installation/) first — the installer detects it automatically and uses it for significantly faster dependency installation.

See **[docs/windows-installation.md](docs/windows-installation.md)** for the full Windows guide including local dev setup and troubleshooting.

#### Manual (Linux / macOS)

```bash
git clone https://github.com/anvie/evonic
cd evonic
git clone https://github.com/anvie/evonic ~/.evonic
cd ~/.evonic
pip install -r requirements.txt
chmod +x ./evonic
./evonic setup
./evonic start
```

#### Manual (Windows)

```powershell
git clone https://github.com/anvie/evonic "$env:USERPROFILE\.evonic"
cd "$env:USERPROFILE\.evonic"

# with uv (recommended)
uv venv venv --python python --seed
uv pip install -r requirements.txt --python venv

# or standard pip
# python -m venv venv
# .\venv\Scripts\pip install -r requirements.txt

.\evonic.bat setup
.\evonic.bat start
```

### Start

```bash
# Linux / macOS
./evonic start
```

```powershell
# Windows (from repo directory)
.\evonic.bat start

# Windows (from anywhere, after installer sets PATH)
evonic start
```

Open `http://localhost:8080` in your browser.

### Docker Sandbox (optional)
Expand Down Expand Up @@ -131,12 +174,19 @@ Each agent is designed from the ground up with six configurable dimensions:
Create and manage agents via the web UI (`/agents`) or CLI:

```bash
# Linux / macOS
./evonic agent add my_bot --name "My Bot"
./evonic agent add dev_bot --name "Dev Bot" --skillset coder
./evonic agent enable my_bot
./evonic agent remove my_bot
```

```powershell
# Windows
.\evonic.bat agent add my_bot --name "My Bot"
.\evonic.bat agent add dev_bot --name "Dev Bot" --skillset coder
```

---

## Channels
Expand Down
209 changes: 209 additions & 0 deletions docs/windows-installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
# Windows Installation Guide

Evonic runs natively on Windows 10/11 using Windows Terminal or PowerShell — no WSL, no Docker, no containers required.

---

## Prerequisites

| Tool | Minimum | Download |
|------|---------|---------|
| Python | 3.8+ | [python.org](https://www.python.org/downloads/) — check **"Add Python to PATH"** |
| Git | any | [git-scm.com](https://git-scm.com/download/win) |
| uv _(recommended)_ | any | [docs.astral.sh/uv](https://docs.astral.sh/uv/getting-started/installation/) |

---

## Option A — One-liner (GitHub release)

Once the project is published to GitHub, open **Windows Terminal** and run:

```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force
irm https://evonic.dev/install.ps1 | iex
```

---

## Option B — Install from local source (dev / pre-release)

If you have the source cloned locally, use the `-SourcePath` flag:

```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force
.\install.ps1 -SourcePath "C:\path\to\evonic"
```

The installer will:

1. Check Python 3.8+ and Git are available
2. Copy source files to `%USERPROFILE%\.evonic`
3. Create a Python virtual environment at `%USERPROFILE%\.evonic\venv`
4. Install all dependencies (uses `uv` automatically when available)
5. Create `%USERPROFILE%\.evonic\bin\evonic.bat` CLI wrapper
6. Add `%USERPROFILE%\.evonic\bin` to your user PATH
7. Launch the interactive first-time setup wizard

After setup completes, open a **new terminal** and run from anywhere:

```powershell
evonic start
```

---

## Option C — Manual installation

```powershell
# 1. Get the source
git clone https://github.com/anvie/evonic "$env:USERPROFILE\.evonic"
cd "$env:USERPROFILE\.evonic"

# 2. Create virtual environment
# Recommended: uv (--seed ensures pip is included)
uv venv venv --python python --seed
# Alternative: standard Python
# python -m venv venv

# 3. Install dependencies
# Recommended: uv (faster)
uv pip install -r requirements.txt --python venv
# Alternative: standard pip
# .\venv\Scripts\pip install -r requirements.txt

# 4. First-time setup wizard
.\evonic.bat setup

# 5. Start the server
.\evonic.bat start
```

Open `http://localhost:8080`.

---

## Option D — Run directly from the cloned repo

No installer needed. From the repo root:

```powershell
cd C:\path\to\evonic

# Create venv and install deps
uv venv venv --python python --seed
uv pip install -r requirements.txt --python venv

# Run
.\evonic.bat setup
.\evonic.bat start
```

`evonic.bat` in the repo root automatically uses `venv\Scripts\python.exe` when present.

---

## CLI reference

After the installer adds `evonic` to your PATH, use `evonic` from any terminal. From inside the repo, use `.\evonic.bat`.

| Linux / macOS | Windows (global) | Windows (repo) |
|---|---|---|
| `./evonic setup` | `evonic setup` | `.\evonic.bat setup` |
| `./evonic start` | `evonic start` | `.\evonic.bat start` |
| `./evonic start -d` | `evonic start -d` | `.\evonic.bat start -d` |
| `./evonic stop` | `evonic stop` | `.\evonic.bat stop` |
| `./evonic status` | `evonic status` | `.\evonic.bat status` |
| `./evonic doctor` | `evonic doctor` | `.\evonic.bat doctor` |
| `./evonic agent list` | `evonic agent list` | `.\evonic.bat agent list` |
| `./evonic skill list` | `evonic skill list` | `.\evonic.bat skill list` |
| `./evonic plugin list` | `evonic plugin list` | `.\evonic.bat plugin list` |

---

## Configuration

Run `evonic setup` for the interactive wizard, or edit `.env` directly:

```powershell
copy "$env:USERPROFILE\.evonic\.env.example" "$env:USERPROFILE\.evonic\.env"
notepad "$env:USERPROFILE\.evonic\.env"
```

Minimum required settings:

```env
LLM_API_KEY=your-api-key-here
LLM_BASE_URL=https://openrouter.ai/api/v1
LLM_MODEL=qwen/qwen3-8b
SECRET_KEY=any-random-string
```

---

## Troubleshooting

### Script execution policy error

PowerShell blocks local scripts by default. Allow scripts for the current session only:

```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force
.\install.ps1 -SourcePath "C:\path\to\evonic"
```

### `evonic` not recognized after install

The installer updates your **user** PATH. Open a **new** terminal window for the change to take effect.

To add it manually:

```powershell
$binDir = "$env:USERPROFILE\.evonic\bin"
[Environment]::SetEnvironmentVariable("Path", "$([Environment]::GetEnvironmentVariable('Path','User'));$binDir", "User")
```

Then open a new terminal.

### `No module named pip` during install

This happens when `uv venv` creates a minimal venv without pip. The installer uses `--seed` to fix this automatically. If you hit it manually, add the flag:

```powershell
uv venv venv --python python --seed
```

### Garbled or missing characters in terminal

`evonic.bat` sets `chcp 65001` (UTF-8) automatically. If characters still look wrong, make sure you are using **Windows Terminal** (not the legacy `cmd.exe` window) with a font that supports Unicode (e.g. Cascadia Code, Consolas).

### `python` not found or points to Windows Store

Install Python from [python.org](https://www.python.org/downloads/), check "Add Python to PATH", and restart your terminal. Verify:

```powershell
python --version
```

### Port already in use

```powershell
# Pass a different port at startup
evonic start --port 9090

# Or set it permanently in .env
# PORT=9090
```

---

## Reinstall / Uninstall

```powershell
# Full reinstall from local source
.\install.ps1 -SourcePath "C:\path\to\evonic"

# Remove everything
Remove-Item -Recurse -Force "$env:USERPROFILE\.evonic"

# Remove from PATH: Settings > System > About > Advanced system settings > Environment Variables
```
13 changes: 13 additions & 0 deletions evonic.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@echo off
setlocal
chcp 65001 >nul 2>&1
set "PYTHONUTF8=1"
set "PYTHONIOENCODING=utf-8"
set "EVONIC_HOME=%~dp0"
if "%EVONIC_HOME:~-1%"=="\" set "EVONIC_HOME=%EVONIC_HOME:~0,-1%"
if exist "%EVONIC_HOME%\venv\Scripts\python.exe" (
"%EVONIC_HOME%\venv\Scripts\python.exe" "%EVONIC_HOME%\cli\__main__.py" %*
) else (
python "%EVONIC_HOME%\cli\__main__.py" %*
)
endlocal
Loading
Loading