ITADN
NousResearch/hermes-agent
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Hermes Agent

Hermes Agent ☤

Hermes Agent | Hermes Desktop

文档 Discord License: MIT 由 Nous Research 开发 中文 اردو Español

这是一款由 Nous Research 开发的自我提升型 AI 智能体。 它是唯一具备内置学习循环的智能体——它能从经验中积累技能、在使用过程中不断优化这些技能、主动保持知识记忆、检索自身的过往对话,并在多次会话中逐步构建出对你更深入的了解。你可以在价值 5 美元的 VPS、GPU 集群,或是闲置时几乎无需成本的服务器less 架构上运行它。它并不绑定在你的笔记本电脑上——即便它运行在云虚拟机上,你也可以通过 Telegram 与它进行交互。

你可以使用任何想要的模型——Nous Portal、OpenRouter、OpenAI、你自己的端点,以及更多其他选项。只需通过 hermes model 即可切换模型——无需修改代码,也不会受到限制。

真正的终端界面具备多行编辑、斜杠命令自动补全、对话历史记录、中断与重定向功能,以及可输出流式工具结果的完整 TUI。
随您身处何方而存在Telegram、Discord、Slack、WhatsApp、Signal 以及 CLI——所有功能均可通过同一个网关进程实现。支持语音备忘录转录,以及跨平台对话连续性。
封闭式学习循环由智能体精心筛选的记忆内容,并会定期给予提示。在完成复杂任务后可自动创建新技能。这些技能在使用过程中会持续自我优化。支持通过 FTS5 搜索会话记录,同时借助大语言模型进行总结,以便在不同会话间检索信息。Honcho的辩证式用户建模技术。兼容 agentskills.io开放标准。
定时自动化任务内置 cron 定时调度器,可将任务交付到任意平台。每日报告、夜间备份、每周审计——所有内容都以自然语言呈现,且可在无人值守情况下自动运行。
任务委派与并行处理可生成独立的子智能体以并行处理不同工作流。可通过编写 Python 脚本利用 RPC 调用各类工具,从而将多步骤流程简化为无需额外上下文开销的单一操作。
可在任何地方运行,不仅限于您的笔记本电脑提供七种终端后端选项——本地、Docker、SSH、Singularity、Modal、Daytona 以及 Vercel Sandbox。Daytona 和 Modal 支持无服务器持久化功能——当智能体处于空闲状态时其环境会进入休眠状态,需要时再唤醒,因此在不同会话之间几乎无需额外成本。您可以在价值 5 美元的 VPS 或 GPU 集群上运行它。
适合用于研究可批量生成轨迹,还可对轨迹进行压缩,用于训练下一代工具调用模型。

快速安装

Linux、macOS、WSL2、Termux

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Windows(原生环境,PowerShell)

**注意:**在原生 Windows 环境下,无需 WSL 即可运行 Hermes——CLI、网关、TUI 以及各类工具都能以原生方式正常工作。如果您更愿意使用 WSL2,上述针对 Linux/macOS 的一键安装命令在 WSL2 环境中同样适用。发现漏洞?请提交问题

在 PowerShell 中运行以下命令:

