Hermes Agent 深度拆解:从安装配置到技能系统的完整指南
一文读懂 Nous Research 开源通用 Agent 框架——架构设计、模型路由、技能系统、安全模型全解析。
一、Hermes 是什么?
Hermes Agent 是由 Nous Research 开发的开源通用 AI Agent 框架,GitHub Star 数已超 172k+,采用 MIT 协议开源。它不是又一个 ChatBot 封装——Hermes 有一套自我学习闭环:从经验中创建技能(Skill)、使用中改进技能、自动将知识持久化、跨会话搜索历史对话、逐步建立用户画像。
核心卖点:
- 多平台通讯:Telegram、Discord、Slack、WhatsApp、Signal、QQ、飞书、企业微信等 20+ 平台,一个 Gateway 进程全搞定
- 模型无关:OpenRouter(200+ 模型)、Nous Portal(300+ 模型)、OpenAI Codex、Anthropic、DeepSeek、Qwen、MiniMax、Kimi、本地 Ollama……用
hermes model一键切换 - 自托管、零锁定:跑在 $5 VPS 上,也跑在 GPU 集群上;不绑定你的笔记本,Telegram 上聊着天,它在云 VM 上干活
- 闭环学习:Agent 自主创建技能 → 使用中改进 → 定期记忆回顾 → FTS5 全文搜索历史 → Honcho 用户建模
GitHub 仓库:https://github.com/nousresearch/hermes-agent
官方文档:https://hermes-agent.nousresearch.com/docs
二、环境部署
2.1 系统要求
- Python 3.11+
- Node.js(TUI 界面需要)
- Git
2.2 一键安装
Linux / macOS / WSL2:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
Windows PowerShell(Early Beta):
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
安装脚本自动处理 uv、Python 3.11、Node.js、ripgrep、ffmpeg 等依赖。
2.3 手动安装(开发者)
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
./setup-hermes.sh # 自动安装 uv、创建 venv、安装依赖、创建符号链接
或手动步骤:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"
2.4 首次配置
hermes setup --portal # 推荐:一条命令完成 OAuth + 模型 + Tool Gateway
hermes setup # 交互式配置向导
hermes model # 选择 LLM 提供商和模型
hermes tools # 配置启用的工具集
hermes doctor # 诊断问题
三、核心架构
3.1 整体架构图
┌──────────────────────────────────────────────────────────────┐
│ Hermes Agent │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ CLI (TUI) │ │ Gateway │ │ Cron Job │ │
│ │ hermes_cli │ │ GatewayRun │ │ scheduler │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ └──────────────────┼───────────────────┘ │
│ ▼ │
│ ┌────────────────┐ │
│ │ AIAgent │ │
│ │ (run_agent.py)│ │
│ └───────┬────────┘ │
│ │ │
│ ┌─────────────────┼──────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Model Router │ │ Tool System │ │ Skill System │ │
│ │ (provider/ │ │ (model_tools │ │ (skill_manage│ │
│ │ fallback/ │ │ /registry) │ │ /skill_view)│ │
│ │ credential │ │ │ │ │ │
│ │ _pool) │ │ │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │
│ ┌─────────────────┼──────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Terminal │ │ Memory │ │ MCP / │ │
│ │ Backends │ │ (SQLite/ │ │ Plugin │ │
│ │ (local/docker│ │ FTS5) │ │ System │ │
│ │ /ssh/modal/ │ │ │ │ │ │
│ │ daytona/ │ │ │ │ │ │
│ │ singularity) │ │ │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────┘
3.2 目录结构
~/.hermes/
├── config.yaml # 核心配置文件(模型、终端、工具集、技能等)
├── .env # API 密钥和敏感信息
├── auth.json # OAuth 凭据(Nous Portal、Codex 等)
├── SOUL.md # Agent 人格文件(系统提示词 Slot #1)
├── memories/ # 持久化记忆(MEMORY.md、USER.md)
├── skills/ # 技能目录
├── cron/ # 定时任务
├── sessions/ # Gateway 会话
└── logs/ # 日志(secrets 自动脱敏)
3.3 源码结构(关键模块)
hermes-agent/
├── run_agent.py # AIAgent 类——核心对话循环(~12k LOC)
├── model_tools.py # 工具编排,discover_builtin_tools()
├── cli.py # HermesCLI——交互式 CLI 编排器(~11k LOC)
├── agent/ # Agent 内部(provider 适配、记忆、缓存、压缩)
├── tools/ # 工具实现——自动发现
│ └── environments/ # 终端后端(local, docker, ssh, modal, daytona, singularity)
├── gateway/ # 消息网关
│ └── platforms/ # 平台适配器(telegram, discord, slack, qqbot, wecom...)
├── plugins/ # 插件系统
├── skills/ # 内置技能
├── optional-skills/ # 可选技能
├── cron/ # 定时任务调度器
└── tests/ # Pytest 测试套件(~17k 测试用例)
四、config.yaml 结构详解
~/.hermes/config.yaml 是 Hermes 的核心配置文件,所有非敏感设置都在这里。
4.1 配置优先级
- CLI 参数(最高)——如
hermes chat --model anthropic/claude-sonnet-4 - config.yaml——主要配置文件
- .env——API 密钥的回退来源
- 内置默认值(最低)
经验法则:密钥放
.env,其他全放config.yaml。
4.2 完整配置示例
# ============ 模型配置 ============
model:
provider: openrouter # 提供商
default: anthropic/claude-sonnet-4 # 默认模型
# model: xxx # 与 default 等价
# ============ 备用模型(Fallback) ============
fallback_model: # 单个备用(旧式)
provider: openrouter
model: anthropic/claude-sonnet-4
fallback_providers: # 多个备用(按顺序尝试)
- provider: nous
model: nous-hermes-3
- provider: deepseek
model: deepseek-chat
# ============ 凭据池轮询策略 ============
credential_pool_strategies:
openrouter: round_robin
anthropic: least_used
# ============ Provider 路由(OpenRouter 专用) ============
provider_routing:
sort: "price" # price / throughput / latency
only: [] # 白名单
ignore: [] # 黑名单
order: [] # 显式优先级
require_parameters: false
data_collection: null # "allow" 或 "deny"
# ============ 终端后端 ============
terminal:
backend: local # local / docker / ssh / modal / daytona / singularity
cwd: "."
timeout: 180
docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
container_cpu: 1
container_memory: 5120 # MB
container_persistent: true
# ============ 工具集 ============
enabled_toolsets:
- hermes-cli # CLI 默认工具集
# - hermes-telegram # Telegram 网关工具集
# ============ 技能 ============
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
# ============ 审批模式 ============
approvals:
mode: manual # manual / smart / off
timeout: 60
cron_mode: deny # deny / approve
destructive_slash_confirm: true
# ============ 辅助模型 ============
auxiliary:
vision:
provider: auto
compression:
provider: auto
web_extract:
provider: auto
# ============ 自定义 Provider ============
custom_providers:
"My Local LLM":
base_url: http://localhost:8000/v1
key_env: LOCAL_API_KEY
4.3 环境变量替换
config.yaml 支持 ${VAR_NAME} 语法引用环境变量:
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
4.4 常用配置命令
hermes config # 查看当前配置
hermes config edit # 编辑器打开 config.yaml
hermes config set model anthropic/claude-opus-4 # 设置值
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # 自动存到 .env
hermes config check # 检查缺失项
hermes config migrate # 交互式补充新版本选项
五、技能系统(Skills)
技能是 Hermes 最独特的特性之一——按需加载的知识文档,遵循渐进披露(Progressive Disclosure)模式,最小化 Token 消耗,兼容 agentskills.io 开放标准。
5.1 SKILL.md 格式
每个技能的核心是一个 SKILL.md 文件:
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # 可选——限制操作系统
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # 可选——条件激活
requires_toolsets: [terminal] # 可选——条件激活
config: # 可选——config.yaml 设置
- key: my.setting
description: "What this controls"
default: "value"
---
# Skill Title
## When to Use
触发条件
## Procedure
1. 步骤一
2. 步骤二
## Pitfalls
- 已知坑和修复
## Verification
如何确认成功
5.2 渐进披露加载
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → 完整内容 + 元数据 (按需加载)
Level 2: skill_view(name, path) → 特定引用文件 (按需加载)
Agent 只在真正需要时才加载完整技能内容——不是把所有技能塞进系统提示词,而是像索引一样按需拉取。
5.3 技能目录结构
~/.hermes/skills/ # 唯一真相源
├── mlops/ # 分类目录
│ ├── axolotl/
│ │ ├── SKILL.md # 主指令文件(必须)
│ │ ├── references/ # 额外文档
│ │ ├── templates/ # 输出格式
│ │ ├── scripts/ # 辅助脚本
│ │ └── assets/ # 补充文件
│ └── vllm/
│ └── SKILL.md
├── devops/
│ └── deploy-k8s/ # Agent 自主创建的技能
│ ├── SKILL.md
│ └── references/
├── .hub/ # Skills Hub 状态
│ ├── lock.json
│ ├── quarantine/
│ └── audit.log
└── .bundled_manifest # 追踪内置技能
5.4 使用技能
# 斜杠命令激活
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/plan design a rollout for migrating our auth provider
/excalidraw
# 自然语言触发
hermes chat --toolsets skills -q "What skills do you have?"
5.5 条件激活(Fallback Skills)
技能可以根据当前可用工具集自动显示或隐藏:
metadata:
hermes:
fallback_for_toolsets: [web] # 仅在 web 工具集不可用时显示
requires_toolsets: [terminal] # 仅在 terminal 工具集可用时显示
fallback_for_tools: [web_search] # 按工具名匹配
requires_tools: [terminal] # 按工具名匹配
实战例子:内置的 duckduckgo-search 技能设置了 fallback_for_toolsets: [web]。当你配了 Firecrawl API Key 时,web 工具集可用,Agent 用 web_search 工具——DuckDuckGo 技能自动隐藏。没配 Key?它自动出现作为免费替代。
5.6 技能市场(Skills Hub)
agentskills.io 是技能开放标准,Hermes 完全兼容。Skills Hub 提供健康检查、新鲜度徽章和 watchdog cron。
5.7 技能包(Skill Bundles)
一个 /writing-day 斜杠命令可以同时激活 humanizer + ideation + obsidian + youtube-content 四个技能——这就是技能包。
5.8 外部技能目录
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- 本地目录优先级高于外部目录
- 外部目录可写时,Agent 可以修改其中的技能
- 不存在的路径静默跳过
六、Cron 定时任务系统
Hermes 内置了完整的 Cron 调度器——用自然语言或 cron 表达式定义定时任务,结果可投递到任意平台。
6.1 创建任务
# 斜杠命令
/cron add 30m "Remind me to check the build"
/cron add "every 2h" "Check server status"
/cron add "every 1h" "Summarize new feed items" --skill blogwatcher
# CLI 命令
hermes cron create "every 2h" "Check server status"
hermes cron create "every 1h" "Summarize new feed items" --skill blogwatcher
# 自然语言
# "每天早上 9 点检查 Hacker News 的 AI 新闻,在 Telegram 发给我摘要。"
6.2 技能驱动的 Cron
cronjob(
action="create",
skills=["blogwatcher", "maps"],
prompt="Look for new local events and nearby places, then combine them into one short brief.",
schedule="every 6h",
name="Local brief",
)
6.3 生命周期管理
/cron list # 列出所有任务
/cron pause <job_id> # 暂停
/cron resume <job_id> # 恢复
/cron run <job_id> # 手动触发
/cron edit <job_id> --schedule "every 4h" # 编辑
/cron edit <job_id> --skill blogwatcher --skill maps # 修改技能
/cron remove <job_id> # 删除
6.4 关键特性
- No-Agent 模式:纯脚本定时执行,零 LLM 调用
- 工作目录:
--workdir /home/me/projects/acme注入 AGENTS.md 等 - Profile 隔离:
--profile night-ops在指定 Profile 下运行 - 防递归:Cron 会话内不能再创建 Cron 任务
- 结果投递:支持投递到 Telegram、Discord 等任意平台
七、多模型路由
7.1 三层弹性机制
请求
→ 1. Credential Pool(同 Provider 多 Key 轮询)
→ 429 限流?轮换到下一个 Key
→ 所有 Key 耗尽?→ 2. Fallback Provider(跨 Provider 切换)
→ 3. Auxiliary Task Fallback(辅助任务独立 Provider 链)
7.2 Fallback 链
当主模型遇到 429/500/401 等错误,Hermes 自动切换到备用 Provider:
model:
provider: anthropic
default: claude-sonnet-4-6
fallback_providers: # 按顺序尝试
- provider: openrouter
model: anthropic/claude-sonnet-4
- provider: nous
model: nous-hermes-3
- provider: deepseek
model: deepseek-chat
关键特性:
- Per-Turn 切换:每条新消息重新尝试主模型,Fallback 只在当轮生效
- 无缝切换:对话历史、工具调用、上下文全部保留
- 触发条件:429 限流、500/502/503 服务端错误、401/403 认证失败、404 模型不存在
7.3 Credential Pool 轮询
同一 Provider 配多个 API Key,自动轮询和冷却:
hermes auth add openrouter --api-key sk-or-v1-your-second-key
hermes auth add anthropic --type oauth
hermes auth list # 查看凭据池
四种轮询策略:
| 策略 | 行为 |
|---|---|
fill_first(默认) |
用第一个 Key 直到耗尽,再换下一个 |
round_robin |
均匀轮换 |
least_used |
选请求计数最少的 Key |
random |
随机选择 |
错误恢复:
| 错误 | 行为 | 冷却时间 |
|---|---|---|
| 429 限流 | 同 Key 重试一次,第二次 429 换 Key | 1 小时 |
| 402 余额不足 | 立即换 Key | 24 小时 |
| 401 认证过期 | 尝试刷新 OAuth,失败则换 Key | — |
| 所有 Key 耗尽 | 触发 fallback_model | — |
7.4 Provider 路由(OpenRouter 专用)
provider_routing:
sort: "price" # 按 price / throughput / latency 排序
only: ["Anthropic", "Google"] # 白名单
ignore: ["Together"] # 黑名单
order: ["Anthropic", "Google", "AWS Bedrock"] # 显式优先级
require_parameters: true # 只用支持所有参数的 Provider
data_collection: "deny" # 禁止用 Prompt 训练
7.5 辅助任务独立 Provider
视觉、压缩、网页提取等辅助任务有独立的 Provider 解析链:
| 任务 | 配置键 | 用途 |
|---|---|---|
| Vision | auxiliary.vision |
图片分析、浏览器截图 |
| Compression | auxiliary.compression |
上下文压缩摘要 |
| Web Extract | auxiliary.web_extract |
网页内容提取 |
| Skills Hub | auxiliary.skills_hub |
技能搜索和发现 |
| Approval | auxiliary.approval |
智能命令审批分类 |
八、多渠道接入(Gateway 网关)
8.1 Gateway 架构
┌─────────────────────────────────────────────────┐
│ GatewayRunner │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Telegram │ │ Discord │ │ Slack │ │
│ │ Adapter │ │ Adapter │ │ Adapter │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ └─────────────┼─────────────┘ │
│ ▼ │
│ _handle_message() │
│ │ │
│ ┌───────────┼───────────┐ │
│ ▼ ▼ ▼ │
│ Slash command AIAgent Queue/BG │
│ dispatch creation sessions │
│ │ │
│ ▼ │
│ SessionStore │
│ (SQLite persistence) │
└─────────────────────────────────────────────────┘
8.2 支持的平台
| 平台 | 适配器 | 认证方式 |
|---|---|---|
| Telegram | Bot API(长轮询/Webhook) | TELEGRAM_BOT_TOKEN |
| Discord | discord.py | Discord Bot Token |
| Slack | Socket Mode | Slack App Token |
| Business Cloud API | API 凭据 | |
| Signal | signal-cli REST API | signal-cli 配置 |
| Official API v2 | QQ Bot 凭据 | |
| 飞书/Lark | WebSocket/Webhook | App 凭据 |
| 企业微信 | Callback 模式 | WeCom 配置 |
| 微信(个人) | iLink Bot API | Weixin 凭据 |
| 钉钉 | WebSocket | DingTalk 凭据 |
| Matrix | mautrix(可选 E2EE) | Matrix 配置 |
| Mattermost | WebSocket API | MM Token |
| IMAP/SMTP | 邮箱凭据 | |
| SMS | Twilio | Twilio 凭据 |
| iMessage | BlueBubbles | macOS 服务器 |
| Yuanbao | DM/群聊适配器 | 腾讯元宝凭据 |
| Home Assistant | Conversation 集成 | HA 配置 |
| Webhook | 通用 Webhook | 自定义 |
| API Server | REST API | API_KEY |
| ntfy | 推送通知 | 无需注册 |
8.3 启动 Gateway
hermes gateway setup # 配置平台连接
hermes gateway start # 启动 Gateway 进程
8.4 授权模型
Gateway 使用多层授权检查:
- 平台级 Allow-All(如
TELEGRAM_ALLOW_ALL_USERS=true) - 平台 Allowlist(如
TELEGRAM_ALLOWED_USERS=12345,67890) - DM 配对(管理员发送
/pair,生成配对码) - 全局 Allow-All(
GATEWAY_ALLOW_ALL_USERS) - 默认:拒绝
8.5 跨平台消息投递
# 从 Discord 会话发送消息到 Telegram
send_message(target="telegram:-1001234567890", text="Build completed!")
# Cron 任务结果投递到指定平台
cronjob(action="create", schedule="every 1d", prompt="...", delivery="telegram:-1001234567890")
九、安全模型
Hermes 采用纵深防御(Defense-in-Depth)安全模型,共七层:
9.1 七层安全边界
| 层级 | 机制 | 作用 |
|---|---|---|
| 1 | 用户授权 | 控制谁能与 Agent 交互(Allowlist、DM 配对) |
| 2 | 危险命令审批 | 人工审批破坏性操作 |
| 3 | 容器隔离 | Docker/Singularity/Modal 沙箱 |
| 4 | MCP 凭据过滤 | MCP 子进程的环境变量隔离 |
| 5 | 上下文文件扫描 | 项目文件的 Prompt 注入检测 |
| 6 | 跨会话隔离 | 会话间不能互相访问数据 |
| 7 | 输入净化 | 终端参数校验,防 Shell 注入 |
9.2 危险命令审批
三种审批模式:
approvals:
mode: manual # manual:始终人工审批
# smart:辅助 LLM 评估风险,低风险自动放行
# off:关闭所有审批(= --yolo)
timeout: 60 # 等待用户回复的超时时间
cron_mode: deny # deny:Cron 遇到危险命令自动拒绝
# approve:Cron 自动批准
触发审批的命令模式(部分):
rm -r/rm --recursivechmod 777/o+wdd if=DROP TABLE/DATABASEDELETE FROM(无 WHERE)bash -c/sh -c/python -ecurl ... | sh> /etc/或> ~/.ssh/
硬线黑名单(即使 --yolo 也无法绕过):
rm -rf /- Fork Bomb(
:(){ :|:& };:) mkfs.*格式化根设备dd if=/dev/zero of=/dev/sd*直接写磁盘
9.3 容器隔离
Docker 后端的安全加固:
--cap-drop ALL+ 仅加回DAC_OVERRIDE、CHOWN、FOWNER--security-opt no-new-privileges--pids-limit 256/tmp(512MB)、/var/tmp(256MB)、/run(64MB)大小限制的 tmpfs
在 Docker/Singularity/Modal/Daytona 后端下,危险命令检查自动跳过——容器本身就是安全边界。
9.4 控制平面文件保护
Hermes 保护以下文件不被 Prompt 注入篡改:
auth.jsonconfig.yamlwebhook_subscriptions.jsonmcp-tokens/.env(Profile 模式下)
十、与 OpenClaw 对比
Hermes 提供了从 OpenClaw 无缝迁移的完整路径——hermes claw migrate 一键导入所有数据。
10.1 功能对比
| 特性 | Hermes Agent | OpenClaw |
|---|---|---|
| GitHub Stars | 172k+ | ~60k |
| 模型支持 | 30+ Provider,300+ 模型 | OpenRouter + 有限 Provider |
| 凭据管理 | Credential Pool(多 Key 轮询) | 单 Key |
| Fallback | 多层 Fallback 链 + 辅助任务独立 Provider | 有限 |
| 技能系统 | 渐进披露 + 条件激活 + 技能包 + Skills Hub | 基础技能 |
| 自我学习 | 闭环:创建→改进→持久化→搜索→建模 | 记忆,无闭环 |
| 定时任务 | 完整 Cron + 技能驱动 + 多平台投递 | 基础 |
| 终端后端 | 6 种(local/docker/ssh/modal/daytona/singularity) | local + docker |
| 安全模型 | 7 层纵深防御 + 硬线黑名单 | 基础审批 |
| 消息平台 | 20+ 平台 | ~5 个 |
| 子 Agent | delegate_task 并行委派 |
有限 |
| MCP 集成 | 完整支持 + 目录 | 基础 |
| 迁移 | 从 OpenClaw 导入 | — |
10.2 迁移命令
hermes claw migrate # 交互式迁移
hermes claw migrate --dry-run # 预览会迁移什么
hermes claw migrate --preset user-data # 只迁移用户数据,不含密钥
hermes claw migrate --overwrite # 覆盖已存在的冲突
迁移内容:
- SOUL.md——人格文件
- Memories——MEMORY.md 和 USER.md
- Skills——用户创建的技能 →
~/.hermes/skills/openclaw-imports/ - 命令白名单——审批模式
- 消息平台配置——平台配置、允许用户
- API Keys——允许列表内的密钥
- TTS 资产——工作区音频文件
十一、实战速查
常用命令
hermes # 启动交互式 CLI
hermes model # 切换模型/Provider
hermes tools # 管理工具集
hermes gateway start # 启动消息网关
hermes cron create "every 1h" "Check server" # 创建定时任务
hermes auth add openrouter --api-key sk-or-... # 添加 API Key
hermes fallback add # 添加 Fallback Provider
hermes config edit # 编辑配置
hermes doctor # 诊断问题
hermes update # 更新版本
常用斜杠命令
/model [provider:model] # 切换模型
/new # 新建会话
/skills # 浏览技能
/cron add ... # 创建定时任务
/compress # 压缩上下文
/usage # 查看 Token 用量
/stop # 中断当前工作
/yolo # 切换 YOLO 模式
总结
Hermes Agent 不仅仅是一个 AI Agent——它是一个自进化的 Agent 操作系统。从架构设计上看,它的三层弹性模型路由(Credential Pool → Fallback → Auxiliary)、渐进披露的技能系统、7 层纵深防御安全模型、20+ 消息平台的统一 Gateway,都体现了生产级系统的成熟度。
如果你正在寻找一个真正能跑在生产环境的开源 Agent 框架——能自动学习、自动恢复、自动调度、多平台触达——Hermes Agent 是目前最完整的选择。
by 数码罗记·godsun.pro
参考链接:
– Hermes GitHub: https://github.com/nousresearch/hermes-agent
– Hermes 文档: https://hermes-agent.nousresearch.com/docs
– Skills Hub: https://agentskills.io
– Nous Portal: https://portal.nousresearch.com