explaingit

gu-cryptography/anykb

101PythonAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

A self-hosted private knowledge base and RAG chat app that lets you upload documents, ask questions, and get cited Markdown answers with visible reasoning steps.

Mindmap

mindmap
  root((AnyKB))
    What it does
      Private knowledge base
      RAG question answering
      Document upload
    Features
      Multi-user accounts
      KB sharing
      Web search fallback
    Tech stack
      FastAPI backend
      Next.js frontend
      Milvus vectors
    Deploy
      Docker Compose
      Self-hosted
      MIT license
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Upload company documents to a private knowledge base and ask questions that return cited Markdown answers without sending data to external services

USE CASE 2

Configure hybrid retrieval so the system falls back to a live web search when the local KB has no confident answer

USE CASE 3

Share a knowledge base with team members via email invite or a token link with expiration and usage limits

USE CASE 4

Self-host the full stack with Ollama as the local LLM provider so no API keys or cloud AI costs are needed

Tech stack

PythonFastAPILangGraphNext.jsMilvusDockerSQLiteJWT

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires Docker Compose for 4 containers. Needs an LLM API key or a locally running Ollama instance.

Use freely for any purpose, including commercial, as long as you keep the copyright notice. MIT license.

In plain English

AnyKB is a self-hosted private knowledge base application that lets you upload documents and web pages and then ask questions against that content in plain language. The project is written in Python for the backend using FastAPI and LangGraph, and uses Next.js for the web frontend. It is designed to run on your own server, and the README is written in Chinese. The workflow is: upload files in formats including Markdown, plain text, PDF, and DOCX, or provide a URL for the system to scrape. Content is processed and indexed in the background into a vector database. You then open the chat interface, select which knowledge base to query, and type a question. The system returns a structured Markdown report with citations linking back to source passages, typically within 30 seconds. The reasoning steps are displayed as the answer is built, so you can see how the system searched and what it found. The application supports multiple user accounts, each managing their own knowledge bases, with three permission levels: owner, editor, and viewer. Knowledge bases can be shared through email invitations or anonymous token links with configurable expiration dates and usage limits. A hybrid retrieval mode is also available: when the local knowledge base does not have a confident answer, the system falls back to a DuckDuckGo web search and labels the two source types separately in the response. The system supports multiple AI providers for both the language model and for generating text embeddings: options include DeepSeek, Claude, OpenAI, SiliconFlow, and locally running Ollama models. Deployment uses a four-container Docker Compose setup. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
Walk me through setting up AnyKB using Docker Compose with a self-hosted Ollama model as the LLM. What does the four-container setup include and how do I configure the embedding model?
Prompt 2
I've uploaded PDF documents to AnyKB. How do I enable hybrid retrieval mode so it falls back to web search when the KB relevance score is below 0.4?
Prompt 3
How do I invite a team member to collaborate on a shared knowledge base in AnyKB? What permission levels are available and how do share links work?
Prompt 4
AnyKB shows a visible reasoning chain as it answers. Walk me through what each step displays and how the Agent routes between KB search and web search tools.
Open on GitHub → Explain another repo

← gu-cryptography on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.