WeKnora combines document search, agents, and editable wikis
WeKnora starts with familiar RAG work: upload documents, split and index them, retrieve passages, and answer with citations. It extends that base in two directions. A ReAct agent can call retrieval, web search, and MCP tools for multi-step work. Wiki mode turns source documents into linked Markdown pages with a visual knowledge graph. Those pages can be edited in the browser, compared across revisions, and rolled back. Retrieval chunks also have editing, diff, and reindexing controls.
This combination fits a knowledge team that wants curation after ingestion rather than a one-time chatbot index. Folder uploads keep their directory structure, documents can be re-filed, and processing settings can vary per upload. The feature table lists more than 10 document formats, including PDF, Word, spreadsheets, images, EPUB, and MHTML. It also supports FAQ, document, and wiki knowledge-base types. The cost is a larger system with many policies to settle before users trust it.
Twenty-nine MCP tools sit beside APIs and chat channels
Version 0.7.2 documents an official tencent-weknora-mcp package with 29 tools over stdio, SSE, and HTTP. The command-line client can bind a local directory to a knowledge base, upload a document, ask a question, or serve an MCP surface. Scoped API keys can restrict capabilities and knowledge bases. Website embeds add domain allowlists and token exchange for publishing an agent outside the main interface.
Communication options are unusually broad. The README lists WeCom, Feishu, Lark, QQBot, Slack, Telegram, DingTalk, Mattermost, WeChat, and Yunzhijia. Data can sync from Feishu, Notion, Yuque, and RSS. Each connector adds another credential, permission model, and failure path. Buyers should choose the two or three channels they will support and verify message citations, attachment handling, deletion, and user identity there before enabling the rest.
What happened when we ran it
Our Go sandbox installed 1,181 packages in 251 seconds at commit 412dcc4. The build succeeded in 252 seconds. Tests then ran for 201 seconds and ended with exit code 1: 73 passed and 4 failed out of 77. That is a mostly working source checkout, but it does not meet a clean release gate. The repository occupied 77.3 MB before dependencies and contained about 691,980 lines of source across 3,121 files.
The supplied end of the failing log showed successful packages such as internal/runtime, internal/sandbox, storage helpers, tracing types, utilities, and a contract package. It then printed FAIL. It did not include the names or errors of the 4 failing cases, so we cannot attribute them to missing infrastructure, code defects, or sandbox restrictions. Anyone evaluating the same commit should rerun the suite with complete output and preserve the first failure, not infer a cause from the last line.
Our scan found 12 CI workflow files, a Compose file, and a tests directory, but no Dockerfile. The README points users to published Compose services and says some full-suite tests require local infrastructure or service configuration. Our build result covers the measured Go path in an unprivileged Debian container. We did not ingest documents, run OCR, connect an LLM, compare retrieval, or exercise the chat integrations.
Compose starts a core system, while profiles add more
The documented local route asks for Git, Docker, and Docker Compose. Users copy .env.example, edit it, pull images, and start core services. The web interface listens on port 80 and the backend API on 8080. Optional profiles add Neo4j, MinIO, Langfuse, or a full set of services. The upgrade instructions explicitly call for pulling images before recreating containers because a plain compose up can reuse cached images and leave the interface out of sync.
Model choices span hosted and local providers, including OpenAI, Anthropic, DeepSeek, Qwen, Hunyuan, Gemini, NVIDIA, and Ollama. Embedding, reranking, vector database, object storage, and web-search providers are separately configurable. That flexibility helps private-cloud buyers fit existing infrastructure. It also makes configuration review essential: a deployment can keep documents locally while still sending prompts or embeddings to an outside provider if the routes are chosen carelessly.
Workspace controls suit an internal service
WeKnora provides four workspace roles, per-knowledge-base ownership, audit logs, scoped API keys, session controls, and several storage instances per workspace. API keys and connector credentials are described as encrypted with AES-256-GCM, while the docreader path supports gRPC TLS and a token. Runtime dashboards show queues, worker pools, concurrency, failed tasks, and retries. Langfuse supplies traces for model calls and document processing when that profile is enabled.
The security notice still recommends internal or private networking and warns against direct public exposure. That advice should shape the architecture. Put authentication behind a reviewed gateway, limit connector credentials, restrict MCP and administration routes, and test workspace isolation. A feature list cannot prove tenant separation. The release notes themselves include recent fixes for shared-agent permissions, session access, SSRF handling, credential encryption, and IDOR, all reasons to keep upgrades and regression tests routine.
Version 0.7.2 is active and still settling
GitHub recorded 20,700 stars, 562 open issues and pull requests, and a last push on August 26, 2026. Release v0.7.2 was published August 7 with changes across wiki editing, chunks, storage, MCP, sessions, parsing, retrieval, authentication, and CI. The main README is English and links Simplified Chinese, Japanese, and Korean versions, which makes the project more approachable for a multilingual operating team.
WeKnora deserves a trial when document governance and agent behavior must share one private platform. Its editable wiki, source-aware chat, 29 MCP tools, workspace roles, and connector range go beyond a small RAG demo. Our successful 252-second build shows the source can compile in a plain Go container, while 4 failed tests keep the recommendation conditional. Start with one knowledge base, one model route, and one channel, then expand only after retrieval, permissions, and failure recovery hold up.

