Hermes Agent:能自我进化的AI智能体完全指南

什么是 Hermes Agent? Hermes Agent 是由 Nous Research 开发的一款自我改进型 AI 智能体。它不仅仅是一个聊天机器人,而是一个能够从经验中学习、积累技能、跨会话记忆,并通过消息平台随时随地为你服务的全能型 AI 助手。 与传统 AI 助手最大的不同在于:Hermes 具备内置的学习循环。每次完成任务后,它会自动总结经验,将有效的解决方案保存为可复用的"技能",将重要信息存入持久化"记忆"。这意味着它用得越久,能力越强。 核心特性一览 自我学习:从每次任务中总结经验,自动生成可复用技能 跨会话记忆:持久化存储用户偏好、环境信息和工作上下文 全平台消息网关:支持 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、微信、飞书等 7种终端后端:本地 Shell、Docker、SSH、Modal、Daytona、Vercel Sandbox、Singularity 20+ LLM 提供商:Nous Portal、OpenRouter、Anthropic、OpenAI、智谱GLM、Kimi、MiniMax 等 定时任务(Cron):支持自然语言描述的定时执行 多智能体协作:子任务委派和并行执行 MCP 协议支持:原生集成 Model Context Protocol 深度安全模型:7层纵深防御,危险命令分级审批 快速安装 一键安装(推荐) 1 curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash 安装脚本会自动检测系统环境,安装 Python 3.10+、创建虚拟环境、下载 Hermes Agent 并完成初始配置。 手动安装 1 2 3 4 5 6 7 8 9 10 11 12 13 # 克隆仓库 git clone https://github.com/nousresearch/hermes-agent.git cd hermes-agent # 创建虚拟环境 python3 -m venv .venv source .venv/bin/activate # 安装依赖 pip install -r requirements.txt # 启动 python run_agent.py Docker 部署 1 2 3 4 5 6 7 8 9 10 11 12 # docker-compose.yml version: '3.8' services: hermes: image: ghcr.io/nousresearch/hermes-agent:latest volumes: - ./hermes-data:/root/.hermes ports: - "8080:8080" environment: - HERMES_LLM_PROVIDER=openrouter - OPENROUTER_API_KEY=your-key-here 启动:docker compose up -d ...

2026年4月30日 · 5 分钟 · 因特吧

Python 装饰器从入门到精通

前言 Python 装饰器是 Python 中非常强大且优雅的特性,理解装饰器对于写出高质量的 Python 代码至关重要。本文将带你从零开始,逐步掌握装饰器的各种用法。 什么是装饰器 装饰器本质上是一个函数,它接受一个函数作为参数,返回一个新的函数。它可以在不修改原函数代码的情况下,给函数增加新的功能。 基础装饰器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 def timer(func): """计算函数执行时间的装饰器""" import time def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f"{func.__name__} 执行耗时: {end - start:.4f}秒") return result return wrapper @timer def slow_function(): import time time.sleep(1) print("函数执行完毕") slow_function() # 输出: 函数执行完毕 # 输出: slow_function 执行耗时: 1.0012秒 带参数的装饰器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 def retry(max_attempts=3, delay=1): """失败自动重试装饰器""" def decorator(func): def wrapper(*args, **kwargs): for attempt in range(max_attempts): try: return func(*args, **kwargs) except Exception as e: if attempt == max_attempts - 1: raise e print(f"第 {attempt + 1} 次失败,{delay}秒后重试...") import time time.sleep(delay) return wrapper return decorator @retry(max_attempts=3, delay=2) def unstable_api_call(): import random if random.random() < 0.7: raise ConnectionError("连接失败") return "请求成功" 使用 functools.wraps 保留元信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 from functools import wraps def my_decorator(func): @wraps(func) def wrapper(*args, **kwargs): """这是 wrapper 的文档""" print("调用前") result = func(*args, **kwargs) print("调用后") return result return wrapper @my_decorator def greet(name): """打招呼函数""" print(f"你好, {name}!") print(greet.__name__) # greet(而非 wrapper) print(greet.__doc__) # 打招呼函数 类装饰器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Singleton: """单例模式装饰器""" def __init__(self, cls): self._cls = cls self._instance = None def __call__(self, *args, **kwargs): if self._instance is None: self._instance = self._cls(*args, **kwargs) return self._instance @Singleton class Database: def __init__(self): print("数据库连接创建") db1 = Database() # 输出: 数据库连接创建 db2 = Database() # 无输出,返回同一实例 print(db1 is db2) # True 总结 装饰器是 Python 中实现代码复用和功能增强的利器。掌握装饰器后,你会发现很多看似复杂的需求都可以用优雅的方式解决。记住核心原则:装饰器 = 接受函数 + 返回函数。

2026年4月29日 · 2 分钟 · 因特吧

从零搭建 Hexo 博客并部署到 GitHub Pages 完整记录

前言 今天花了一些时间从零搭建了一个基于 Hexo 的个人博客,并成功部署到了 GitHub Pages。整个过程中踩了一些坑,也学到了不少东西,这里把完整的搭建流程记录下来,方便自己以后回顾,也希望能帮到有需要的朋友。 环境准备 在开始之前,确保你的系统已经安装了以下工具: Node.js(建议 v18 以上) npm(随 Node.js 一起安装) Git 可以通过以下命令检查版本: 1 2 3 node -v npm -v git --version 第一步:安装 Hexo 并初始化博客 首先全局安装 Hexo CLI: 1 npm install -g hexo-cli 然后初始化博客项目: 1 2 3 hexo init my-blog cd my-blog npm install 初始化完成后,目录结构如下: 1 2 3 4 5 6 my-blog/ _config.yml # 站点配置文件 source/ _posts/ # 文章目录 themes/ # 主题目录 public/ # 生成的静态页面 第二步:安装 Matery 主题 默认的 landscape 主题比较简陋,我选择了功能丰富的 Matery 主题,它采用了 Material Design 风格,界面美观大方。 ...

2026年4月29日 · 3 分钟 · 因特吧