Vedant Deshmukh

AI models · simulations · systems & tools

Work OpenLMlib

OpenLMlib

Persistent notes for coding agents, with 76 MCP tools over a local knowledge base.

Year
2026
Stack
Python, SQLite
Status
v0.2.7
Code
GitHub

Coding agents have amnesia the second a session ends. Usually people fix this by dumping giant markdown transcripts into the next prompt, which burns through context and still leaves everything trapped inside a single editor.

I built OpenLMlib to treat memory as a library instead. A finding carries a claim, confidence, evidence, reasoning, caveats, and tags. A session can end with a summary instead of a transcript. The agent asks for what it needs through MCP, and the same store is available to the CLI and to other agents.

Storage is local: SQLite for metadata and FTS5 search, JSON findings for portability, and a FAISS or NumPy vector index. The default embedding model is BAAI/bge-small-en-v1.5 at 384 dimensions.

The MCP server is the main surface, and everything runs against local files with no hosted service.

  • Retrieval merges semantic and lexical candidates, then reranks and deduplicates them. A trace records which path matched and how each score was built.
  • The memory layer adds session start and end, three levels of disclosure from a search index to a full observation, and retroactive ingestion from git history.
  • Saving or deleting a finding requires explicit confirmation. The retrieval path has a sanitized context form for prompt use.
  • CollabSessions adds a message bus, artifacts, templates, and a Co-Scientist workflow with scope screening and citation checks.

76 MCP tools

Registered in OpenLMlib v0.2.7 and checked 24 October 2026. 17 core, 11 memory, 48 collaboration.

I also track latency across 66 of the tools, with 50 warm and 10 cold iterations on Windows 11. Warm calls range from under a millisecond for simple lookups (0.28 ms for session_statistics) to 191 ms for ingest_git_history.

Cold start is still the main bottleneck: session_start takes about 5.1 seconds on a cold run while loading the embedding model.

Install, bootstrap, and check the local setup:

npm install -g openlmlib
openlmlib setup
openlmlib doctor

Register MCP clients, then query the same library from the CLI:

openlmlib mcp-config --ide vscode \
  --ide cursor
openlmlib query "retrieval" \
  --final-k 5

Setup downloads the embedding model on first run, roughly 100 to 500 MB.

I already wrote the eval harness, so the next step is running and publishing precision/recall numbers across the memory layers for each release. After that, I really need to get that cold start down.