DEV Community

Terminal Chai
Terminal Chai

Posted on

zvec-grep (zg): A Local-First Hybrid Search Engine for Humans and AI Agents

The Evolution of Terminal Search: Meet zvec-grep (zg)

For years, ripgrep has been the undisputed champion of developer code search—offering instant, multi-threaded regex matching across massive directory trees. Yet traditional grep tools share a fundamental limitation: they require the user to anticipate the exact string literal, variable name, or regex pattern.

When developers or AI coding agents navigate unfamiliar codebases, architectural intent is often conceptual ("where is database connection pooling configured?" or "how are expired user sessions cleaned up?"). In those scenarios, keyword search requires tedious guessing loops.

zvec-grep (zg) is an open-source search engine developed by zvec-ai. Powered by Alibaba's high-performance zvec vector library, zg bridges lexical and semantic retrieval, unifying ripgrep, BM25, and local vector search into a single command-line tool and agent integration.


What is zvec-grep (zg)?

zg serves as a local-first search layer designed symmetrically for both human developers and autonomous AI coding agents. It indexes source code, documents, and structured configuration files locally, enabling queries that combine the precision of exact text matching with the discovery power of semantic embeddings.


Key Core Features

1. Hybrid Search (Semantic + BM25 + Ripgrep)

zg eliminates the trade-off between semantic search and exact matching:

  • Semantic Discovery: Uncovers relevant functions and architectural patterns based on conceptual meaning, even when query keywords don't match function names.
  • BM25 & Exact Grep: Preserves exact symbol verification, file paths, line numbers, and regex boundaries without vector fuzziness.

2. Agent-Native Context Optimization

When autonomous coding agents (such as Claude Code, Codex, or OpenCode) explore repositories, broad scans and recursive grep calls quickly burn through context windows and rate limits. zg surfaces ranked, source-linked evidence snippets, enabling agents to pinpoint code locations in fewer tool calls with significantly lower token consumption.

3. 100% Local & Privacy-Preserving

Data privacy is central to zg's architecture. Source code, generated indexes, and local embedding models remain entirely on the developer's computer under .zvec-grep/. No proprietary source code is uploaded to remote cloud APIs or third-party vector databases.

4. Dual CLI and MCP Integration

zg operates effortlessly whether run directly by an engineer in a shell or invoked by an agent:

# Install globally (requires Node.js 22+)
npm install -g @zvec/zvec-grep

# Index your project using local embeddings
zg index --embedding local/potion-retrieval-32m

# Search directly as a human
zg query --human "How are authentication tokens validated?" --limit 3

# Or install as an AI agent tool (OpenCode, Claude Code, Cursor)
zg install --target opencode --yes
Enter fullscreen mode Exit fullscreen mode

Conclusion

By combining the lightning speed of regex search with the intelligence of local vector retrieval, zvec-grep modernizes repository navigation. It provides developers and AI assistants with a faster, privacy-preserving, and more intuitive search foundation.

Want to bring semantic search to your terminal? Check out the zvec-grep GitHub Repository.

Top comments (1)

Collapse
 
raju_dandigam profile image
Raju Dandigam

@terminalchai, combining semantic discovery with BM25 and exact grep is the right shape for agent code search: fuzziness helps locate intent, while symbols and line numbers make the result auditable. The local index and source-linked snippets also reduce both privacy risk and context burn. How do you detect or communicate index staleness after a large branch switch or generated-file churn?