docs: remove Windows support references, recommend WSL2
- Installation: Remove PowerShell/CMD install commands, add WSL2 warning - Quickstart: Replace PowerShell block with WSL2 tip - Contributing: Update cross-platform section to clarify Windows unsupported - Index: Update install description to say WSL2 instead of Windows
This commit is contained in:
parent
93d93fdea4
commit
f2624a1426
4 changed files with 18 additions and 35 deletions
|
|
@ -13,7 +13,7 @@ Thank you for contributing to Hermes Agent! This guide covers setting up your de
|
||||||
We value contributions in this order:
|
We value contributions in this order:
|
||||||
|
|
||||||
1. **Bug fixes** — crashes, incorrect behavior, data loss
|
1. **Bug fixes** — crashes, incorrect behavior, data loss
|
||||||
2. **Cross-platform compatibility** — Windows, macOS, different Linux distros
|
2. **Cross-platform compatibility** — macOS, different Linux distros, WSL2
|
||||||
3. **Security hardening** — shell injection, prompt injection, path traversal
|
3. **Security hardening** — shell injection, prompt injection, path traversal
|
||||||
4. **Performance and robustness** — retry logic, error handling, graceful degradation
|
4. **Performance and robustness** — retry logic, error handling, graceful degradation
|
||||||
5. **New skills** — broadly useful ones (see [Creating Skills](creating-skills.md))
|
5. **New skills** — broadly useful ones (see [Creating Skills](creating-skills.md))
|
||||||
|
|
@ -88,7 +88,7 @@ pytest tests/ -v
|
||||||
|
|
||||||
## Cross-Platform Compatibility
|
## Cross-Platform Compatibility
|
||||||
|
|
||||||
Hermes runs on Linux, macOS, and Windows. Critical rules:
|
Hermes officially supports Linux, macOS, and WSL2. Native Windows is **not supported**, but the codebase includes some defensive coding patterns to avoid hard crashes in edge cases. Key rules:
|
||||||
|
|
||||||
### 1. `termios` and `fcntl` are Unix-only
|
### 1. `termios` and `fcntl` are Unix-only
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ try:
|
||||||
menu = TerminalMenu(options)
|
menu = TerminalMenu(options)
|
||||||
idx = menu.show()
|
idx = menu.show()
|
||||||
except (ImportError, NotImplementedError):
|
except (ImportError, NotImplementedError):
|
||||||
# Fallback: numbered menu for Windows
|
# Fallback: numbered menu
|
||||||
for i, opt in enumerate(options):
|
for i, opt in enumerate(options):
|
||||||
print(f" {i+1}. {opt}")
|
print(f" {i+1}. {opt}")
|
||||||
idx = int(input("Choice: ")) - 1
|
idx = int(input("Choice: ")) - 1
|
||||||
|
|
@ -108,7 +108,7 @@ except (ImportError, NotImplementedError):
|
||||||
|
|
||||||
### 2. File encoding
|
### 2. File encoding
|
||||||
|
|
||||||
Windows may save `.env` files in `cp1252`:
|
Some environments may save `.env` files in non-UTF-8 encodings:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
try:
|
try:
|
||||||
|
|
@ -119,7 +119,7 @@ except UnicodeDecodeError:
|
||||||
|
|
||||||
### 3. Process management
|
### 3. Process management
|
||||||
|
|
||||||
`os.setsid()`, `os.killpg()`, and signal handling differ on Windows:
|
`os.setsid()`, `os.killpg()`, and signal handling differ across platforms:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
import platform
|
import platform
|
||||||
|
|
@ -131,10 +131,6 @@ if platform.system() != "Windows":
|
||||||
|
|
||||||
Use `pathlib.Path` instead of string concatenation with `/`.
|
Use `pathlib.Path` instead of string concatenation with `/`.
|
||||||
|
|
||||||
### 5. Shell commands in installers
|
|
||||||
|
|
||||||
If you change `scripts/install.sh`, check if the equivalent change is needed in `scripts/install.ps1`.
|
|
||||||
|
|
||||||
## Security Considerations
|
## Security Considerations
|
||||||
|
|
||||||
Hermes has terminal access. Security matters.
|
Hermes has terminal access. Security matters.
|
||||||
|
|
@ -175,7 +171,7 @@ refactor/description # Code restructuring
|
||||||
|
|
||||||
1. **Run tests**: `pytest tests/ -v`
|
1. **Run tests**: `pytest tests/ -v`
|
||||||
2. **Test manually**: Run `hermes` and exercise the code path you changed
|
2. **Test manually**: Run `hermes` and exercise the code path you changed
|
||||||
3. **Check cross-platform impact**: Consider Windows and macOS
|
3. **Check cross-platform impact**: Consider macOS and different Linux distros
|
||||||
4. **Keep PRs focused**: One logical change per PR
|
4. **Keep PRs focused**: One logical change per PR
|
||||||
|
|
||||||
### PR Description
|
### PR Description
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
sidebar_position: 1
|
sidebar_position: 1
|
||||||
title: "Installation"
|
title: "Installation"
|
||||||
description: "Install Hermes Agent on Linux, macOS, Windows, or WSL"
|
description: "Install Hermes Agent on Linux, macOS, or WSL2"
|
||||||
---
|
---
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
@ -10,26 +10,14 @@ Get Hermes Agent up and running in under two minutes with the one-line installer
|
||||||
|
|
||||||
## Quick Install
|
## Quick Install
|
||||||
|
|
||||||
### Linux / macOS / WSL
|
### Linux / macOS / WSL2
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
### Windows (PowerShell)
|
:::warning Windows
|
||||||
|
Native Windows is **not supported**. Please install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) and run Hermes Agent from there. The install command above works inside WSL2.
|
||||||
```powershell
|
|
||||||
irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iex
|
|
||||||
```
|
|
||||||
|
|
||||||
### Windows (CMD)
|
|
||||||
|
|
||||||
```cmd
|
|
||||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd
|
|
||||||
```
|
|
||||||
|
|
||||||
:::warning Windows Note
|
|
||||||
[Git for Windows](https://git-scm.com/download/win) is required. Hermes uses Git Bash internally for shell commands.
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### What the Installer Does
|
### What the Installer Does
|
||||||
|
|
@ -49,7 +37,7 @@ The installer handles everything automatically:
|
||||||
Reload your shell and start chatting:
|
Reload your shell and start chatting:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
source ~/.bashrc # or: source ~/.zshrc (Windows: restart your terminal)
|
source ~/.bashrc # or: source ~/.zshrc
|
||||||
hermes setup # Configure API keys (if you skipped during install)
|
hermes setup # Configure API keys (if you skipped during install)
|
||||||
hermes # Start chatting!
|
hermes # Start chatting!
|
||||||
```
|
```
|
||||||
|
|
@ -85,8 +73,8 @@ brew install git
|
||||||
brew install ripgrep node
|
brew install ripgrep node
|
||||||
```
|
```
|
||||||
|
|
||||||
**Windows (native):**
|
**Windows:**
|
||||||
Hermes runs natively on Windows using [Git for Windows](https://git-scm.com/download/win) (which provides Git Bash for shell commands). Install Git for Windows first, then use the PowerShell or CMD quick-install command above. WSL also works — follow the Ubuntu instructions.
|
Native Windows is not supported. Please install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) and follow the Ubuntu/Debian instructions above.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,13 @@ This guide walks you through installing Hermes Agent, setting up a provider, and
|
||||||
Run the one-line installer:
|
Run the one-line installer:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Linux / macOS / WSL
|
# Linux / macOS / WSL2
|
||||||
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
```powershell
|
:::tip Windows Users
|
||||||
# Windows (PowerShell)
|
Install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) first, then run the command above inside your WSL2 terminal.
|
||||||
irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iex
|
:::
|
||||||
```
|
|
||||||
|
|
||||||
After it finishes, reload your shell:
|
After it finishes, reload your shell:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ It's not a coding copilot tethered to an IDE or a chatbot wrapper around a singl
|
||||||
|
|
||||||
| | |
|
| | |
|
||||||
|---|---|
|
|---|---|
|
||||||
| 🚀 **[Installation](/docs/getting-started/installation)** | Install in 60 seconds on Linux, macOS, or Windows |
|
| 🚀 **[Installation](/docs/getting-started/installation)** | Install in 60 seconds on Linux, macOS, or WSL2 |
|
||||||
| 📖 **[Quickstart Tutorial](/docs/getting-started/quickstart)** | Your first conversation and key features to try |
|
| 📖 **[Quickstart Tutorial](/docs/getting-started/quickstart)** | Your first conversation and key features to try |
|
||||||
| ⚙️ **[Configuration](/docs/user-guide/configuration)** | Config file, providers, models, and options |
|
| ⚙️ **[Configuration](/docs/user-guide/configuration)** | Config file, providers, models, and options |
|
||||||
| 💬 **[Messaging Gateway](/docs/user-guide/messaging)** | Set up Telegram, Discord, Slack, or WhatsApp |
|
| 💬 **[Messaging Gateway](/docs/user-guide/messaging)** | Set up Telegram, Discord, Slack, or WhatsApp |
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue