WikiKB: a fast, repository-native knowledge base for people and agents

WikiKB is an efficient, transparent, and explicitly curated knowledge base layer for humans and agents, built on the GitHub repository wiki.

Russell Horton Russell Horton

Agentic memory is incredibly useful. We want our agents to grow their understanding of a domain over the life of a project. But the knowledge an agent accumulates passively can be haphazard and opaque. Projects and topics bleed over into each other, amplifying and muddying the model’s context.

WikiKB is an efficient, transparent and explicitly curated knowledge base layer, for humans and agents, built on the GitHub repository wiki. Yes, every repo comes with a wiki! Most of them go unused, making it the perfect landing place for a human-readable, agent-addressable memory. WikiKB content can be ingested and queried from the command line, through GitHub issues, or agentically using the provided skill definition.

Because the knowledge base lives in the repository’s wiki, everything ingested can be viewed in the rendered wiki or in the raw Markdown files behind it. You can install WikiKB alongside an existing project, or create a dedicated repository to hold knowledge about any topic.

Try it!

Tell your agent:

Install WikiKB using https://github.com/githubnext/wikikb/blob/main/INSTALL.md

Implementation

WikiKB is fast and efficient, leveraging Self-Organizing Memory for Agents (SOMA) from the GraphRAG Zero project at Microsoft Research. SOMA uses a small, static, local embedding model running on the CPU for efficient indexing and retrieval. No LLM provider is required to add documents to the knowledge base or search it. For RAG operations such as summarization and question answering, you can configure WikiKB to use an LLM provider.

For example:

wkb ai-research query \
  "How does graph-based retrieval differ from vector search?"

This retrieves relevant entries from the knowledge base and sends them to the configured AI provider to produce a synthesized, source-backed answer.

Run the same command with --no-ai to return the relevant entries without generating new content:

wkb ai-research query \
  "How does graph-based retrieval differ from vector search?" \
  --no-ai

You can also use search, which is always retrieval-only:

wkb ai-research search "hybrid retrieval methods" --top 5

Add knowledge from files, URLs, and GitHub issues

WikiKB can ingest a local document or a public URL:

wkb ai-research ingest ./notes/retrieval-design.md --tag retrieval,design
wkb ai-research ingest https://example.com/research-paper --tag research

It can also archive GitHub issues, optionally including their comments:

wkb ai-research.sources.discussions ingest-issues \
  owner/repository \
  --state all \
  --limit 50 \
  --comments

Ingested material is normalized into Markdown pages with provenance, metadata, and tags. Namespaces let you organize larger knowledge bases and search only the relevant section:

wkb ai-research.papers.transformers search "positional encoding"

WikiKB design principles

Install WikiKB

Tell your agent:

Install WikiKB using https://github.com/githubnext/wikikb/blob/main/INSTALL.md

Keep in touch

Please reach out on the GitHub Next Discord and let us know how WikiKB is working for you.