桥桥
连接代理框架的标准接口 字节旋转'上下文树.
任何执行桥接的代理设备,在转弯前可以免费分享背景知识,在转弯后可以坚持新的知识,并在上下文树上搜索结构化的文件结果.
安装
npm install @byterover/brv-bridge
先决条件: 字节Rover CLI 安装并初始化空间.
使用量
import { BrvBridge } from "@byterover/brv-bridge";
const bridge = new BrvBridge({ cwd: "/path/to/project" });
// Check if brv is set up
if (await bridge.ready()) {
// Retrieve relevant context (synthesized answer)
const { content } = await bridge.recall("what did we decide about auth?");
// Search for structured file results (paths, scores, excerpts)
const { results } = await bridge.search("authentication");
for (const r of results) {
console.log(`${r.title} [${r.score}] — ${r.path}`);
}
// Store knowledge
await bridge.persist("User prefers JWT over session cookies");
}
// Clean up
await bridge.shutdown();
API 密码
new BrvBridge(config)
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
cwd | string | process.cwd() | 工作目录 .brv/ 已初始化 |
brvPath | string | "brv" | BRV 二进制路径 |
recallTimeoutMs | number | 10000 | 召回行动超时 |
persistTimeoutMs | number | 60000 | 持续作业的超时 |
searchTimeoutMs | number | 5000 | 搜索操作超时 |
logger | BrvLogger | 无 -op | Logger 实例 |
bridge.ready(): Promise<boolean>
检查桥是否配置——验证 cwd 已存在并有 .brv 目录。 不进行网络通话.
bridge.recall(query, options?): Promise<RecallResult>
从上下文树获取相关上下文 。 回返 { content: "" } ——永远不要扔出.
选项 : signal (AbortSignal), (美国英语), cwd (每召总.
bridge.persist(context, options?): Promise<PersistResult>
将上下文存储到上下文树上。 默认拆分模式(fire- and-forget). 回返 { status, message? }。 。 。 .
选项 : detach (默认) true, (中文(简体) ), cwd (每召总.
bridge.search(query, options?): Promise<SearchResult>
搜索上下文树以获取结构化文件结果 。 按路径、分数和节选对结果进行排序。 纯BM25检索 - 没有LLM,没有符号成本.
与 recall() 它返回一个合成的答案, search() 返回单个文件级结果.
选项 : limit (默认) 10最大点 50, (中文(简体) ), scope (路径前缀, 没有后侧斜线), cwd (每召总.
const { results, totalFound } = await bridge.search("authentication", {
limit: 5,
scope: "auth",
});
// results: [{ path, title, excerpt, score, symbolKind?, backlinkCount? }]
bridge.shutdown(): Promise<void>
清理资源. 适配器应该称之为前向相容.
对于适配器作者
该桥被设计成由框架特有的适配器所包裹. 每个适配器绘制其框架的生命周期钩到 recall(), (中文(简体) ), persist(),以及 search()数字 :
// OpenClaw adapter example
class ByteRoverContextEngine {
private bridge = new BrvBridge({ cwd, logger });
async assemble(params) {
const { content } = await this.bridge.recall(query);
// inject content into system prompt
}
async afterTurn(params) {
await this.bridge.persist(serializedConversation);
}
}