Four coding-agent histories become one searchable local dataset
Funes reads sessions from Claude Code, Codex, pi, and Hermes, converts their different trace formats into one turn-and-block model, and stores the result in a local Lance dataset. Recall combines vector and BM25 search, reranks the candidates, and attaches session provenance so an agent can recover the surrounding turns with get. The appeal is practical: a decision made in Codex can be found from Claude Code weeks later without copying a hand-written summary between tools.
Version 1.3.0 gives those 4 agents more than a search command. funes add registers the read tools, builds an initial index, and installs per-turn indexing hooks. If the setup binds a Hub memory, hooks also publish at session boundaries. Other MCP clients can launch funes mcp to receive recall, get, and status, although that server is read-only. Indexing and publishing still need separate commands or an installed automation path.
A bound Hub memory can publish at every session boundary
Funes keeps parsing, embedding, reranking, and storage local by default. Sharing changes the data boundary. A published memory is a Hugging Face dataset owned by a user or organization, and repositories created by Funes start private. Existing repositories keep their current visibility. The setup command may offer to create and bind a remote when it detects a token; accepting that path enables automated pushes from supported agents after sessions end.
Coding transcripts can contain prompts, file contents, terminal output, environment variables, and reasoning that was never written for colleagues. Funes requires TruffleHog before remote publishing, scans reconstructed blocks, and withholds every chunk of a block when it detects a secret. The gate fails closed when scanning is unavailable. That is careful engineering, but secret scanning does not decide whether clean yet confidential product plans should leave a laptop. Teams still need a publication policy and dataset access review.
What happened when we ran it
Our sandbox installed commit f27e6e1 in 34 seconds, adding 910 packages. The release build succeeded in 773 seconds, or just under 13 minutes. Tests then took 283 seconds and passed all 554 cases with 0 failures. The checkout was compact before compilation: 122 files, roughly 22,773 lines of source, and 4.3 MB on disk. Those results came from 3 CPUs and 12 GB of RAM in the stated Rust container.
The clean test result is meaningful because this program touches sensitive transcripts and modifies agent integrations. It does not measure retrieval quality, model-download time, index size, or recall latency. We also did not publish a private dataset or test the four agent clients end to end. The repository includes 2 CI workflow files and a tests directory, but no Dockerfile. Buyers should treat our 554 passing tests as codebase evidence, not as proof that their own session corpus will produce useful retrieval.
Source builds need protoc, while v1.3.0 omits Windows
Building from source requires the Rust toolchain and protoc, either installed system-wide or bootstrapped into a repository-local tools directory. Funes pins its embedding model and records that identity in the memory; changing models requires rebuilding the derived dataset from retained raw text. Linux uses a pure Rust inference path and requires glibc 2.35 or newer. An optional ONNX feature changes the backend, so maintainers need to choose that path intentionally.
The v1.3.0 release publishes checksum-listed binaries for Linux x86-64, Linux arm64, and Apple Silicon macOS. There is no Intel macOS or Windows asset in the documented table. Open issue 136 asks about Windows and desktop-agent support, while issue 135 requests Cline and OpenCode integrations. A generic MCP client can read memory today, but it does not gain each named agent's indexing and session-boundary hooks automatically.
Remote memory is append-only and removal stays manual
Funes makes local cleanup safer than remote cleanup. funes scrub rescans stored blocks, replaces safely located secrets, drops blocks it cannot repair safely, and rebuilds indexes. Original transcripts remain untouched. If a credential has already reached the Hub, the security guide says to rotate it, delete and recreate the dataset repository, and push a scrubbed memory again. The tool itself does not remove the published copy.
Selected publishing also happens before upload. The --sessions option sends complete named sessions, and the remote format is append-only, so choosing a session is a lasting disclosure decision. funes remove reverses agent hooks and MCP registration but preserves local memory, model caches, original transcripts, and published datasets. That preservation is reasonable for an uninstall command, yet users expecting deletion must clean each store separately.
September activity is strong for a 247-star project
GitHub recorded the last push on September 7, 2026, six days after v1.3.0. The repository had 247 stars, 4 open issues, and 1 open pull request. Its first official release arrived July 17, less than a month after the repository was created, followed by several releases through September. Recent work covers publishing convergence, status reporting, session browsing, Codex integration, and secret-scanning behavior.
Funes has the clearest fit among memory tools when the data already lives in coding-agent transcripts and local operation is the default. Mem0 and Letta target application or agent architecture, while QMD searches ordinary document collections. Funes asks for patience during a 773-second build and care around remote retention, then repays that cost with focused integrations, unusually candid security docs, and a complete 554-test pass in our run.

