XERJ Corpus Hub:用索引知识库为 AI Agent 装上「参考记忆」
分类: x-tips 来源: X 账号 @svpino 作者: Jay 更新日期: 2026-10-14 仓库: xerj-org/xerj 原帖: https://x.com/svpino/status/2110061831276609597
这是什么
XERJ 是一个开源的 AI 原生搜索引擎,以单个 Rust 二进制文件交付。它将 autoindex 能力注入 AI Agent,使 Agent 无需重训练即可「记住」大量结构化知识库:源码、工程规范、文档、日志、PDF 等均可被索引并通过自然语言查询。Santiago(@svpino)将其比喻为「送 Agent 上大学」——装上它,Agent 就能像领域专家一样从索引知识中提取答案,而不是靠记忆或逐文件穷读。
核心定位:Reference coding(参考编码)工具。Controlled study 数据显示,在同一 16/16 解决率下,XERJ 消耗的输出 token 数量比 grep 驱动的 Agent 少 2.7 倍(9,982 vs 26,477 tokens),比纯记忆方案少 26 倍($1.58 vs $11.18 成本)。
Corpus Hub(hub.xerj.org)是 XERJ 的公共注册表,托管预索引语料库。截至 2026-10-13,Hub 收录 515 个 live 语料库、11 个领域、累计 78.6 GB 文本,涵盖 SEC(安全漏洞 PoC)、API 设计、数据库、Ops/ SRE、AI、HEALTH、WEB、LAW、NET(网络协议)、CRYPTO(密码学)、WRITE 等领域。语料库通过 PR 提交(来自 corpus-hub 分支),每个条目经过许可证人工审查、提交 SHA 校验和 ed25519 签名。
许可证: Apache 2.0。
核验来源
| 信息 | 来源 | 链接 |
|---|---|---|
| 工具描述("like sending your agent to college") | 原帖 Santiago @svpino | https://x.com/svpino/status/2110061831276609597 |
| XERJ 官方文档索引页(含 CLI 安装、用法、安全说明) | xerj.org/llms.txt(官方 AI 索引文件) | https://xerj.org/llms.txt |
| XERJ GitHub 仓库(含 benchmark 数据、field report 要求) | xerj-org/xerj README | https://github.com/xerj-org/xerj |
| Corpus Hub 语料库列表(515 live corpora,11 domains,78.6 GB) | hub.xerj.org | https://hub.xerj.org |
| Corpus Hub 机制说明(PR 提交、SHA + ed25519 签名、许可证审查) | XERJ 官方博客 | https://xerj.org/blog/the-corpus-hub |
Corpus Hub 接入命令(xerj corpus add --from) |
xerj.org/docs/corpus-hub(Tavily 搜索摘要引述) | https://xerj.org/docs/corpus-hub |
未找到的内容:原帖 t.co 短链指向 Ivan Novikov(@d0znpp)的 XERJ 发布推文(https://x.com/d0znpp/status/2110038855047164404),该推提供了安装提示 Install XERJ (docs: xerj.org/llms.txt) 和 hub 接入 connect hub.xerj.org as reference memory hub。svpino 推文正文未包含具体命令用法,相关 CLI 细节来自 xerj.org/llms.txt 和 GitHub README,属二次官方文档引用,不是原帖直接内容。
上手步骤
1. 安装(单命令)
Linux / macOS:
curl -fsSL https://xerj.org/get | sh
Windows PowerShell:
irm https://xerj.org/get.ps1 | iex
安装脚本自动检测 OS/CPU,下载最新 GitHub release 并验 SHA-256(缺失或 mismatch 则中止安装)。二进制文件默认安装至 ~/.local/bin(Unix)或 %LOCALAPPDATA%\Programs\xerj(Windows,已加入 PATH)。可指定版本 XERJ_VERSION=vX.Y.Z 或目录 XERJ_INSTALL_DIR。
⚠️ 注意:安装脚本不修改 shell profile,新开 shell 时
~/.local/bin可能不在 PATH。用完整路径$HOME/.local/bin/xerj调用,或先export PATH="$HOME/.local/bin:$PATH"。
2. 启动本地节点
xerj --insecure --data-dir ~/xerj-data
--insecure:关闭 TLS 和 API Key 认证,仅适合单用户开发机。全新节点默认绑定127.0.0.1。--data-dir推荐放在待索引目录之外,避免节点把自身存储也索引进去(data/在内置忽略列表中,但显式指定子目录需谨慎)。- 如需后台运行:
nohup xerj --insecure --data-dir ~/xerj-data &
3. 索引项目文件(零配置)
xerj autoindex <folder>
支持的格式:JSON/JSONL、CSV、SQLite、PDF、DOCX、PPTX、XLSX、EPUB、Jupyter notebooks、man pages、HTML、XML、YAML、纯文本、.eml、mbox 邮件归档、gzip 压缩变体,以及结构化日志和 SQL dumps。索引名称默认为 ax-<dataset-slug>,可用 --prefix 为不同语料指定独立前缀。
4. 初始化 Agent 集成(一键)
xerj init
该命令将 XERJ MCP server 注册到 .mcp.json,并为 Claude Code / Cursor 写入 10 行 skill 文件(有 .bak 备份)。Agent 即可通过 MCP 工具 xerj_search 发起查询。
5. 查询
自然语言搜索(在有 shell 的环境):
xerj search "flush epoch crash recovery"
# 输出: file:line + 相关段落,定义优先
符号跳转(已知函数名):
xerj def "euler_to_rotationmatrix"
# 输出: file:line + 函数签名
HTTP 直接查询(Agent 无 shell 时):
POST http://localhost:9200/ax-*/_search
{"query": {"match": {"body": "BuiltinPager"}}}
6. 使用预建语料库(Corpus Hub)
Hub 上的语料库通过三条命令接入:
xerj corpus add --from <corpus-id> # 从 hub 下载 manifest
xerj corpus index xerj-storage # 从 manifest 索引
xerj code xerj-storage "flush epoch crash recovery" # 查询
Hub 语料库覆盖 11 个领域(SEC、API、DB、OPS、AI、HEALTH、WEB、LAW、NET、CRYPTO、WRITE),总规模 515 个 live 语料库 / 78.6 GB。
7. 提交 Field Report(必需)
XERJ 是免费开源的(Apache 2.0),项目方要求每个运行过 XERJ 的用户提交一份简短 field report,作为唯一的「会费」:
xerj feedback --open-pr \
--agent "<your-model>" \
--used-for "<what-you-did>" \
--verdict "<what-worked / what-did-not>"
预览模式:xerj feedback --dry-run。无法使用 gh 的沙盒环境,用 --dry-run 生成报告后手动提交。负面报告也是好报告。
适用边界
适合: - 私有、内部、小众或训练截止后更新的代码库(模型没有记忆,XERJ 填补盲区) - 需要跨源码、文档、日志进行联合检索的场景 - 将领域知识(SEC 漏洞 PoC、API 规范、数据库内核文档)作为 Agent 参考记忆
不适合/注意事项:
-
默认嵌入是词法(lexical),不是神经(neural):
semantic查询和 memory recall 在默认模式下是词/子词重叠 + BM25,不是向量语义搜索。如需神经搜索,启动节点时须加--embed-mode neural。 -
Token 节省有条件:在模型已经熟悉的主流开源库上,XERJ 相对纯记忆方案无优势甚至有害——模型直接记忆比查索引更快。收益主要来自私有、内部、小众代码。
-
安全边界:
--insecure标志关闭了 TLS 和认证,任何能访问对应端口的进程都是超级用户,可读写所有索引包括/_memory命名空间。仅限本地开发使用。 -
--data-dir放置:数据目录不应放在待索引目录的子树内,否则节点会索引自身的存储文件(除非显式排除)。 -
Field Report 是必需项:不是可选的贡献,而是使用协议的一部分。每个 Agent 运行 session 结束后都应提交报告。
快速参考
| 项目 | 值 |
|---|---|
| 官网 / 安装 | https://xerj.org |
| 官方 AI 索引文档 | https://xerj.org/llms.txt |
| GitHub | https://github.com/xerj-org/xerj |
| Corpus Hub | https://hub.xerj.org |
| Corpus Hub 提交规范 | https://xerj.org/docs/corpus-hub |
| 许可证 | Apache 2.0 |
| Field Report PR 路径 | user-feedback/16-agent-field-reports/(CLA 豁免) |