Practical Promise
Link is local personal memory software. The expected sweet spot is a real user's working wiki: hundreds to thousands of Markdown pages, raw sources, durable memories, and graph links. The product is designed so agents do not need to enumerate that whole corpus for normal work.
Search
SQLite FTS5 is used when Python provides it. If SQLite FTS is unavailable, Link falls back to a token index and reports that backend in status and benchmark output.
Cache reuse
Persistent page-cache records let repeated runs reuse unchanged parsed pages instead of rereading everything after every command.
Graph
Large graphs open as a bounded high-signal overview first. Users can search, filter, focus neighborhoods, or explicitly load more when they need it.
Agent context
MCP and CLI query packets use small, medium, and large budgets with follow-up actions instead of dumping every page into the model.
Bounded Surfaces
The important scale behavior is not "can Link list every page?" It is "does the default agent and UI path stay bounded?"
query_linkReturns a budgeted context packet with why each item was selected.Use follow-up actions for more memory, search, context, or graph detail.get_graph_summaryReturns a bounded topic or high-degree graph neighborhood.Increase limit/depth or request the full graph only when needed.Measure Locally
Use lnk benchmark on your real wiki. It reports cache time, persistent-cache reuse, search backend, search/query timing, graph payload shape, and recommendations.
lnk benchmark "agent memory"
lnk health
lnk status --validate
From a source checkout, use a synthetic 10k-page check without touching your real wiki:
python3 scripts/smoke_large_wiki.py --pages 10000
The smoke script prints the generated wiki path, the local viewer command, and graph URLs so you can inspect browser behavior manually.
Large Wiki Habits
- Prefer
brief,query, andgraph-summaryover full exports. - Use page-type filters and search before opening full graph data.
- Run
lnk healthafter ingest or broad manual edits. - Run
lnk doctor --fixonly when health or validation points to a repairable issue. - Keep private raw sources out of Git; use
snapshot,team-sync, andcompliance-exportfor reviewable sharing paths.
Current Limits
Link is not pretending to be an enterprise search cluster. These are the current boundaries to understand before betting a huge corpus on it:
- Indexes are local and process-owned. Very large wikis still use memory proportional to the page/index size.
- The SQLite FTS index is built locally from wiki pages rather than maintained as a separate hosted service.
- The local HTTP viewer is for personal loopback use, not a multi-user hosted deployment.
- Full graph exports are intentionally not the default for large wikis. Use bounded graph summaries first.
- At tens of thousands of pages and beyond, persistent on-disk indexing and chunked graph loading become the next engineering frontier.
The near-term direction is clear: preserve the plain Markdown storage model while making cache, search, graph, and validation paths more incremental over time.