平底采石场
人工智能代理和人类的局部语义搜索。
    
Quarry以20多种格式对文档进行索引,将其嵌入到本地ONNX模型(雪花实际嵌入m-v1.5,768 dim)中,将向量存储在LanceDB中,并为Claude Code、Claude Desktop和CLI提供语义搜索。一切都在本地运行-没有API密钥,没有云帐户。嵌入模型(约120 MB int8)在首次使用时下载一次。CUDA GPU会自动检测,以实现更快的推理。
平台: macOS、Linux
快速开始
curl -fsSL https://raw.githubusercontent.com/punt-labs/quarry/35a4b33/install.sh | sh重新启动克劳德代码,然后:
> /ingest report.pdf # index a document (runs in background)
> /quarry status # after a moment, confirm it's there
> /find "what does the report say about margins" # search by meaning安装后,插件挂钩会在每次会话开始时自动索引您当前的项目目录——您不需要 /ingest 手动创建代码库。
Manual install (if you already have uv)
uv tool install punt-quarry
quarry install
quarry doctorVerify before running
curl -fsSL https://raw.githubusercontent.com/punt-labs/quarry/35a4b33/install.sh -o install.sh
shasum -a 256 install.sh
cat install.sh
sh install.sh远程服务器
在GPU服务器上运行采石场,并通过TLS从任何Mac或Linux客户端连接。
服务器 (GPU主机,为远程客户端提供服务):
export QUARRY_API_KEY=$(openssl rand -hex 32)
curl -fsSL https://raw.githubusercontent.com/punt-labs/quarry/35a4b33/install.sh | sh -s -- --network生成TLS证书,将守护进程绑定到0.0.0.0,注册systemd服务,并打印CA指纹。NVIDIA GPU会自动检测CUDA推理。
客户 (连接到远程服务器):
curl -fsSL https://raw.githubusercontent.com/punt-labs/quarry/35a4b33/install.sh | sh
quarry login --api-key 无需特殊标志——默认安装在本地主机上运行本地守护进程。 quarry login 将查询重定向到远程服务器 wss:// 附有TOFU证书。
克劳德桌面版
下载punt-quarry.mcpb 然后双击进行安装。或者, quarry install 自动配置Claude Desktop。
注: Claude Desktop中上传的文件位于采石场无法访问的沙箱中。使用 remember 用于上传内容,或提供本地文件路径 ingest.
特性
- 20+种格式 ---PDF(带OCR扫描页面)、源代码(AST感知拆分)、电子表格、演示文稿、HTML、Markdown、LaTeX、DOCX、图像
- 语义搜索 ---检索是通过意义,而不是关键字。关于“利润率”的查询会找到关于盈利能力的段落,即使他们从未使用过这个词
- 守护进程架构 ---一个
quarry serve进程加载嵌入模型一次,并通过以下方式为所有Claude Code会话提供服务 mcp代理 通过WebSocket - 被动知识获取 ---
quarry enable为每个项目设置三个作用域集合:文件同步、被动捕获(web获取+会话转录)和每个代理内存。捕获与代码索引分开,因此研究不会污染代码搜索 - 命名数据库 ---具有独立同步注册表的隔离LanceDB目录。与...交换
use工作/个人离职 - 研究代理 ---
researchersubagent将采石场本地搜索与网络研究相结合,自动获取有价值的发现
它看起来像什么
摄取文档
> /ingest report.pdf
▶ Ingesting report.pdf (background)检查索引内容
> /quarry
▶ Database: default
Documents: 47
Chunks: 1,203
Size: 12.4 MB
Model: snowflake-arctic-embed-m-v1.5 (768-dim)按含义搜索
> /find "what were the Q3 revenue figures"
▶ [report.pdf p.12 | text/.pdf] (similarity: 0.4521)
Third quarter revenue reached $142M, up 18% year-over-year,
driven primarily by expansion in the enterprise segment.
Gross margins improved to 71% from 68% in Q2.命令
Slash命令(克劳德代码)
| 命令 | 它的作用 |
|---|---|
/ingest | 获取URL、目录或文件 |
/remember | 在文档名称下插入内联文本 |
/find | 语义搜索。问题得到综合答案;关键字获取原始结果 |
/explain | 搜索并综合解释 |
/source | 查找索赔来自哪个文件 |
/quarry [sub] | 管理: status, sync, collections, databases, registrations |
MCP工具
| 工具 | 目的 | 执行 |
|---|---|---|
ingest | 索引文件或URL | 背景 |
remember | 索引内联文本 | 背景 |
register_directory | 注册同步目录 | 后台 |
sync_all_registrations | 重新索引所有已注册的目录 | 背景 |
find | 带过滤器的语义搜索 | 同步 |
show | 文档元数据或页面文本 | 同步 |
list | 文档、收藏、数据库、注册 | 同步 |
status | 数据库统计 | 同步 |
delete | 删除文档或收藏 | 背景 |
deregister_directory | 删除注册 | 背景 |
use | 切换活动数据库 | 同步 |
命令行界面
quarry ingest report.pdf # index a file
quarry ingest https://example.com # index a webpage
echo "notes" | quarry remember --name notes.md # index inline text
quarry find "revenue trends" # hybrid search (vector + FTS)
quarry list documents # list indexed documents
quarry register ~/Documents/notes # watch a directory
quarry sync # re-index registered dirs
quarry use work # switch database
quarry enable # set up project collections + captures
quarry disable # remove project registration + data
quarry status # database dashboard
quarry doctor # health check
quarry serve # start daemon on :8420
quarry install # set up daemon, TLS certs, mcp-proxy
# Remote connections
quarry login okinos.local --api-key # TOFU login to remote server
quarry logout # disconnect, revert to local daemon
quarry remote list --ping # show remote config and health
# Agent memory tagging
quarry ingest notes.md --agent-handle claude --memory-type fact
quarry find "deployment steps" --agent-handle claude
echo "key insight" | quarry remember --name insight.md --agent-handle claude \
--memory-type observation --summary "Key insight from review"设置
采石场采用零配置。这些环境变量可供自定义:
| 变量 | 默认值 | 描述 |
|---|---|---|
QUARRY_PROVIDER | *(自动)* | ONNX执行提供程序: cpu, cuda,或未设置(自动检测) |
QUARRY_API_KEY | *(无)* | 持有者代币 quarry serve |
QUARRY_ROOT | ~/.punt-labs/quarry/data | 所有数据库的基本目录 |
CHUNK_MAX_CHARS | 1800 | 每个块的最大字符数(~450个标记) |
CHUNK_OVERLAP_CHARS | 200 | 连续块之间的重叠 |
有关完整的配置参考,请参阅 建筑 第7节。
被动知识获取
超越明确 /ingest 和 /find 命令,quarry作为一个Claude Code插件运行,带有钩子,可以在会话期间自动捕获知识:
| 钩子 | 当它开火时 | 它做什么 |
|---|---|---|
| 会话开始 | 在每次会话开始时 | 自动注册您的项目目录并在后台同步。您的代码库是可搜索的,无需手动摄取。 |
| Web获取 | 之后任何 WebFetch 工具调用 | Claude在研究过程中获取的URL会自动纳入项目 -captures 集合(或全局 web-captures 如果没有启用项目)。 |
| 预压缩 | 在上下文压缩之前 | 将对话记录捕获到项目的 -captures 集合(或全局 session-notes 如果没有启用项目)。 |
所有钩子都是故障打开的——故障被忽略,永远不会阻塞Claude代码。每个钩子都可以通过以下方式单独切换 .punt-labs/quarry/config.md YAML前体。看 代理商.md 对于完全集成模型。
运作原理
Quarry像守护进程一样运行。Claude Code会话通过mcp代理连接:
stdio wss:// (TLS)
Claude Code mcp-proxy quarry serve
MCP JSON-RPC (~5 MB Go) pinned CA cert (one daemon)如果没有代理,每个会话都会生成一个单独的Python进程,每个进程将嵌入模型加载到约200 MB的RAM中。有了它,启动是即时的,状态在所有会话之间共享。所有连接都使用带有自签名CA的TLS,即使在本地主机上也是如此。
quarry install 下载mcp代理(SHA256验证、正确的平台)并配置mcp客户端。
文档
发展
uv sync # install dependencies
make check # run all quality gates (lint, type, test)
make test # test suite only
make format # auto-format code
make docs # build LaTeX documents许可证
麻省理工学院
