search
Hybrid semantic + keyword search over an indexed local codebase. Default for code exploration — one call per question.
repoquery必填excludeincludededupe_by_file
io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 7, 2026
Local codebase search for agents: hybrid keyword/semantic search, locate, expand, related code.
Repofind 為本機程式碼庫建立索引,讓助理以關鍵字或語意搜尋、定位精確字串、擴充上下文並找出相似程式碼。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
參照 儲存庫 中的啟動說明。
Finding code in a repository you have never opened
usually starts with a guess: a word to grep, a filename
to try. repofind replaces the guessing with an index.
Point it at a local directory and it walks the tree —
skipping .git, node_modules, files over a megabyte,
and anything outside a source-and-text extension
allowlist — splits each file into consecutive 40-line
chunks, and ranks those chunks against your question.
One call returns the five best places to look, each with
its file, line range, the chunk text, and a score.
Ranking is hybrid. A pinned BM25 scorer (k1 = 1.2,
b = 0.75) over the chunk texts always runs. When a
TAKARA_API_KEY is present in the environment, an
embeddings step joins in: the query and the chunks are
embedded through an OpenAI-compatible endpoint and each
chunk's final score becomes bm25 + 10 * max(0, cosine). Without a key — or if the embedder fails —
the result says so plainly in its notes and ranks by
keyword alone. By default only the best hit per file is
kept, so five hits mean five different files to open.
The other tools cover the rest of the exploration loop.
locate finds an exact substring — an env var, a
symbol, an error code — and reports it as a count, a
file list, bare locations, or full lines. expand
takes a hit you already have and returns its chunk plus
the neighbouring chunks in the same file. find_related
takes the same anchor and ranks chunks from every other
file against it. read_benchmark rolls up saved
benchmark-mode queries into a token-savings total. The
original product's auth tool is not part of this
rebuild: its interactive device login and AWS-profile
validation cannot be reproduced from the published
spec, so the surface here is five of the six tools.
Each tool subcommand takes the tool's arguments as one
JSON string and prints the result as JSON. Exit codes:
0 on success, 1 on a runtime error, 2 on a usage
error.
Environment variables: TAKARA_API_KEY enables the
semantic half; MIRU_OPENAI_BASE_URL (default
https://infer.takara.ai/v1) and
MIRU_OPENAI_EMBEDDING_MODEL (default ds1-miru-int8)
configure the embeddings endpoint;
MIRU_MAX_INDEX_FILES caps the index (default 10000);
MIRU_BENCHMARK_HISTORY_PATH overrides the benchmark
history location.
MCP client config:
search — Hybrid semantic + keyword search over an
indexed local codebase. Default for code exploration
— one call per question.
query (string, required) — natural language or
code queryrepo (string, optional) — local directory to
index; defaults to the working directoryinclude / exclude (string arrays, optional) —
gitignore-style glob patterns against repo-relative
pathsdedupe_by_file (boolean, default true) — keep
the best hit per fileReturns {hits, ranking, notes} with at most 5
hits; each hit is {file_path, absolute_path, start_line, end_line, anchor_line, truncated, snippet, score} with the score rounded to 4
decimals.
locate — Find exact substrings (env vars, symbols,
error codes) in an indexed local codebase.
literal (string, required); mode one of
count, files, locations, lines (default
lines); limit caps locations/lines;
ignore_case (default false); repo, include,
exclude as in search.expand — Return more context in the same file
around a search hit: the anchor chunk plus
neighbouring chunks.
file_path and anchor_line (required);
before / after chunk counts (default 1 each).find_related — Find similar code in other files,
from a hit's file_path and anchor_line. Returns the
same {hits, ranking, notes} shape as search,
with the source file excluded.
read_benchmark — Cumulative token-savings rollup
from saved benchmark-mode queries. Returns
{queries, total_tokens_saved, average_tokens_saved}; a missing history file is a
zero rollup, not an error.
MIT — Copyright (c) 2026 Rene Turcios
來源:README.md,提交 520b9e5
Hybrid semantic + keyword search over an indexed local codebase. Default for code exploration — one call per question.
repoquery必填excludeincludededupe_by_fileFind exact substrings (env vars, symbols, error codes) in an indexed local codebase.
moderepolimitexcludeincludeliteral必填ignore_caseReturn more context in the same file around a search hit: the anchor chunk plus neighbouring chunks.
repoafterbeforefile_path必填anchor_line必填Find similar code in other files, from a hit's file_path and anchor_line.
repofile_path必填anchor_line必填Cumulative token-savings rollup from saved benchmark-mode queries.
repo已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
npx @reneturcios/repofind search '{"query": "retry backoff logic", "repo": "."}'npx @reneturcios/repofind locate '{"literal": "DATABASE_URL", "mode": "locations"}'npx @reneturcios/repofind expand '{"file_path": "src/client.ts", "anchor_line": 83}'npx @reneturcios/repofind find_related '{"file_path": "src/client.ts", "anchor_line": 83}'npx @reneturcios/repofind read_benchmark '{}'npx @reneturcios/repofind --versionnpx -y @reneturcios/repofind mcp{ "mcpServers": { "repofind": { "command": "npx", "args": ["-y", "@reneturcios/repofind", "mcp"] } }}docker run -i ghcr.io/cloudcorprecords/repofinddocker run --rm ghcr.io/cloudcorprecords/repofind locate '{"literal": "TODO"}'npm installnpm run build # tsc -> dist/npm test # tsx --test test/*.test.ts (temp fixture repos, fake embedder, no network)npm run dev # run the CLI from source