关于 Oko
Oko 是面向编码 Agent 的代码搜索 MCP 服务,返回带精确行号的相关源码片段。它在本机搜索,并用 Jev 对候选结果排序。
主要功能
- 01本地搜索关键词、符号和文件结构
- 02使用 Jev 进行相关性排序
- 03返回带精确行号的片段
- 04支持终端搜索和 JSON 输出
- 05可选仅使用本地关键词排序
适用场景
- 01查找代码行为的实现位置
- 02为编码任务定位源码文件
- 03通过 `oko ask` 从终端搜索
MCP 相关
`oko setup` 将 Oko 作为 MCP 服务连接到支持的编码工具,并安装用于回答代码问题的钩子。服务依据本地项目搜索提供排序后的代码片段。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Oko
帮助编码 Agent 更快找到代码,并减少 Token 用量。
Oko 为 Claude Code、Codex、Cursor、OpenCode 和 Pi 提供更好的代码搜索。当 你向 Agent 询问代码相关问题时,Oko 已经找到了相关源代码, 因此 Agent 无需花费更多轮次搜索和阅读不需要的文件。
在 Astro、HTTPX 和 ripgrep 上完成 9 项编码任务,每项运行 3 次,分别测试使用和不使用 Oko 的情况。结果 · 方法
- 更快: Claude Code、OpenCode 和 Pi 的耗时约减半;Codex 的耗时减少四分之一。
- 更省钱: 我们测量的所有工具,Token 用量都减少了 33–44%。
- 少走弯路: 工具调用减少了 65–89%。
- 排名更准: 在 Agent Retrieval Bench 上,比任何已发布的方法都更常将正确文件排在首位。
- 本地优先: 搜索在你的设备上运行;只有问题和选定的代码片段会发送给排序器(隐私)。
快速开始
brew install bartlomein/tap/oko
cd your-project
oko setup --client claude # or codex, cursor, opencode, pi, all
不使用 Homebrew:curl -fsSL https://raw.githubusercontent.com/bartlomein/oko/main/install.sh | sh。
然后像往常一样使用你的编码工具。首次设置时,系统会要求你提供
TypeSafe AI密钥,将你的工具连接到此项目中的 Oko,并检查
连接是否正常。每个项目运行一次即可;oko upgrade 会使所有内容保持最新
(使用 Homebrew 时,请先运行 brew upgrade oko)。
Codex:批准一次 Oko 的钩子
首次打开项目时,Codex 会显示 需要审核钩子。请选择
全部信任并继续。如果你跳过了这一步,输入 /hooks 即可重新打开。
Cursor:启用一次 Oko
Cursor 会默认关闭项目的工具。打开 自定义 > MCP,点击 oko 并将其开启。
Pi:信任此项目
需要 Pi 1.0 或更高版本。Pi 询问时信任此项目,然后检查 /mcp。
Pi 设置。
Claude Code、OpenCode:无需其他操作
完成设置后,启动新会话。
平台、手动安装、无密钥模式
macOS(Apple Silicon 和 Intel)以及 Linux(ARM64 和 x64,glibc 2.35+)。安装程序会将
oko 放在 ~/.local/bin 中;如有需要,请将其添加到你的 PATH。
其他安装选项 · 手动连接工具 ·
密钥和配置。无需密钥即可搜索:
添加 --no-jev,仅使用本地关键词排序。
在同一次运行中,将相同任务交给同一个编码工具两次:一次使用工具自带的搜索,另一次使用 Oko。每个会话的平均值。
| 编码工具 | 时间 | Token 数 | 工具调用次数 | 通过的任务(不使用 → 使用) |
|---|---|---|---|---|
| Claude Code | 减少 47% 12.1 → 6.4 s | 减少 44% 24,271 → 13,627 | 减少 89% 3.5 → 0.4 | 19 → 20 / 20 |
| Codex | 减少 26% 13.8 → 10.2 s | 减少 43% 45,395 → 26,004 | 减少 80% 3.0 → 0.6 | 20 → 20 / 20 |
| OpenCode | 减少 47% 18.0 → 9.6 s | 减少 43% 13,196 → 7,528 | 减少 87% 3.7 → 0.5 | 21 → 21 / 21 |
| Pi | 减少 51% 16.7 → 8.2 s | 减少 33% 9,737 → 6,495 | 减少 85% 3.6 → 0.5 | 20 → 21 / 21 |
| Cursor | 减少 6% 52.3 → 49.2 s | 减少 40% 182,940 → 109,520 | 减少 65% 8.0 → 2.8 | 26 → 24 / 27 |
模型:Claude Sonnet 5.5(Claude Code)、GPT-6.1 Sol(Codex、OpenCode、Pi)、Grok 4.7 High(Cursor),均使用默认或低推理强度。Cursor 的数据来自其在上一版本中的单独运行;其他数据来自 2026 年 10 月。每种工具统计 Token 的方式不同,因此请在同一行内比较。基准测试规模较小,实际结果可能有所不同。方法、每项任务的结果和注意事项 · 原始数据。
其他基准测试
| 基准测试 | 测试内容 | Oko | 最佳对比结果 |
|---|---|---|---|
| Sense 的 Agent 基准测试 | 六项多步骤任务,使用 Claude Opus 4.7,在同一晚针对 Sense 运行 | 找到 88% 可引用的位置,成本减半 | Sense:63% |
| Agent Retrieval Bench | 345 项任务:找出开发者接下来需要的文件 | 最常将正确文件排在第一位:0.40,由该基准测试的维护者核实 | 已发布方法中的最佳结果:0.24 |
| SWE-Explore | 848 个真实问题:为解决问题所需的编码 Agent 排名 | 一次搜索即可将其排在需要多轮探索的 Agent 的得分范围内:0.82 | Agent:0.72–0.95 |
Oko 效果较弱的情况
- **Cursor 自带的搜索已经很快,**因此 Oko 在这里节省的时间较少:主要节省 Token 和工具调用。
- 重复代码可能会误导它。 当两个文件中有相同的函数副本时,Oko 可能会先显示错误的文件;我们的基准测试中有一项 Astro 编辑任务就因此失败。
- **涉及许多文件的大型更改:**一次搜索会返回五处结果,因此,涉及许多文件的问题仍需要 Agent 自行探索。
在终端中使用
oko ask "where is authentication handled?"
oko ask "how are retries handled?" --json
oko stats # what ranking has cost you
更多内容请参阅搜索选项。
工作原理
Oko 会在本地搜索你的项目(关键词、符号和文件结构),然后询问
Jev(TypeSafe AI 的相关性模型),判断哪些候选结果
确实能回答问题,并返回这些摘录及其准确行号。oko setup 会将其连接到你的工具,作为 MCP 服务运行;在工具读取的指令中添加简短的指导,并安装一个钩子,在你发送代码问题时作答。
设置会更改哪些内容 · 隐私。
文档
| 我想…… | 指南 |
|---|---|
| 安装、升级或排查问题 | 安装 |
| 手动连接工具,或了解 MCP 工具 | 客户端设置 · MCP 参考 |
配置密钥、.env 或缓存 | 配置 |
| 在终端中搜索,或为自己的文档排序 | 搜索 · 文档排序 |
| 查看所有基准测试及其运行方式 | 基准测试结果 |
| 了解哪些数据会离开我的设备 | 隐私 |
贡献
欢迎提交错误报告和想法:创建问题,
请附上你的操作系统和 oko --version,不要提供密钥或私有代码。有关构建和
测试,请参阅 CONTRIBUTING.md。
许可证
MIT。依赖项的归属信息见 THIRD_PARTY_NOTICES.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。