Skip to content

Commit a3bdf1b

Browse files
authored
Merge pull request #405 from Lexus2016/sync/upstream-2026-06-21
sync: merge upstream/main — 301 commits (2026-06-21), 23 conflicts resolved
2 parents 70ca861 + 1f75d66 commit a3bdf1b

552 files changed

Lines changed: 35497 additions & 5164 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@
105105
# Get your token at: https://huggingface.co/settings/tokens
106106
# Required permission: "Make calls to Inference Providers"
107107
# HF_TOKEN=
108+
# HF_BASE_URL=https://router.huggingface.co/v1 # Override default base URL
108109
# OPENCODE_GO_BASE_URL=https://opencode.ai/zen/go/v1 # Override default base URL
109110

110111
# =============================================================================
@@ -411,6 +412,9 @@ IMAGE_TOOLS_DEBUG=false
411412
# Groq API key (free tier — used for Whisper STT in voice mode)
412413
# GROQ_API_KEY=
413414

415+
# ElevenLabs API key (cloud STT/TTS — Scribe transcription)
416+
# ELEVENLABS_API_KEY=
417+
414418
# =============================================================================
415419
# STT PROVIDER SELECTION
416420
# =============================================================================

AGENTS.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -968,9 +968,10 @@ Enable/disable per platform via `hermes tools` (the curses UI) or the
968968
## Delegation (`delegate_task`)
969969

970970
`tools/delegate_tool.py` spawns a subagent with an isolated
971-
context + terminal session. Synchronous: the parent waits for the
972-
child's summary before continuing its own loop — if the parent is
973-
interrupted, the child is cancelled.
971+
context + terminal session. By default the parent waits for the
972+
child's summary before continuing its own loop. With `background=true`,
973+
Hermes returns a delegation id immediately and the result re-enters the
974+
conversation later through the async-delegation completion queue.
974975

975976
Two shapes:
976977

@@ -992,9 +993,9 @@ Key config knobs (under `delegation:` in `config.yaml`):
992993
`orchestrator_enabled`, `subagent_auto_approve`, `inherit_mcp_toolsets`,
993994
`max_iterations`.
994995

995-
Synchronicity rule: delegate_task is **not** durable. For long-running
996-
work that must outlive the current turn, use `cronjob` or
997-
`terminal(background=True, notify_on_complete=True)` instead.
996+
Durability rule: background `delegate_task` is detached from the current
997+
turn but still process-local. For work that must survive process restart, use
998+
`cronjob` or `terminal(background=True, notify_on_complete=True)` instead.
998999

9991000
---
10001001

CONTRIBUTING.es.md

Lines changed: 602 additions & 0 deletions
Large diffs are not rendered by default.

CONTRIBUTING.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,24 @@ We value contributions in this order:
1818

1919
---
2020

