Show HN: Mole – Deep research agent for your terminal
热度趋势
趋势数据积累中
百分比基于当前可用热度信号,而非评论数或独立用户人数。
官方发布带来GitHub 模型更新信号,适合跟踪能力变化、生态影响和后续落地。
Mole 是一款专为终端设计的深度研究代理,具有强制预算和本地数据隐私边界。它实现了 0% 的预算超支,100% 的声明完整性(所有存储的声明都附有来源和逐字引用),以及 100% 的引用准确性。其接地率为 80%,确认通过后的精确度为 70%(未确认通过则为 51%)。在构建的真实数据上,合并精确度/召回率达到 1.000/1.000。…
A deep-research agent with an enforced budget, verified quotes, and a privacy boundary for local data.
Ask a question. mole decomposes it, searches, reads sources, extracts claims, checks each claim against the text it came from, looks for contradictions between them, and writes an answer with citations. Every model call is reserved against a budget before it happens and settled after, so the ceiling you set is the ceiling it hits.
It runs as a single static binary on your machine, uses your own API keys, and speaks MCP so a coding agent can drive it — either by handing mole a question and collecting the answer, or, in toolkit mode, by doing the reasoning with its own model while mole supplies the parts that are not model calls.
Why mole
Three things mole does that a chat interface with web search does not.
The budget is enforced, not estimated. Every call is reserved before it is made and settled after, against a ledger with non-negative constraints in the database schema itself. --usd 0.50 means the run stops at fifty cents. Measured overshoot across the test corpus is 0%.
Every claim carries a quote, checked against the source. A claim whose quote does not appear verbatim in the page it was mined from is discarded at extraction, before it can reach an answer. Claims that survive can be re-read against their source afterwards, and one that turns out not to be supported is marked as such in the report rather than quietly dropped.
Your local data stays local. Point mole at a CSV or a folder and it will analyse it without the contents leaving your machine: the model chooses a hypothesis template and column names, mole renders and runs the SQL, and only aggregates — counts, means, test results, buckets covering at least five records — are allowed back. mole crossings shows you exactly what left.
Install
Script — Linux and macOS, amd64 and arm64:
curl -fsSL https://raw.githubusercontent.com/lajosdeme/mole/main/install.sh | sh
Downloads the release archive for your platform, verifies its SHA-256 against the checksums published with the release, and installs mole and mole-mcp into ~/.local/bin (or /usr/local/bin if that is writable). It uses sudo only if the target directory needs it, and --dry-run shows what it would do. If piping a script into a shell makes you uneasy — reasonable — read it first, or use one of the paths below.
Homebrew — macOS and Linux:
brew install lajosdeme/mole/mole
Fully qualified, and it has to be: an unrelated mole (a macOS cleanup tool) is in homebrew/core, so brew install mole will always mean that one. Both install a binary called mole, so only one can be linked at a time.
Arch Linux — from the AUR:
yay -S mole-research-bin # prebuilt release binaries yay -S mole-research # build from source
Not mole: that name and mole-bin on the AUR belong to an SSH tunnelling tool that has held them since 2020. The package installs /usr/bin/mole and declares the conflict, so pacman will tell you rather than overwrite anything.
Debian and Ubuntu — .deb from the releases page:
curl -fsSLO https://github.com/lajosdeme/mole/releases/latest/download/mole_amd64.deb sudo dpkg -i mole_amd64.deb
An .rpm is published for the same platforms.
From source — needs Go 1.25+:
go install github.com/lajosdeme/mole/cmd/mole@latest go install github.com/lajosdeme/mole/cmd/mole-mcp@latest
Or clone and make install, which stamps the version so mole version reports the tag rather than dev.