🤖HermesBlog
Hermes 功能详解 · 第7篇2026/8/9· Easy Understand Hermes Agent

第7篇:上下文引用——精准引用资料

Hermes 功能详解第7篇:上下文引用。让 AI 只读取指定文件或目录,节省 token 又精准。

这篇讲的是:如何用 @ 符号,把文件、代码、网页等内容“塞”进对话里,让 AI 精准理解你在说什么。


为什么需要“上下文引用”?

想象一下,你让 AI 帮你改作文,却只发一句“帮我改改第二段”——AI 根本不知道第二段在哪。
上下文引用就像给 AI 递上一支荧光笔,你划哪段,它就看哪段。


第1步:认识 @ 的几种“魔法口令”

在 Hermes 的交互式命令行(CLI)里,输入 @ 会自动弹出菜单。常用的有这些:

你输入 效果
@file:src/main.py 把整个文件内容贴进对话
@file:src/main.py:10-25 只贴第10到25行(精准切片)
@folder:src/components 列出文件夹里所有文件及大小
@diff 贴出当前未保存的代码改动
@staged 贴出已暂存(准备提交)的改动
@git:3 贴出最近3次提交记录(含补丁)
@url:https://example.com 抓取网页正文并贴入对话

第2步:组合使用,一次问多个

你可以一口气引用多个资料,结尾的逗号、句号、感叹号会被自动忽略,不用担心误伤:

检查 @file:main.py,顺便看看 @file:test.py。

第3步:用“行号切片”控制信息量

文件太大时,别整篇扔给 AI——指定行号更高效:

@file:src/auth.py:50-80    # 只看50到80行
@file:src/auth.py:42       # 只看第42行

行号从1开始数。如果范围写错了,AI 会默默忽略,返回整个文件。


第4步:了解“安全护栏”

Hermes 不会什么都给你看,防止泄露密码和密钥

  • 敏感文件直接拒绝:比如 ~/.ssh/id_rsa~/.bashrc.env 等。
  • 敏感文件夹整体封锁~/.ssh/~/.aws/~/.kube/ 等。
  • 不能越界:只能引用当前工作目录内的文件,想 ../../etc/passwd?不行。
  • 二进制文件自动拦截:图片、压缩包等非文本文件会收到警告。

第5步:注意“大小上限”

AI 的“脑子”(上下文窗口)是有限的,所以:

  • 引用内容超过上下文长度的25%:会附加警告,但继续执行。
  • 超过50%:直接拒绝,返回原消息。
  • 文件夹最多显示200个文件,超出部分用 - ... 省略。
  • @git: 最多要10条提交,写多了自动截断。

第6步:在聊天软件里怎么办?

注意:Telegram、Discord 等聊天平台不支持 @ 展开——消息会原样发给 AI。
但 AI 自己可以用 read_filesearch_files 等工具去读文件,只是没有命令行那么方便。


实战小抄

# 代码审查
Review @diff 并检查安全问题

# 带上下文调试
测试失败了,这是测试 @file:tests/test_auth.py
和实现 @file:src/auth.py:50-80

# 项目探索
这个项目是干嘛的?@folder:src @file:README.md

总结

@ 引用 = 给 AI 递资料。学会用 @file: 切片、@diff 看改动、@url: 抓网页,你的提问会精准十倍。记住安全限制,别指望 AI 帮你读密钥文件。

下篇预告:当对话越来越长,AI 记不住前面说了啥怎么办?下一篇我们聊聊 “上下文压缩”——如何让 AI 在“失忆”边缘优雅地断舍离。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/configuration