Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,387 +1,23 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
**为什么要数据同步?**
|
| 25 |
-
因为 Hugging Face Spaces 的容器重启后会丢失所有数据,就像电脑重启后内存里的东西会消失一样。
|
| 26 |
-
**工作原理(用邮局比喻):**
|
| 27 |
-
1. **备份:** 每次有新的聊天记录、图片、配置,就打包寄到"邮局"(Hugging Face Dataset)
|
| 28 |
-
2. **恢复:** 容器重启后,从邮局取回之前的包裹,恢复所有数据
|
| 29 |
-
3. 注意SKIP_CONFIG_RESTORE 的作用是:
|
| 30 |
-
这是一个 "不恢复配置" 的开关。默认行为(不设置此变量):
|
| 31 |
-
- Space 重启时,会从 Dataset 恢复 所有 之前保存的文件
|
| 32 |
-
- 包括 config.yaml、.env、以及各种配置
|
| 33 |
-
- 这会把你调试配置阶段手动修改的设置覆盖掉
|
| 34 |
-
设置 SKIP_CONFIG_RESTORE=true 后:
|
| 35 |
-
- 跳过恢复某些配置文件,比如 config.yaml和baoyu_skills/等等
|
| 36 |
-
- 但其他数据正常恢复: 聊天记录、图片、记忆、skills、会话历史等
|
| 37 |
-
- 容器重启后entrypoint.sh 会重新生成受保护的配置文件,比如 config.yaml 等。
|
| 38 |
-
建议如果没有修改配置的需求时或者配置稳定后使用设置SKIP_CONFIG_RESTORE=false,这样每次重启会从dataset中恢复所有备份。
|
| 39 |
-
### 2.4 图片浏览和下载服务
|
| 40 |
-
核心组件
|
| 41 |
-
image-proxy.js —— 一个 Node.js 代理服务器,部署在 Space 的 :7860 端口(对外暴露的端口)。
|
| 42 |
-
工作原理
|
| 43 |
-
用户访问 https://usernamename-spacename.hf.space/images/
|
| 44 |
-
↓
|
| 45 |
-
image-proxy.js (端口 7860)
|
| 46 |
-
↓
|
| 47 |
-
读取 /data/.hermes/image_cache/ 目录
|
| 48 |
-
↓
|
| 49 |
-
返回 HTML 图片列表页面
|
| 50 |
-
功能特性
|
| 51 |
-
1. 图片列表页面(/images/)
|
| 52 |
-
- 自动扫描 image_cache 目录下的所有图片
|
| 53 |
-
- 生成美观的 HTML 页面展示所有图片
|
| 54 |
-
- 支持缩略图预览、下载链接、原始大小查看
|
| 55 |
-
2. 单图片访问(/images/<filename>)
|
| 56 |
-
- 直接访问单张图片,可用于嵌入到聊天或其他页面
|
| 57 |
-
- 支持常见的图片格式:png, jpg, jpeg, gif, webp
|
| 58 |
-
3. 代理功能
|
| 59 |
-
- 除了 /images/ 路径,其他所有请求都转发给 BFF(:7861)
|
| 60 |
-
- 这意味着 :7860 是统一入口,既提供图片服务,又提供 Web UI
|
| 61 |
-
特点:
|
| 62 |
-
1. 图片持久化:生成的图片保存在 /data/.hermes/image_cache/
|
| 63 |
-
2. Web 可访问:通过 /images/ URL 可以直接在浏览器查看
|
| 64 |
-
3. 方便分享:用户可以把图片 URL 分享给其他人
|
| 65 |
-
4. 统一管理:所有 AI 生成的图片集中在一个地方
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
4.26更新内容;
|
| 69 |
-
|
| 70 |
-
web UI 主要功能上手指南
|
| 71 |
-
现在你的 AI 助手已经部署好、微信也接通了,来看看 Web UI 还能做什么。
|
| 72 |
-
### 7.1 聊天(Chat)
|
| 73 |
-
点击左侧的 **Chat** 按钮,进入聊天界面。
|
| 74 |
-
- **新建对话**:点左上角的 **+ New Chat** 按钮
|
| 75 |
-
- **切换模型**:在聊天框上方的下拉菜单中切换不同的 AI 模型
|
| 76 |
-
- **搜索历史**:按 `Ctrl+K` 可以搜索所有历史对话
|
| 77 |
-
- **上传文件**:点击聊天框旁边的附件按钮,可以上传图片或文件让 AI 分析
|
| 78 |
-
- **下载文件**:AI 生成的文件可以在对话中直接下载
|
| 79 |
-
### 7.2 模型管理(Models)
|
| 80 |
-
点击左侧的 **Models** 按钮。
|
| 81 |
-
- 这里列出了你所有可用的 AI 模型供应商
|
| 82 |
-
- 点击任意供应商可以看到该供应商下有哪些模型
|
| 83 |
-
- 你可以添加新的供应商(支持任何 OpenAI 兼容的接口)
|
| 84 |
-
- **Nous Portal** 和 **OpenAI Codex** 还支持 OAuth 登录,直接在网页上点击授权就行
|
| 85 |
-
### 7.3 用量统计(Usage)
|
| 86 |
-
点击左侧的 **Usage** 按��。
|
| 87 |
-
- 你可以看到 token 使用量的每日趋势图
|
| 88 |
-
- 每个模型的使用占比
|
| 89 |
-
- 估算的费用(基于公开的模型定价)
|
| 90 |
-
- 缓存命中率(缓存命中越多,速度越快、费用越低)
|
| 91 |
-
### 7.4 定时任务(Jobs)
|
| 92 |
-
点击左侧的 **Jobs** 按钮。
|
| 93 |
-
- 你可以创建定时任务,让 AI 在指定时间自动做事
|
| 94 |
-
- 比如每天早上 8 点总结新闻、每周一整理待办事项
|
| 95 |
-
- 支持 Cron 表达式(高级用户),也有简单的预设可选
|
| 96 |
-
- 可以随时暂停、恢复或手动触发执行
|
| 97 |
-
### 7.5 技能和记忆(Skills & Memory)
|
| 98 |
-
点击左侧对应的按钮。
|
| 99 |
-
- **Skills**:查看 AI 自己学到的技能。AI 会在使用过程中自动创建技能,比如"如何调用某个 API"或"用户喜欢的代码风格"
|
| 100 |
-
- **Memory**:查看和编辑 AI 关于你的记忆。你可以修改这些记忆来让 AI 更了解你
|
| 101 |
-
### 7.6 设置(Settings)
|
| 102 |
-
点击右上角的齿轮图标。
|
| 103 |
-
- **Display**:调整显示偏好(流式输出、紧凑模式等)
|
| 104 |
-
- **Agent**:AI 的行为参数(最大迭代次数、超时时间等)
|
| 105 |
-
- **Memory**:记忆系统的开关和限制
|
| 106 |
-
- **Session**:会话超时和重置设置
|
| 107 |
-
- **Privacy**:隐私保护(自动去除个人信息)
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
4.20更新了哪些内容
|
| 113 |
-
|
| 114 |
-
### 1. 备份恢复不再覆盖模型配置
|
| 115 |
-
|
| 116 |
-
**改动文件**:`src/data_sync.py`
|
| 117 |
-
|
| 118 |
-
之前的工作流程是:Space 启动 → 从 Dataset 恢复旧配置(覆盖新配置)→ 启动 Hermes。这导致每次重启后模型配置都被旧数据覆盖。
|
| 119 |
-
|
| 120 |
-
现在的流程是:Space 启动 → 从 Dataset 恢复其他数据(聊天记录、人格设定等)→ **跳过 config.yaml** → 由启动脚本根据当前环境变量重新生成配置。
|
| 121 |
-
|
| 122 |
-
具体来说,`data_sync.py` 的 `restore_from_download()` 方法现在会:
|
| 123 |
-
- 默认跳过 `config.yaml` 的恢复(由环境变量 `SKIP_CONFIG_RESTORE=true` 控制)
|
| 124 |
-
- 仅在本地完全不存在 config.yaml 时,才从备份中恢复一份作为初始值
|
| 125 |
-
- 其他数据(聊天记录、人格、技能等)照常恢复,不受影响
|
| 126 |
-
|
| 127 |
-
### 2. 三层防覆盖机制保护模型配置
|
| 128 |
-
|
| 129 |
-
**改动文件**:`entrypoint.sh`
|
| 130 |
-
|
| 131 |
-
即使跳过了旧配置恢复,Hermes 内部仍然有一个"配置桥接"机制,会在启动时自动检测 API Key 并可能修改 config.yaml。为了防止这种情况,我们增加了三层保护:
|
| 132 |
-
|
| 133 |
-
**第一层:环境变量注入**
|
| 134 |
-
- 在 Hermes 启动前,将所有供应商的 Base URL 导出到进程环境变量中
|
| 135 |
-
- 导出 `HERMES_MODEL` 环境变量,确保定时任务等场景也使用正确的模型
|
| 136 |
-
- 环境变量列表包括:`NVIDIA_BASE_URL`、`SILICONFLOW_BASE_URL`、`GEMINI_BASE_URL`、`OPENROUTER_BASE_URL`、`LONGCAT_BASE_URL`
|
| 137 |
-
|
| 138 |
-
**第二层:启动前强制锁定**
|
| 139 |
-
- 在 Dashboard 启动前,通过 `hermes config set` 命令将模型配置写入 config.yaml
|
| 140 |
-
- 如果 `hermes config set` 不可用,回退到 `yq` 工具直接修改 YAML 文件
|
| 141 |
-
- 修改后立刻用 `yq` 读取验证,确认模型字段没有被意外修改
|
| 142 |
-
|
| 143 |
-
**第三层:启动后二次验证**
|
| 144 |
-
- Dashboard 改为后台启动,等待 5 秒初始化
|
| 145 |
-
- 再次读取 config.yaml,检查模型配置是否被 Dashboard 启动流程覆盖
|
| 146 |
-
- 如果发现被修改或被清空,立即用 `yq` 修正回正确值
|
| 147 |
-
- 没有 `yq` 时回退到 `sed` 做局部修改(不会破坏其他配置项)
|
| 148 |
-
|
| 149 |
-
### 3. 修复压缩阈值错误
|
| 150 |
-
|
| 151 |
-
**改动文件**:`entrypoint.sh`、`config/config.yaml`
|
| 152 |
-
|
| 153 |
-
Hermes 的 `compression.threshold` 是一个**比率值**(0 到 1 之间的小数),不是绝对 token 数。例如 0.50 表示"当对话上下文使用到模型上下文窗口的 50% 时触发压缩"。
|
| 154 |
-
|
| 155 |
-
之前的配置写了 `threshold: 4000`,Hermes 把它当作"400000%"来计算,得出的压缩阈值为 8.19 亿 tokens,远超压缩模型 100 万 tokens 的处理能力,导致压缩功能完全失效。
|
| 156 |
-
|
| 157 |
-
现在改为 `threshold: 0.50`,含义清晰:对话上下文达到模型上限的 50% 时触发压缩,压缩模型 `gemini-3-flash-preview`(1M 上下文)完全能够处理。
|
| 158 |
-
|
| 159 |
-
### 4. Dockerfile 支持自动更新和 YAML 处理
|
| 160 |
-
|
| 161 |
-
**改动文件**:`Dockerfile`
|
| 162 |
-
|
| 163 |
-
- 移除了 `--branch v2026.4.13` 固定版本参数,改为始终拉取最新代码。这样在 Hugging Face Space 的 Settings 页面点击 **Factory Rebuild**,就会自动获取 Hermes Agent 的最新版本
|
| 164 |
-
- 新增安装 `yq`(YAML 处理工具),用于运行时精确修改 config.yaml 中的特定字段,而不是覆盖整个文件
|
| 165 |
-
|
| 166 |
-
### 5. 更新默认模型
|
| 167 |
-
|
| 168 |
-
**改动文件**:`entrypoint.sh`、`config/config.yaml`
|
| 169 |
-
|
| 170 |
-
NVIDIA 供应商的默认模型从 `minimaxai/minimax-m2.7`(该模型在实际使用中无响应)更换为 `moonshotai/kimi-k2-thinking`。
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
# Hermes Agent v0.9.0 on Hugging Face Spaces
|
| 176 |
-
|
| 177 |
-
智能AI代理,支持16个消息平台,持久化记忆,和Web管理界面。
|
| 178 |
-
|
| 179 |
-
## 功能
|
| 180 |
-
|
| 181 |
-
- 🤖 AI 对话与工具调用
|
| 182 |
-
- 🌐 Web Dashboard 管理
|
| 183 |
-
- 💾 数据��久化到 Hugging Face Dataset
|
| 184 |
-
- 🔔 支持消息网关(Telegram/Discord/Slack等)
|
| 185 |
-
- ⚡ 自动唤醒保持在线
|
| 186 |
-
|
| 187 |
-
## 技术栈
|
| 188 |
-
|
| 189 |
-
- Hermes Agent v0.9.0
|
| 190 |
-
- FastAPI Web Dashboard
|
| 191 |
-
- Hugging Face Datasets 持久化
|
| 192 |
-
- Docker Spaces
|
| 193 |
-
|
| 194 |
-
## 数据目录映射
|
| 195 |
-
|
| 196 |
-
| Hermes 目录 | Dataset 路径 | 说明 |
|
| 197 |
-
|------------|-------------|------|
|
| 198 |
-
| `~/.hermes/config.yaml` | `/config/config.yaml` | 核心配置 |
|
| 199 |
-
| `~/.hermes/.env` | `/config/.env` | 环境变量 |
|
| 200 |
-
| `~/.hermes/auth.json` | `/config/auth.json` | OAuth认证 |
|
| 201 |
-
| `~/.hermes/SOUL.md` | `/personality/SOUL.md` | 代理人格 |
|
| 202 |
-
| `~/.hermes/memories/` | `/memories/` | 持久记忆 |
|
| 203 |
-
| `~/.hermes/skills/` | `/skills/` | 自定义技能 |
|
| 204 |
-
| `~/.hermes/sessions/` | `/sessions/` | 会话历史 |
|
| 205 |
-
| `~/.hermes/state.db` | `/state/state.db` | SQLite数据库 |
|
| 206 |
-
| `~/.hermes/logs/` | `/logs/` | 日志文件 |
|
| 207 |
-
| `~/.hermes/cron/` | `/cron/` | 定时任务 |
|
| 208 |
-
|
| 209 |
-
## 环境变量
|
| 210 |
-
|
| 211 |
-
```bash
|
| 212 |
-
# 必需
|
| 213 |
-
HF_DATASET_REPO=your-username/hermes-data
|
| 214 |
-
|
| 215 |
-
# 可选
|
| 216 |
-
HERMES_HOME=/data/.hermes
|
| 217 |
-
SYNC_INTERVAL=300 # 同步间隔(秒)
|
| 218 |
-
HF_TOKEN=your-huggingface-token # 用于访问私有 dataset
|
| 219 |
-
```
|
| 220 |
-
|
| 221 |
-
## 快速开始
|
| 222 |
-
|
| 223 |
-
### 1. 创建 Hugging Face Dataset
|
| 224 |
-
|
| 225 |
-
```bash
|
| 226 |
-
# 创建一个新的 dataset 用于存储数据
|
| 227 |
-
huggingface-cli repo create hermes-data --type dataset
|
| 228 |
-
```
|
| 229 |
-
|
| 230 |
-
### 2. 设置环境变量
|
| 231 |
-
|
| 232 |
-
在 Hugging Face Spaces 的 Settings 中设置:
|
| 233 |
-
- `HF_DATASET_REPO`: 你的 dataset 名称 (例如: username/hermes-data)
|
| 234 |
-
- `HF_TOKEN`: Hugging Face access token
|
| 235 |
-
|
| 236 |
-
### 3. 配置唤醒服务
|
| 237 |
-
|
| 238 |
-
使用 UptimeRobot 或 Cron-job.org 定期访问 Space URL 以保持在线。
|
| 239 |
-
|
| 240 |
-
## 部署步骤
|
| 241 |
-
|
| 242 |
-
### 部署到 Hugging Face Spaces
|
| 243 |
-
|
| 244 |
-
#### 方式一:通过 Web 界面部署
|
| 245 |
-
|
| 246 |
-
1. **创建 Space**: 访问 https://huggingface.co/new-space
|
| 247 |
-
- 选择 "Docker" SDK
|
| 248 |
-
- 设置 Space 名称
|
| 249 |
-
- 选择硬件配置(免费版即可开始)
|
| 250 |
-
|
| 251 |
-
2. **克隆 Space 仓库**:
|
| 252 |
-
```bash
|
| 253 |
-
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
|
| 254 |
-
cd YOUR_SPACE_NAME
|
| 255 |
-
```
|
| 256 |
-
|
| 257 |
-
3. **复制项目文件**:
|
| 258 |
-
```bash
|
| 259 |
-
# 复制所有项目文件到 Space 目录
|
| 260 |
-
cp -r /path/to/hermes-spaces/* .
|
| 261 |
-
```
|
| 262 |
-
|
| 263 |
-
4. **配置环境变量**:
|
| 264 |
-
- 在 Space Settings → Variables 中设置:
|
| 265 |
-
- `HF_DATASET_REPO`: `your-username/hermes-data`
|
| 266 |
-
- `HF_TOKEN`: `your-huggingface-token`
|
| 267 |
-
|
| 268 |
-
5. **提交并推送**:
|
| 269 |
-
```bash
|
| 270 |
-
git add .
|
| 271 |
-
git commit -m "Initial deployment"
|
| 272 |
-
git push
|
| 273 |
-
```
|
| 274 |
-
|
| 275 |
-
6. **等待部署完成**:
|
| 276 |
-
- 访问 `https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME`
|
| 277 |
-
- 查看 Build 日志,等待部署完成
|
| 278 |
-
|
| 279 |
-
#### 方式二:通过 GitHub Actions 自动部署
|
| 280 |
-
|
| 281 |
-
1. **Fork 本仓库** 到你的 GitHub 账号
|
| 282 |
-
|
| 283 |
-
2. **在 Hugging Face 创建 Space**:
|
| 284 |
-
- 访问 https://huggingface.co/new-space
|
| 285 |
-
- 选择 Docker SDK
|
| 286 |
-
- 记下 Space 名称
|
| 287 |
-
|
| 288 |
-
3. **配置 GitHub Secrets**:
|
| 289 |
-
- 进入 GitHub 仓库 → Settings → Secrets and variables → Actions
|
| 290 |
-
- 添加以下 secrets:
|
| 291 |
-
- `HF_TOKEN`: 你的 Hugging Face access token
|
| 292 |
-
- `HF_SPACE_REPO`: `YOUR_USERNAME/YOUR_SPACE_NAME`
|
| 293 |
-
|
| 294 |
-
4. **推送代码到 main 分支**:
|
| 295 |
-
```bash
|
| 296 |
-
git push origin main
|
| 297 |
-
```
|
| 298 |
-
|
| 299 |
-
5. **GitHub Actions 会自动部署**:
|
| 300 |
-
- 查看 Actions 标签页查看部署进度
|
| 301 |
-
- 部署完成后访问 Space URL
|
| 302 |
-
|
| 303 |
-
## 配置唤醒服务
|
| 304 |
-
|
| 305 |
-
由于 Hugging Face Spaces 免费版会在 48 小时无活动后休眠,建议配置外部唤醒服务:
|
| 306 |
-
|
| 307 |
-
### 使用 UptimeRobot(推荐)
|
| 308 |
-
|
| 309 |
-
1. 访问 https://uptimerobot.com 并注册账号
|
| 310 |
-
2. 点击 "Add New Monitor"
|
| 311 |
-
3. 配置如下:
|
| 312 |
-
- **Monitor Type**: HTTP(s)
|
| 313 |
-
- **Friendly Name**: Hermes Agent
|
| 314 |
-
- **URL**: `https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/health`
|
| 315 |
-
- **Monitoring Interval**: 5 minutes
|
| 316 |
-
4. 点击 "Create Monitor"
|
| 317 |
-
|
| 318 |
-
### 使用 Cron-job.org(备选)
|
| 319 |
-
|
| 320 |
-
1. 访问 https://cron-job.org
|
| 321 |
-
2. 创建新的 cron job
|
| 322 |
-
3. 配置 URL: `https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/health`
|
| 323 |
-
4. 设置每 5 分钟执行一次
|
| 324 |
-
|
| 325 |
-
## 首次使用
|
| 326 |
-
|
| 327 |
-
1. 访问 Space URL: `https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space`
|
| 328 |
-
2. 首次启动会创建默认配置,从 Dataset 恢复数据(如果存在)
|
| 329 |
-
3. 在 Web Dashboard 中配置:
|
| 330 |
-
- API Keys(OpenAI, OpenRouter, etc.)
|
| 331 |
-
- 消息网关(Telegram, Discord, etc.)
|
| 332 |
-
- 代理人格(SOUL.md)
|
| 333 |
-
|
| 334 |
-
## 故障排除
|
| 335 |
-
|
| 336 |
-
### Space 无法启动
|
| 337 |
-
|
| 338 |
-
1. **检查构建日志**:
|
| 339 |
-
- 访问 Space 页面 → Files → "Build logs"
|
| 340 |
-
- 查看错误信息
|
| 341 |
-
|
| 342 |
-
2. **常见问题**:
|
| 343 |
-
- **内存不足**: 升级到付费硬件(CPU Upgrade)
|
| 344 |
-
- **依赖安装失败**: 检查 requirements.txt 格式
|
| 345 |
-
- **权限错误**: 确保 Dockerfile 中设置了 USER appuser
|
| 346 |
-
|
| 347 |
-
### 数据未持久化
|
| 348 |
-
|
| 349 |
-
1. **检查环境变量**:
|
| 350 |
-
- 确认 `HF_DATASET_REPO` 已正确设置
|
| 351 |
-
- 确认 `HF_TOKEN` 有写入 Dataset 的权限
|
| 352 |
-
|
| 353 |
-
2. **检查 Dataset 权限**:
|
| 354 |
-
- 确保 Dataset 是私有的(推荐)
|
| 355 |
-
- 确保 Token 有 `write` 权限
|
| 356 |
-
|
| 357 |
-
3. **查看同步日志**:
|
| 358 |
-
- 在 Space 的 Logs 中查看 data-sync 相关日志
|
| 359 |
-
|
| 360 |
-
### 消息网关断开
|
| 361 |
-
|
| 362 |
-
1. **这是正常现象**: Spaces 休眠后所有连接会断开
|
| 363 |
-
2. **解决方案**:
|
| 364 |
-
- 升级到付费版保持持续运行
|
| 365 |
-
- 或配置网关自动重连(在 Hermes 配置中设置)
|
| 366 |
-
|
| 367 |
-
## 文件说明
|
| 368 |
-
|
| 369 |
-
- `Dockerfile` - Docker 镜像定义
|
| 370 |
-
- `entrypoint.sh` - 容器启动脚本
|
| 371 |
-
- `requirements.txt` - Python 依赖
|
| 372 |
-
- `src/data_sync.py` - 数据同步服务
|
| 373 |
-
- `.github/workflows/deploy.yml` - GitHub Actions 自动部署
|
| 374 |
-
|
| 375 |
-
## 许可证
|
| 376 |
-
|
| 377 |
-
MIT License - 详见 LICENSE 文件
|
| 378 |
-
|
| 379 |
-
## 贡献
|
| 380 |
-
|
| 381 |
-
欢迎提交 Issue 和 Pull Request!
|
| 382 |
-
|
| 383 |
-
## 相关链接
|
| 384 |
-
|
| 385 |
-
- [Hermes Agent 官方仓库](https://github.com/NousResearch/hermes-agent)
|
| 386 |
-
- [Hugging Face Spaces 文档](https://huggingface.co/docs/hub/spaces-overview)
|
| 387 |
-
- [Hermes Agent 文档](https://hermes-agent.com)
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: Hermes Agent
|
| 3 |
+
emoji: 🤖
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: purple
|
| 6 |
+
sdk: docker
|
| 7 |
+
pinned: false
|
| 8 |
+
app_port: 7860
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
# Hermes Agent v0.10.0
|
| 12 |
+
|
| 13 |
+
智能 AI 代理,支持多平台消息网关、持久化记忆和 Web 管理界面。
|
| 14 |
+
|
| 15 |
+
## 功能
|
| 16 |
+
- 🤖 AI 对话与工具调用
|
| 17 |
+
- 🌐 Web Dashboard 管理
|
| 18 |
+
- 💾 数据持久化(Hugging Face Dataset)
|
| 19 |
+
- 🔔 多平台消息网关
|
| 20 |
+
- ⚡ 自动唤醒
|
| 21 |
+
|
| 22 |
+
## 使用
|
| 23 |
+
访问 Space URL 即可使用 Web 管理界面。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|