iex (irm https://hermes-agent.nousresearch.com/install.ps1)

安装程序会自动处理所有相关事项:uv、Python 3.11、Node.js、ripgrep、ffmpeg,以及一个便携式的 Git Bash(即 MinGit,解压至%LOCALAPPDATA%\hermes\git目录——无需管理员权限,且与系统自带的 Git 安装完全隔离)。Hermes 会使用这个内置的 Git Bash 来执行 shell 命令。

如果您已安装 Git,安装程序会自动检测到它并使用该版本。否则,只需下载约 45MB 的 MinGit 即可——它不会触碰或干扰系统中的任何 Git 安装。

Android / Termux: 经过测试的手动安装路径记录在 Termux 指南 中。在 Termux 环境下,Hermes 会安装一个精选的 .[termux] 额外组件,因为完整的 .[all] 额外组件会引入与 Android 不兼容的语音相关依赖。

Windows: 原生 Windows 环境得到完全支持——上述的 PowerShell 一行命令即可完成全部安装。如果您更愿意使用 WSL2,Linux 版本的命令在那里同样有效。原生 Windows 安装文件位于 %LOCALAPPDATA%\hermes 下;与 Linux 一样,WSL2 安装文件位于 ~/.hermes 下。

安装完成后:

source ~/.bashrc    # reload shell (or: source ~/.zshrc)
hermes              # start chatting!

故障排除

Windows Defender 或杀毒软件将 uv.exe 标记为恶意软件

如果您的杀毒软件(如 Bitdefender、Windows Defender 等)将 Hermes bin 文件夹中的 uv.exe 文件隔离(%LOCALAPPDATA%\hermes\bin\uv.exe),这属于误报。该文件实际上是 Astral 的 uv——即 Hermes 打包进来的 Rust Python 包管理器,用于管理 Python 环境。基于机器学习的杀毒引擎通常会将那些用于下载和安装包的未签名 Rust 可执行文件标记为恶意程序。

要验证您的文件是否真实有效:

# Install GitHub CLI if needed
winget install --id GitHub.cli

# Login to GitHub
gh auth login

# Run verification
$uv = "$env:LOCALAPPDATA\hermes\bin\uv.exe"
$ver = (& $uv --version).Split(' ')[1]
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$zip = "$env:TEMP\uv.zip"
Invoke-WebRequest "https://github.com/astral-sh/uv/releases/download/$ver/uv-x86_64-pc-windows-msvc.zip" -OutFile $zip -UseBasicParsing
gh attestation verify $zip --repo astral-sh/uv
Expand-Archive $zip "$env:TEMP\uv_x" -Force
(Get-FileHash "$env:TEMP\uv_x\uv.exe").Hash -eq (Get-FileHash $uv).Hash

如果验证结果显示“验证成功”,且最后一行输出了 True,则表示一切正常。

要将 Hermes 加入白名单:

  • Windows Defender: 以管理员身份运行 PowerShell → Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\hermes\bin"
  • Bitdefender: 在 Bitdefender 控制台中的“保护”>“杀毒软件”>“设置”>“管理例外”中添加例外规则
  • 应将文件夹加入白名单,而非文件哈希值——因为 Hermes 会定期更新uv,且每个版本都会改变哈希值

如需更多背景信息,请参阅上游项目 Astral 的相关报告:astral-sh/uv#13553, astral-sh/uv#15011, astral-sh/uv#10079


入门指南

hermes              # Interactive CLI — start a conversation
hermes model        # Choose your LLM provider and model
hermes tools        # Configure which tools are enabled
hermes config set   # Set individual config values
hermes config get   # Print individual config values
hermes gateway      # Start the messaging gateway (Telegram, Discord, etc.)
hermes setup        # Run the full setup wizard (configures everything at once)
hermes claw migrate # Migrate from OpenClaw (if coming from OpenClaw)
hermes update       # Update to the latest version
hermes doctor       # Diagnose any issues

📖 完整文档 →


跳过 API 密钥收集——使用 Nous Portal

Hermes 可以与任何您想要的提供商配合使用,这一点不会改变。但如果您不想为模型、网络搜索、图像生成、文本转语音功能以及云浏览器分别收集五个独立的 API 密钥,那么 Nous Portal 即可通过一个订阅套餐涵盖所有功能:

  • 300 多个模型——您可以通过 /model <name> 任意选择
  • 工具网关——包括网络搜索(Firecrawl)、图像生成(FAL)、文本转语音(OpenAI)、云浏览器(Browser Use),所有功能均通过您的订阅套餐处理,无需额外账户。

全新安装后只需执行一条命令即可:

hermes setup --portal

该命令会通过 OAuth 方式让您登录,将 Nous 设置为提供商,并启用工具网关。您随时可以使用 hermes portal info 查看当前已连接的各项功能。更多详细信息请参阅 工具网关文档页面

您仍然可以随时为每个工具自行携带密钥——网关是按后端划分的,而非全有或全无的模式。


CLI 与消息传递快速参考

Hermes 提供两种接入方式:通过 hermes 启动终端界面,或者运行网关后从 Telegram、Discord、Slack、WhatsApp、Signal 或 Email 进行交互。一旦开始对话,许多斜杠命令在两种界面中都是通用的。

操作CLI消息传递平台
开始聊天hermes运行 hermes gateway setup + hermes gateway start,然后向机器人发送消息
开启全新对话/new/reset/new/reset
更换模型/model [provider:model]/model [provider:model]
设置人格特性/personality [name]/personality [name]
重试或撤销上一步回复/retry, /undo/retry, /undo
压缩上下文 / 查看使用量/compress, /usage, /insights [--days N]/compress, /usage, /insights [days]
浏览技能列表/skills/<skill-name>/<skill-name>
中断当前操作Ctrl+C 或发送新消息/stop 或发送新消息
平台特定的状态信息/platforms/status, /sethome

完整的命令列表请参阅 CLI 指南消息传递网关指南


文档

所有文档均位于 hermes-agent.nousresearch.com/docs

区域内容涵盖
快速入门2 分钟内完成安装 → 设置 → 第一次对话
CLI 使用命令、快捷键绑定、角色设定、会话管理
配置配置文件、提供方、模型以及所有选项
消息网关Telegram、Discord、Slack、WhatsApp、Signal、Home Assistant
安全性命令审批、私信配对、容器隔离
工具与工具集40 多种工具、工具集系统、终端后端
技能系统程序化记忆、技能中心、技能创建
记忆持久化记忆、用户资料、最佳实践
MCP 集成连接任意 MCP 服务器以获得更多功能
Cron 定时任务基于平台的定时任务执行
上下文文件影响每一场对话的项目上下文
架构项目结构、智能体循环、核心类
贡献代码开发环境配置、PR 流程、代码风格规范
CLI 参考所有命令及参数
环境变量完整的环境变量参考手册

从 OpenClaw 迁移

如果您原本使用的是 OpenClaw,Hermes 可以自动导入您的设置、记忆、技能以及 API 密钥。

在首次设置时: 设置向导(hermes setup)会自动检测~/.openclaw,并在开始配置前提供迁移选项。

安装后的任何时间:

hermes claw migrate              # Interactive migration (full preset)
hermes claw migrate --dry-run    # Preview what would be migrated
hermes claw migrate --preset user-data   # Migrate without secrets
hermes claw migrate --overwrite  # Overwrite existing conflicts

会被导入的内容:

  • SOUL.md — 人物档案文件
  • Memories — MEMORY.md 与 USER.md 中的条目
  • Skills — 用户创建的技能 → ~/.hermes/skills/openclaw-imports/
  • Command allowlist — 审批规则集
  • Messaging settings — 平台配置、允许的用户名、工作目录
  • API keys — 已列入白名单的密钥(Telegram、OpenRouter、OpenAI、Anthropic、ElevenLabs)
  • TTS assets — 工作区音频文件
  • Workspace instructions — AGENTS.md(包含 --workspace-target

如需查看所有选项,请参阅 hermes claw migrate --help;或者使用 openclaw-migration 技能,通过交互式代理引导进行迁移,并可预览模拟运行结果。


贡献指南

我们欢迎大家贡献代码!请参阅 贡献指南,了解开发环境设置、代码风格及 Pull Request 流程。

针对贡献者的快速入门方式——请使用标准安装程序,然后在该程序在 $HERMES_HOME/hermes-agent(通常为~/.hermes/hermes-agent)创建的完整 git 代码库中进行开发。此布局与 hermes update 所使用的结构一致,后者提供了托管的虚拟环境、延迟加载的依赖项、网关以及文档生成工具。

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
cd "${HERMES_HOME:-$HOME/.hermes}/hermes-agent"
uv pip install -e ".[all,dev]"
scripts/run_tests.sh

手动克隆的备用方案(适用于临时克隆或 CI 环境,且您明确不希望使用托管安装的布局):

请在克隆的源代码树外部创建虚拟环境——因为代理在其自身代码库所在目录内创建的虚拟环境,可能会被代理通过相对路径命令清除,从而导致会话进行到一半时运行环境被破坏。

curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv ~/.hermes/venvs/hermes-dev --python 3.11
source ~/.hermes/venvs/hermes-dev/bin/activate
uv pip install -e ".[all,dev]"
scripts/run_tests.sh

社区

  • 💬 Discord
  • 📚 Skills Hub
  • 🐛 Issues
  • 🔌 computer-use-linux — 专为 Hermes 及其他 MCP 主机设计的 Linux 桌面控制 MCP 服务器,支持 AT-SPI 辅助功能树、Wayland/X11 输入、截图以及合成器窗口控制功能。
  • 🔌 HermesClaw — 社区微信桥接工具:允许在同一个微信账号上同时运行 Hermes Agent 和 OpenClaw。

许可协议

采用 MIT 许可协议——详情请见 LICENSE

Nous Research 开发。