Favicon of WeKnora

WeKnora

Open-source Go platform that converts documents into RAG search, a ReAct agent, and a self-updating wiki with knowledge graphs.

WeKnora website screenshot
WeKnora GitHub repository preview

WeKnora is an open-source, self-hostable knowledge platform written in Go. It ingests raw documents (PDF, Word, Excel, images, XMind, and more) and turns them into three things: a retrieval-augmented Q&A system, a ReAct agent that can call tools and run sandboxed code, and a self-maintaining wiki with an interactive knowledge graph. It's built for teams that want an internal knowledge base backed by an LLM, without handing their documents to a third-party SaaS.

The target users are engineering and ops teams running their own infrastructure who need document search, multi-step agent reasoning, and knowledge curation in one system. It fits organizations already using Feishu, Notion, Yuque, GitLab, or Tencent IMA as document sources, and teams that want IM-based Q&A through WeCom, Slack, Telegram, or Feishu.

Key features

  • RAG Q&A: fast retrieval-based question answering over ingested documents, with chunk editing, revision history, and rollback.
  • ReAct Agent: an autonomous agent that orchestrates retrieval, MCP tools, a skill catalog, and session-persistent Docker/E2B/Cube sandboxes to handle multi-step tasks.
  • Wiki Mode: agents distill raw documents into an interlinked Markdown knowledge base with a visual knowledge graph, manual editing, and one-click rollback.
  • Cross-session long-term memory: tracks user profile, preferences, and recurring topics across conversations.
  • Multi-source ingestion: auto-sync from Feishu wiki/Drive, GitLab, Tencent IMA, Notion, Yuque, and RSS.
  • Multi-workspace RBAC: four-tier role matrix (Owner/Admin/Contributor/Viewer), per-resource ownership, and per-workspace audit logs.
  • Modular backend: swappable LLM providers (20+, including OpenAI, DeepSeek, Qwen, Gemini, Ollama, LiteLLM), vector databases, and storage backends.
  • Observability: built-in Langfuse tracing for agent reasoning, token usage, and pipeline steps, plus a runtime task-queue dashboard with worker-pool governance.
  • Scoped API keys: capability-level access grants with a principal model for programmatic integrations.
  • IM and embed integrations: serve Q&A through WeCom, Feishu, Slack, Telegram, and a website embed widget.

Ideal use cases

WeKnora fits organizations that want an internal, self-hosted knowledge assistant tied to their existing document sources (Feishu, Notion, GitLab, Yuque) rather than a hosted third-party tool. It works well for support teams building an evolving internal wiki from scattered documentation, or for teams that need an agent capable of running code in a sandbox and citing sources back to the original chunks.

It also suits teams that need governance around knowledge access: the multi-workspace RBAC, scoped API keys, and audit logs make it usable in settings with multiple teams or departments sharing one deployment.

It is not a good fit if you want a lightweight, drop-in chatbot with minimal setup. The architecture (multiple services, sandboxes, vector stores, task queues) implies real operational overhead. Teams without infrastructure to run Docker-based services, a vector database, and an LLM provider integration will find the setup heavier than a simple hosted RAG API.

Installation

The README does not include a full step-by-step install section in the excerpt available, but the project is structured as a self-hostable, Docker-based Go service with a Helm chart for Kubernetes deployments. The standard path for a Go-based service like this is:

git clone https://github.com/Tencent/WeKnora.git
cd WeKnora

From there, check the repository's docs and CHANGELOG.md for environment variable configuration (the project documentation site lists roughly 150 environment variables and 360 API endpoints) and Docker Compose or Helm chart deployment. A CLI tool named weknora is also part of the project for managing sessions, agents, and MCP serving.

Before deploying, you'll need to configure an LLM provider (OpenAI, DeepSeek, Qwen, Gemini, Ollama, etc.), a vector store (options include Milvus, Qdrant, Weaviate, pgvector, or OpenSearch), and a storage backend (S3, OBS, TOS, or KS3 are supported). Because the platform is modular, each of these can be swapped independently, so plan your provider and storage choices before initial setup.

Frequently asked questions

Share:

Stars
34.4K
Forks
4.6K
Last commit
23 hours ago
Repository age
1 year
Self-hosted
Yes
Activity score
85/100
View Repository
Ad
Favicon

 

  
 

Similar to WeKnora

Favicon

 

  
 
Favicon

 

  
 
Favicon