Hermes Context References
Hermes Agent 的上下文引用功能允许用户在消息中使用
@语法直接注入文件内容、目录结构、Git 差异和网页内容,作为--- Attached Context ---附加到消息中。
支持的引用语法
| 语法 | 说明 |
|---|---|
@file:path/to/file.py |
注入文件内容 |
@file:path/to/file.py:10-25 |
注入指定行范围(1-indexed,闭区间) |
@folder:path/to/dir |
注入目录树列表和文件元数据 |
@diff |
注入 git diff(未暂存的工作区变更) |
@staged |
注入 git diff --staged(已暂存的变更) |
@git:5 |
注入最近 N 条提交及其 patch(最多 10) |
@url:https://example.com |
抓取并注入网页内容 |
容量限制
| 阈值 | 值 | 行为 |
|---|---|---|
| 软限制 | 上下文长度的 25% | 追加警告,继续展开 |
| 硬限制 | 上下文长度的 50% | 拒绝展开 |
| 文件夹条目 | 最多 200 文件 | 超出部分替换为 - ... |
| Git 提交 | 最多 10 条 | 超出自动截断 |
安全机制
敏感路径阻止
以下路径始终被阻止,防止凭证暴露:
- SSH 密钥和配置(
~/.ssh/id_rsa等) - Shell 配置文件(
~/.bashrc,~/.zshrc等) - 凭证文件(
~/.netrc,~/.pgpass等) - Hermes 环境文件(
$HERMES_HOME/.env)
以下目录完全阻止:~/.ssh/, ~/.aws/, ~/.gnupg/, ~/.kube/, $HERMES_HOME/skills/.hub/
其他保护
- 路径遍历保护:所有路径相对于工作目录解析
- 二进制文件检测:通过 MIME 类型和 null-byte 扫描
平台可用性
上下文引用主要是 CLI 功能。在消息平台(Telegram、Discord 等)上,@ 语法不会展开。Agent 仍可通过 read_file、search_files 等工具访问文件。
Timeline
- 2026-04-13: 初始整理自 Hermes Agent 官方文档 - Context References