21+
## Before You Start: Search First
22+
23+
A quick search before you build saves your time and keeps the PR queue clean — duplicates are common here, so it's worth a minute up front.
24+
25+
- **Search both open *and* merged PRs and issues** for your topic or error symptom — the duplicate-check in the PR template fires at review time, after you've already done the work:
26+
```bash
27+
gh search issues --repo NousResearch/hermes-agent "<your terms>"
28+
gh search prs --repo NousResearch/hermes-agent --state all "<your terms>"
29+
```
30+
Or use the web UI: [issues](https://github.com/NousResearch/hermes-agent/issues?q=) · [PRs (all states)](https://github.com/NousResearch/hermes-agent/pulls?q=is%3Apr).
31+
- **The issue tracker can lag the code.** Many requested features are already implemented in-tree, so also search the source (`search_files`, or your editor's grep) for the capability before proposing it.
32+
- **If an open PR already addresses it**, consider reviewing or improving that one instead of opening a competing duplicate.
33+
- **For larger work**, comment on the issue to signal you're working on it, so others don't start the same thing.
34+
35+
Related: #38284 covers the agent-side analog — Hermes itself checking existing issues and PRs before deep self-troubleshooting. This section is the human-contributor complement.
36+
37+
---
38+
2139
## Should it be a Skill or a Tool?
2240

2341
This is the most common question for new contributors. The answer is almost always **skill**.
@@ -412,6 +430,12 @@ Brief intro.
412430
## When to Use
413431
Trigger conditions — when should the agent load this skill?
414432

433+
## Prerequisites
434+
Env vars, install steps, MCP setup, API key sourcing.
435+
436+
## How to Run
437+
Canonical invocation through the `terminal` tool.
438+
415439
## Quick Reference
416440
Table of common commands or API calls.
417441

README.es.md

Lines changed: 220 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,41 @@ memory, and settings stay exactly as they were.
3232
> Don't want unattended daily updates? Add `--no-star` and/or `--no-auto-update`
3333
> when you run it (from a clone): `bash upgrade.sh --no-auto-update`.
3434
35+
### Troubleshooting
36+
37+
#### Windows Defender or antivirus flags `uv.exe` as malware
38+
39+
If your antivirus (Bitdefender, Windows Defender, etc.) quarantines `uv.exe` from the Hermes `bin` folder (`%LOCALAPPDATA%\hermes\bin\uv.exe`), this is a **false positive**. The file is Astral's `uv` — the Rust Python package manager Hermes bundles to manage its Python environment. ML-based antivirus engines commonly flag unsigned Rust binaries that download and install packages.
40+
41+
**To verify your copy is authentic:**
42+
43+
```powershell
44+
# Install GitHub CLI if needed
45+
winget install --id GitHub.cli
46+
47+
# Login to GitHub
48+
gh auth login
49+
50+
# Run verification
51+
$uv = "$env:LOCALAPPDATA\hermes\bin\uv.exe"
52+
$ver = (& $uv --version).Split(' ')[1]
53+
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
54+
$zip = "$env:TEMP\uv.zip"
55+
Invoke-WebRequest "https://github.com/astral-sh/uv/releases/download/$ver/uv-x86_64-pc-windows-msvc.zip" -OutFile $zip -UseBasicParsing
56+
gh attestation verify $zip --repo astral-sh/uv
57+
Expand-Archive $zip "$env:TEMP\uv_x" -Force
58+
(Get-FileHash "$env:TEMP\uv_x\uv.exe").Hash -eq (Get-FileHash $uv).Hash
59+
```
60+
61+
If attestation says "Verification succeeded" and the last line prints `True`, you're good.
62+
63+
**To whitelist Hermes:**
64+
- **Windows Defender:** Run PowerShell as Admin → `Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\hermes\bin"`
65+
- **Bitdefender:** Add an exception in the Bitdefender console (Protection > Antivirus > Settings > Manage Exceptions)
66+
- Whitelist the **folder**, not the file hash — Hermes updates `uv` and the hash changes every version
67+
68+
For more context, see the upstream Astral reports: [astral-sh/uv#13553](https://github.com/astral-sh/uv/issues/13553), [astral-sh/uv#15011](https://github.com/astral-sh/uv/issues/15011), [astral-sh/uv#10079](https://github.com/astral-sh/uv/issues/10079).
69+
3570
---
3671

3772
## 🔑 Set up a GitHub token

README.zh-CN.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,11 @@ curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
3939

4040
> **Android / Termux:** 已测试的手动安装路径请参考 [Termux 指南](https://hermes-agent.nousresearch.com/docs/getting-started/termux)。在 Termux 上,Hermes 会安装精选的 `.[termux]` 扩展,因为完整的 `.[all]` 扩展会拉取 Android 不兼容的语音依赖。
4141
>
42-
> **Windows:** 原生 Windows 不受支持。请安装 [WSL2](https://learn.microsoft.com/zh-cn/windows/wsl/install) 并运行上述命令。
42+
> **Windows:** 在 PowerShell 中运行:
43+
> ```powershell
44+
> iex (irm https://hermes-agent.nousresearch.com/install.ps1)
45+
> ```
46+
> 安装完成后,可能需要重启终端,然后运行 `hermes` 开始对话。
4347
4448
安装后:
4549

0 commit comments

Comments
 (0)