给 Hermes 装一台"时光机":官方 BackSearch 插件,按日期搜索过去的网页

想象一个场景:你让 AI 预测“这家公司下个月会不会发布新产品”,它答得头头是道、信心满满。问题是——它搜的是实时网页,而答案早就写在今天的热搜里了。它做的每一句“预测”,其实都被“事后诸葛”悄悄污染了。量化研究员也撞过同一堵墙:回测一个交易 Agent 的策略时,喂给它的搜索结果来自今天,于是你的“历史模拟”其实一直在偷看未来。
这就是信息泄漏(leakage)问题,也正是 BackSearch 要解决的事。它是一份冻结的新闻档案(frozen news archive):每次请求带一个 as_of 日期,搜索只返回该日期之前被爬取的文档,抓取则返回文章在当时存档的原文。同一个查询 + 同一个 as_of = 永远同样的结果。8 月 29 日,Nous Research 的 Teknium 宣布了它的官方独立 Hermes 插件——hermes-plugin-backsearch,让 Hermes 真正拥有了一台“网页时光机”。
为什么光加个日期筛选不够
你可能觉得,实时搜索 API 带个 date: 参数不就行了?不行。实时 API 用的是带着后见之明的今日索引——它知道哪些文章重要,给你的还是可能已被改写过的页面字节。而 BackSearch 的语料永远不会动:过滤依据是 crawl_date(档案实际抓到该页的日期),而不是文章自称的发布日期。你的截止日期之后才被存档的页面,哪怕它自称是更早发布的,也绝不会出现在结果里——正是这个保证,让回测变得可信。
官方独立插件
hermes-plugin-backsearch 是 NousResearch 组织下的官方插件(v1.0.0,MIT 协议)。它是独立插件,不是内置插件——最早是主仓库里的 PR #71207,后来按项目“第三方服务集成以独立插件发布、不进核心代码”的政策,抽离成独立仓库。
插件注册两个模型工具,都由 OPENREWARD_API_KEY 控制开关。不配 key 时,它们根本不会出现在模型的工具清单里——安装零成本,等配好 key 才生效:
| 工具 | 作用 |
|---|---|
backsearch |
按日期对冻结语料做混合搜索(query、as_of,可选 k、allowed_domains/blocked_domains) |
backfetch |
按截止日期抓取页面正文(url、as_of,可选 prompt 做聚焦摘要) |
安装
三步搞定,照搬官方 README:
# 1. 克隆到 Hermes 插件目录
git clone https://github.com/NousResearch/hermes-plugin-backsearch.git ~/.hermes/plugins/backsearch
# 2. 启用插件
hermes plugins enable backsearch
# 3. 配置 API key(在 https://openreward.ai 获取,形如 or_xxx)
echo 'OPENREWARD_API_KEY=or_...' >> ~/.hermes/.env
也可以直接用 CLI 从 GitHub 安装:hermes plugins install NousResearch/hermes-plugin-backsearch。配好 key 后新会话会自动加载这两个工具,不用重启。说句实在话:本文基于官方仓库 v1.0.0 文档整理,写作时我们还没在测试机上配置 OpenReward key,所以下面的行为描述来自官方文档语义,而非真实会话输出。
想了解 Hermes 的插件机制和上面用到的 hermes plugins 命令,可以看 hermes plugins 命令参考;刚接触 Hermes 的话,先从安装指南开始。
工具参数速查
backsearch
| 参数 | 含义 |
|---|---|
query |
搜索词(关键词 + 语义的混合检索) |
as_of |
YYYY-MM-DD 格式日期,只返回该日期前被爬取的文档 |
k |
可选,返回结果条数 |
allowed_domains |
可选白名单,与 blocked_domains 互斥 |
blocked_domains |
可选黑名单,与 allowed_domains 互斥 |
backfetch
| 参数 | 含义 |
|---|---|
url |
要抓取的页面 |
as_of |
截止日期,返回该日期前最近一次存档 |
prompt |
可选,长文可以要一份聚焦摘要而不是原文 |
几个值得记住的语义:
- 正文上限 15K 字符——长文章传个
prompt让它给你摘要。 - 软 404:截止日期前没有存档时,返回可恢复的“无存档”结果,不扣费。
- 402:OpenReward 余额耗尽时,返回带行动指引的明确报错。
- 归档窗口:当前预览版只覆盖新闻类域名,2025 年 12 月 – 2026 年 7 月。
as_of落在窗口外返回空结果列表,不是报错。 - 计费:按成功请求计费,消耗 OpenReward 预付余额。
OPENREWARD_SEARCH_URL可以覆盖默认地址(https://search.openreward.ai),用于测试或自建路由。
能拿它做什么
- 预测回测——让同一个 Agent 在不同
as_of日期上重跑,精确测出它的“预测”从哪一天开始翻转。这正是 Teknium 发布当天演示的场景:冻结网络、重放 Agent、观察它从“猜”变成“知道”的那个瞬间。 - 量化研究——在不会背着你变动的语料上回测策略想法。
- RL 环境——用历史快照评估 Agent,避免事后信息泄漏进奖励信号。
- 可复现基准——同查询、同日期、永远同结果:一个几年后重跑依然有意义的基准。
- “当时到底知道什么”的事实核查——验证某个日期上什么已知、什么未知。
搜索本来就是 Hermes 的看家本领,日常选项可以看我们写的免费搜索五渠道指南。BackSearch 是另一种东西:它牺牲实时新鲜度,换来历史的确定性——而这正是评测和预测类工作流最需要的。
要知道的限制
预览版档案刻意收窄:新闻域名,2025 年 12 月 – 2026 年 7 月。as_of 落在窗口外会得到空结果而非报错,规划时先算好窗口。计费按成功请求走 OpenReward 预付余额(软 404 免费),不配 key 插件就完全静默。它很年轻,专为一个很年轻的刚需而生——好在 MIT 协议让你在安装前可以轻松看透它到底做了什么。
Hermes 的插件生态正在快速生长——去生态中心逛逛,看看还有什么好东西。