Tencent/WeKnoraPublic

Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.

AI summary: A comprehensive dialog framework and skill system integrated with the WeChat Dialog Open Platform.

Stars
22.4K
+44 today
Forks
3.2K
Watchers
110
Open issues
416
Open PRs
315
Contributors
~222
Commits
3K
Branches
59

GoOtherCreated Jul 22, 2025Last push todayLatest release v0.8.0+44 stars this week+44 this month

Star history

since Sep 21, 2025
010K20KSep 2025Jan 2026May 2026Sep 2026
22.4K stars as of Sep 12, 2026, tracked back to Sep 21, 2025. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-14: 0 commits2025-09-15: 4 commits2025-09-16: 19 commits2025-09-17: 16 commits2025-09-18: 12 commits2025-09-19: 2 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 2 commits2025-09-23: 0 commits2025-09-24: 2 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 2 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 2 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 2 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 1 commit2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 1 commit2025-11-04: 0 commits2025-11-05: 5 commits2025-11-06: 10 commits2025-11-07: 10 commits2025-11-08: 2 commits2025-11-09: 3 commits2025-11-10: 3 commits2025-11-11: 4 commits2025-11-12: 11 commits2025-11-13: 7 commits2025-11-14: 5 commits2025-11-15: 3 commits2025-11-16: 6 commits2025-11-17: 6 commits2025-11-18: 4 commits2025-11-19: 9 commits2025-11-20: 15 commits2025-11-21: 11 commits2025-11-22: 0 commits2025-11-23: 2 commits2025-11-24: 5 commits2025-11-25: 10 commits2025-11-26: 18 commits2025-11-27: 6 commits2025-11-28: 3 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 10 commits2025-12-02: 7 commits2025-12-03: 9 commits2025-12-04: 10 commits2025-12-05: 8 commits2025-12-06: 0 commits2025-12-07: 1 commit2025-12-08: 6 commits2025-12-09: 2 commits2025-12-10: 0 commits2025-12-11: 3 commits2025-12-12: 4 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 8 commits2025-12-16: 10 commits2025-12-17: 6 commits2025-12-18: 4 commits2025-12-19: 5 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 9 commits2025-12-23: 4 commits2025-12-24: 17 commits2025-12-25: 7 commits2025-12-26: 4 commits2025-12-27: 1 commit2025-12-28: 1 commit2025-12-29: 7 commits2025-12-30: 17 commits2025-12-31: 15 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 2 commits2026-01-05: 6 commits2026-01-06: 3 commits2026-01-07: 9 commits2026-01-08: 12 commits2026-01-09: 2 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 14 commits2026-01-13: 1 commit2026-01-14: 9 commits2026-01-15: 8 commits2026-01-16: 10 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 4 commits2026-01-20: 4 commits2026-01-21: 6 commits2026-01-22: 2 commits2026-01-23: 1 commit2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 8 commits2026-01-27: 3 commits2026-01-28: 1 commit2026-01-29: 1 commit2026-01-30: 7 commits2026-01-31: 1 commit2026-02-01: 1 commit2026-02-02: 9 commits2026-02-03: 4 commits2026-02-04: 13 commits2026-02-05: 8 commits2026-02-06: 14 commits2026-02-07: 1 commit2026-02-08: 2 commits2026-02-09: 6 commits2026-02-10: 3 commits2026-02-11: 1 commit2026-02-12: 1 commit2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 3 commits2026-02-25: 2 commits2026-02-26: 5 commits2026-02-27: 0 commits2026-02-28: 12 commits2026-03-01: 2 commits2026-03-02: 16 commits2026-03-03: 6 commits2026-03-04: 10 commits2026-03-05: 16 commits2026-03-06: 8 commits2026-03-07: 4 commits2026-03-08: 0 commits2026-03-09: 9 commits2026-03-10: 3 commits2026-03-11: 7 commits2026-03-12: 12 commits2026-03-13: 19 commits2026-03-14: 0 commits2026-03-15: 8 commits2026-03-16: 23 commits2026-03-17: 9 commits2026-03-18: 5 commits2026-03-19: 20 commits2026-03-20: 21 commits2026-03-21: 0 commits2026-03-22: 1 commit2026-03-23: 16 commits2026-03-24: 23 commits2026-03-25: 12 commits2026-03-26: 5 commits2026-03-27: 11 commits2026-03-28: 3 commits2026-03-29: 3 commits2026-03-30: 17 commits2026-03-31: 8 commits2026-04-01: 18 commits2026-04-02: 14 commits2026-04-03: 4 commits2026-04-04: 2 commits2026-04-05: 0 commits2026-04-06: 3 commits2026-04-07: 34 commits2026-04-08: 16 commits2026-04-09: 12 commits2026-04-10: 11 commits2026-04-11: 39 commits2026-04-12: 3 commits2026-04-13: 20 commits2026-04-14: 16 commits2026-04-15: 12 commits2026-04-16: 18 commits2026-04-17: 5 commits2026-04-18: 1 commit2026-04-19: 4 commits2026-04-20: 13 commits2026-04-21: 18 commits2026-04-22: 17 commits2026-04-23: 16 commits2026-04-24: 13 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 14 commits2026-04-28: 14 commits2026-04-29: 18 commits2026-04-30: 10 commits2026-05-01: 5 commits2026-05-02: 23 commits2026-05-03: 10 commits2026-05-04: 2 commits2026-05-05: 4 commits2026-05-06: 23 commits2026-05-07: 15 commits2026-05-08: 14 commits2026-05-09: 54 commits2026-05-10: 11 commits2026-05-11: 25 commits2026-05-12: 32 commits2026-05-13: 25 commits2026-05-14: 24 commits2026-05-15: 29 commits2026-05-16: 23 commits2026-05-17: 18 commits2026-05-18: 44 commits2026-05-19: 4 commits2026-05-20: 9 commits2026-05-21: 22 commits2026-05-22: 6 commits2026-05-23: 0 commits2026-05-24: 5 commits2026-05-25: 12 commits2026-05-26: 33 commits2026-05-27: 25 commits2026-05-28: 22 commits2026-05-29: 21 commits2026-05-30: 6 commits2026-05-31: 4 commits2026-06-01: 4 commits2026-06-02: 7 commits2026-06-03: 26 commits2026-06-04: 16 commits2026-06-05: 9 commits2026-06-06: 0 commits2026-06-07: 1 commit2026-06-08: 5 commits2026-06-09: 10 commits2026-06-10: 14 commits2026-06-11: 7 commits2026-06-12: 3 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 5 commits2026-06-16: 29 commits2026-06-17: 6 commits2026-06-18: 5 commits2026-06-19: 3 commits2026-06-20: 1 commit2026-06-21: 2 commits2026-06-22: 19 commits2026-06-23: 10 commits2026-06-24: 13 commits2026-06-25: 9 commits2026-06-26: 15 commits2026-06-27: 1 commit2026-06-28: 1 commit2026-06-29: 15 commits2026-06-30: 12 commits2026-07-01: 7 commits2026-07-02: 19 commits2026-07-03: 4 commits2026-07-04: 0 commits2026-07-05: 4 commits2026-07-06: 16 commits2026-07-07: 8 commits2026-07-08: 11 commits2026-07-09: 13 commits2026-07-10: 5 commits2026-07-11: 3 commits2026-07-12: 1 commit2026-07-13: 17 commits2026-07-14: 16 commits2026-07-15: 14 commits2026-07-16: 17 commits2026-07-17: 12 commits2026-07-18: 1 commit2026-07-19: 0 commits2026-07-20: 10 commits2026-07-21: 13 commits2026-07-22: 15 commits2026-07-23: 21 commits2026-07-24: 10 commits2026-07-25: 2 commits2026-07-26: 5 commits2026-07-27: 30 commits2026-07-28: 34 commits2026-07-29: 14 commits2026-07-30: 19 commits2026-07-31: 13 commits2026-08-01: 2 commits2026-08-02: 2 commits2026-08-03: 13 commits2026-08-04: 28 commits2026-08-05: 13 commits2026-08-06: 26 commits2026-08-07: 17 commits2026-08-08: 1 commit2026-08-09: 2 commits2026-08-10: 12 commits2026-08-11: 6 commits2026-08-12: 19 commits2026-08-13: 21 commits2026-08-14: 4 commits2026-08-15: 1 commit2026-08-16: 3 commits2026-08-17: 3 commits2026-08-18: 6 commits2026-08-19: 4 commits2026-08-20: 11 commits2026-08-21: 9 commits2026-08-22: 4 commits2026-08-23: 0 commits2026-08-24: 17 commits2026-08-25: 18 commits2026-08-26: 9 commits2026-08-27: 14 commits2026-08-28: 11 commits2026-08-29: 4 commits2026-08-30: 4 commits2026-08-31: 17 commits2026-09-01: 25 commits2026-09-02: 15 commits2026-09-03: 8 commits2026-09-04: 2 commits2026-09-05: 6 commits2026-09-06: 7 commits2026-09-07: 25 commits2026-09-08: 9 commits2026-09-09: 13 commits2026-09-10: 5 commits2026-09-11: 4 commits2026-09-12: 0 commits
2,831 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    22,375 stars

  • Very active

    2,831 commits in 52 weeks

  • Community-driven

    ~222 contributors

  • Continuous integration

    Automated checks passing

What WeKnora does

WeKnora provides a robust infrastructure for building conversational agents and integrating them into the WeChat ecosystem. It acts as a bridge between custom dialog models and the WeChat Dialog Open Platform, simplifying the deployment of complex AI interactions. The project includes various tools such as a Chrome extension and npm packages to streamline the development workflow. By offering pre-built integrations and skill interfaces, it reduces the overhead of constructing conversational AI from scratch. The system is designed to handle the intricacies of message routing, state management, and API communication required for modern dialog agents.

Developers and organizations looking to build and deploy advanced conversational agents within WeChat. Prerequisites include familiarity with Node.js and basic concepts of dialog state management.

  • WeChat integration: Connects seamlessly with the WeChat Dialog Open Platform to deploy conversational agents.
  • Skill system architecture: Provides a structured framework for defining and registering specific conversational capabilities via ClawHub.
  • Browser extension support: Includes a dedicated Chrome extension to assist in the development and debugging process.
  • Package management distribution: Available via npm to facilitate easy incorporation into Node.js projects.
  • Comprehensive documentation: Offers extensive resources and guides to assist developers in navigating the platform's features.

Where teams use it

Deploying WeChat chatbots

Utilize the framework to quickly build and launch conversational agents directly within the WeChat ecosystem.

Developing complex dialog skills

Create specialized conversational capabilities using the provided ClawHub skill interfaces and architecture.

Streamlining API integration

Leverage the provided npm packages to easily connect Node.js backend services with the WeChat Dialog Open Platform.

Debugging conversational flows

Use the included Chrome extension to monitor and troubleshoot dialog states during the development process.

Getting started: https://weknora.weixin.qq.com

README

main branch

WeKnora Logo

Tencent/WeKnora | Trendshift

Official Website WeChat Dialog Open Platform Chrome Extension ClawHub Skill npm @wxg-prc-cpg/dsh-weknora License Version

| English | 简体中文 | 日本語 | 한국어 |

💡 WeKnora — Turn Documents into Living Knowledge with RAG, Agents and Auto-Wiki

📌 Overview

WeKnora is an open-source, LLM-powered knowledge framework built for enterprise-grade document understanding, semantic retrieval, and autonomous reasoning.

weknora-narrated.mp4

2:25 · 1080p · English narration & captions.

It is organized around three core capabilities: RAG-based Quick Q&A for everyday lookups, a ReAct Agent that autonomously orchestrates retrieval, MCP tools, a tenant skill catalog, session-persistent Docker / E2B / Cube sandboxes and web search to handle complex multi-step tasks, and a brand-new Wiki Mode in which agents distill raw documents into a self-maintaining, interlinked markdown knowledge base with an interactive knowledge graph, complete with manual editing, revision history and one-click rollback. Cross-session long-term memory remembers who you are and what you keep asking about. Knowledge curation is equally hands-on: a tree-structured folder view preserves the directory layout of uploads, and chunk editing with revision history lets retrieval chunks be edited, diffed and reverted like documents. Combined with multi-source ingestion (Feishu wiki / Feishu Drive / GitLab / Tencent IMA / Notion / Yuque / RSS, and growing), website embed widgets for publishing agents to external sites, scoped API keys with a principal model for programmatic integrations, multi-instance storage backends per workspace for flexible data placement, 20+ LLM provider integrations (including LiteLLM), full Langfuse observability plus a runtime task-queue dashboard with worker-pool governance, enterprise-ready multi-workspace RBAC (4-tier role matrix + per-resource ownership + per-workspace audit log), and a fully self-hostable modular architecture, WeKnora turns scattered documents into a queryable, reasoning-capable, continuously evolving knowledge asset.

The framework supports auto-syncing knowledge from Feishu, GitLab, Tencent IMA, Notion, and Yuque (more data sources coming soon), handles 10+ document formats including PDF, Word, images, Excel and XMind, and can serve Q&A directly through IM channels like WeCom, Feishu, Slack, and Telegram. It is compatible with major LLM providers including OpenAI, DeepSeek, Qwen (Alibaba Cloud), Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, LiteLLM, and Ollama. Office files can be parsed in-process with anydoc. Its fully modular design allows swapping LLMs, vector databases, and storage backends, with support for local and private cloud deployment ensuring complete data sovereignty. WeKnora also integrates with Langfuse for comprehensive observability into agent reasoning, token usage, and pipeline tracing.

✨ Latest Updates

  • v0.8.0Skill sandbox runtime (session-persistent Docker / E2B / Cube backends with per-tenant network policy; Local host-process backend removed; Docker opt-in); tenant skill catalog (install from ClawHub / SkillHub / git / zip, per-sandbox snapshots, live progress, file browse/edit, personal and workspace env vars); cross-session long-term memory (profile / preference / fact / task / interest, auto-extract with confirm, search_memory); in-process anydoc office parser; official DeepSeek Harness plugin @wxg-prc-cpg/dsh-weknora; GitLab and Tencent IMA data sources; LiteLLM; Exa and Metaso web search; XMind parsing; chat artifacts, question outline and timestamps; context compaction and provider prompt-cache markers. Plus OIDC JWKS verification, optional complex passwords, document auto-tagging, and broad sandbox/security hardening. See CHANGELOG.md.
  • v0.7.2 — Launched the official product documentation site (VitePress; six sections, ~50 pages covering ~360 API endpoints and ~150 environment variables, with standalone Docker/Nginx deployment, quickstart sample data and a local MCP demo); knowledge base folder tree (upload paths stored as first-class data, browse/rename/re-file documents like a file manager); chunk editing with revision history (edit retrieval chunks in the UI, per-version diff and rollback, automatic reindexing, plus custom document metadata); Wiki page revision history (snapshots + line-level diff + one-click rollback + in-browser manual editing); directly loadable file URLs via resource_urls=public / RESOURCE_URL_MODE (third-party apps render images and files without a second authenticated proxy call); Feishu Drive data source and docx sync through the blocks API; batch document tagging; MCP Server 1.1.x (migrated to the mcp 2.x high-level API, official PyPI package tencent-weknora-mcp, new create_knowledge_from_text and list_shared_knowledge_bases for 29 tools total); AWS S3 default credential chain (IAM Role / IRSA); local HTML upload parsing; QQBot markdown replies; new PR CI checks for app / frontend / docreader / mcp-server. Plus large-scale router and modelcontext refactors, rerank and chunking quality work, and broad stability fixes. See CHANGELOG.md.
  • v0.7.1 — New Yunzhijia (云之家) IM integration (WebSocket + image messages + markdown replies); Volcengine rerank provider (with request batching) and Zhipu AI web search provider; platform-scoped API keys for control-plane automation (tenant management, system settings, runtime queues, audit logs); per-KB activity audit trail; FAQ management enhancements (filtering, tagging, export, import tracking); Langfuse OTLP/OTel tracing migration with W3C traceparent propagation; chat header actions with one-click Markdown export and wiki tool results in the references drawer; prompt-cache observability; session channel governance (admin-scoped IM/embed/API sessions); resilient Feishu large-wiki sync; and removal of the legacy Neo4j conversation-memory dependency. Plus broad slug-integrity, SSRF-transport, and state-sync hardening. See CHANGELOG.md.
  • v0.7.0 — Fine-grained scoped API keys & principal model (capability-level grants + per-KB restriction + API integration playground); runtime task-queue observability dashboard & worker-pool governance (per-stage pools + per-model concurrency governors + failed-task inspection/retry); multi-instance storage backends (multiple storage instances per workspace, per-KB binding, default instance); session-scoped temporary attachments (async image/doc parsing + combined limits); question & follow-up suggestions; stable resource registry with LLM-context alias compaction; @Skill / @MCP mentions with scoped agent runtime; mid-conversation MCP OAuth; QQBot & Lark (Feishu International) IM integration; Redis TLS; Requesty model provider + Keenable web search; tenantless provisioning & gated self-service workspaces; admin password reset; knowledge base duplicate flow; weknora CLI v0.10. Plus broad security hardening (SSRF, secret redaction, SQL validation, IDOR). See CHANGELOG.md.
  • v0.6.3 — Website embed widget & Integrations Center (secure-mode token exchange + rate limits); chat experience overhaul (citation popovers, RAG pipeline progress, streaming markdown); document multi-tag & batch reparse; Wiki folders & hierarchy navigation; RSS data source; MCP OAuth2; EPUB / MHTML parsing; agent model-readiness checks; model test debugger; session source filter; workspace deletion UI. See CHANGELOG.md.
  • v0.6.2 — Per-upload process configuration with upload-confirm dialog; document reparse with process_config; weknora CLI v0.9 (bundled Agent Skills, session stop, auth/profile harmonization); KB marquee multi-select; HNSW index for 1024-dim pgvector embeddings; chat resources store refactor; Langfuse-only tracing (Jaeger removed). See CHANGELOG.md.
  • v0.6.1 — Document parsing trace timeline (Langfuse-style span tree with stage-by-stage progress + stop-parse); OpenSearch vector store driver; declarative built-in models via YAML; system admin & consolidated platform settings + audit log; new-user onboarding guide; settings UI redesign; weknora CLI v0.7 / v0.8 (agent-first wire contract, NDJSON, --dry-run); OpenDataLoader + PaddleOCR-VL parsers; MCP server multi-transport (stdio / SSE / HTTP); per-model thinking-mode config; Tencent LKEAP rerank + native Gemini embeddings + MiniMax-M3. See CHANGELOG.md.
  • v0.6.0 — Workspace RBAC (4-tier role matrix Owner / Admin / Contributor / Viewer + per-KB ownership + per-workspace audit log), workspace member management & multi-workspace UX, self-service workspaces; weknora CLI v0.4 GA with mcp serve; KB retrieval fan-out across vector stores; AES-256-GCM credential encryption + docreader gRPC TLS + Token; Zhipu embedder + Huawei OBS; server-side user preferences; Go 1.26.0. See docs/RBAC说明.md and CHANGELOG.md.
  • v0.5.2 — Wiki ingest scales to 40k-document KBs (task queue + DLQ); MCP human-in-the-loop tool approval; Anthropic / Apache Doris / Tencent VectorDB / KS3 / SearXNG backends; adaptive 3-tier chunking with live preview; global ⌘K command palette; Yuque connector + WeChat Mini Program; weknora CLI preview.
  • v0.5.1 — Knowledge-base batch management; workspace-wide IM channels overview; session search + user-scoped pinning; unified Model / Web Search / MCP settings cards; per-agent LLM timeout; desktop workspace switching.
  • v0.5.0 — Wiki Mode GA — agents auto-generate structured, interlinked Markdown wiki pages with a knowledge graph; wiki browser + visual graph in the UI.
  • v0.4.0 — WeKnora Cloud (hosted LLM + parsing); Chrome Extension; ClawHub Skill; WeChat IM; attachment processing; Azure OpenAI / Alibaba OSS; Notion connector; Baidu + Ollama web search; VectorStore management.
  • v0.3.6 — ASR (audio); Feishu data-source auto-sync; OIDC; IM quote-reply context + thread-based sessions; document summarization; Tavily search; parallel tool calling; agent @mention scope restriction.
  • v0.3.5 — Telegram / DingTalk / Mattermost IM; IM slash commands + QA queue; suggested questions; VLM auto-describe MCP tool images; Novita AI; channel tracking.
  • v0.3.4 — WeCom / Feishu / Slack IM; multimodal image support; NVIDIA model API; Weaviate; AWS S3; AES-256-GCM API-key encryption; built-in MCP service; hybrid-search optimization; final_answer tool.
  • v0.3.3 — Parent-child chunking; KB pinning; fallback response; passage cleaning for rerank; storage auto-creation; Milvus.
  • v0.3.2 — Knowledge Search entry; per-source parser & storage engine config; image rendering in local storage; document preview; Volcengine TOS; Mermaid rendering; batch session management; memory graph preview.
  • v0.3.0 — Shared Space; Agent Skills + sandboxed execution; custom agents; Data Analyst agent; thinking mode; Bing / Google web search; API Key auth; Helm chart; Korean i18n; Qdrant.
  • v0.2.0 — Agent Mode (ReACT); multi-type knowledge bases (FAQ + document); conversation strategy config; DuckDuckGo web search; MCP tool integration; new UI with agent mode switching; MQ async task management.

📱 Interface Showcase

🛠️ Skill Sandbox Chat · generate and preview a Word file
Skill sandbox conversation generating and previewing a Word document
📦 Skill Catalog · install onto an E2B sandbox
Workspace skill catalog with docx pptx pdf installed on E2B
🤖 Agent Mode · search, read a skill, write sandbox files
Agent searching the knowledge base, reading the docx skill, and writing a sandbox script
💬 Intelligent Q&A Conversation
Intelligent Q&A Conversation
📖 Wiki Browser
Wiki Browser
🕸️ Wiki Knowledge Graph
Wiki Knowledge Graph
🕘 Wiki Page Revision History & Rollback
Wiki Page Revision History and Rollback
✂️ Chunk Editing & Revision History
Chunk Editing and Revision History
📁 Folder Tree & Batch Operations
Knowledge Base Folder Tree and Batch Operations
🔭 Observability · Langfuse Tracing
Observability Langfuse Tracing

🏗️ Architecture

weknora-architecture.png

Fully modular pipeline from document parsing, vectorization, and retrieval to LLM inference — every component is swappable and extensible. Supports local / private cloud deployment with full data sovereignty and a zero-barrier Web UI for quick onboarding.

🧩 Feature Overview

Intelligent Conversation

Capability Details
Intelligent Reasoning ReACT progressive multi-step reasoning, autonomously orchestrating knowledge retrieval, MCP tools, skill sandboxes, and web search
Quick Q&A RAG-based Q&A over knowledge bases for fast and accurate answers
Wiki Mode Agent-driven auto-generation of structured, interlinked markdown Wiki pages from raw documents; in-browser manual editing, page revision history, line-level diff and one-click rollback
Skill Catalog & Sandbox Workspace skill catalog (ClawHub / SkillHub / git / zip) installed onto session-persistent Docker / E2B / Cube sandboxes; shell_exec, file tools, artifacts, per-config network policy; Local host-process backend removed
Long-term Memory Cross-session memory (profile / preference / fact / task / interest) with auto-extract, user confirm, and on-demand search_memory
Tool Calling Built-in tools, MCP tools (incl. OAuth2 remote services, mid-conversation OAuth), web search; @Skill / @MCP mentions to scope the agent runtime per turn
Conversation Strategy Online Prompt editing, retrieval threshold tuning, multi-turn context awareness, per-agent citation output toggle
Suggested Questions Auto-generated question suggestions and after-answer follow-ups based on knowledge base content
Temporary Attachments Session-scoped image / document uploads with async parsing for one-off Q&A, with a combined image + attachment limit
Citations & RAG Progress Inline citation popovers and a references drawer (web / KB source distinction), shared markdown rendering, and stage-by-stage RAG pipeline progress in chat
Session Management Filter and group sidebar sessions by source (Web / IM / Embed), with inline session-title rename

Knowledge Management

Capability Details
Knowledge Base Types FAQ / Document / Wiki with folder import, URL import, multi-tag management, and online entry
Folder Tree Folder uploads keep their original directory structure, with a sidebar tree for browsing, folder rename, and re-filing documents into another folder
Chunk Editing & Revisions Edit retrieval chunks directly in the UI with per-version snapshots, diff and one-click rollback, and automatic reindexing after an edit; generated questions can be added, edited, deleted and regenerated; custom document metadata supported
Per-Upload Process Config Override parser, chunking, multimodal (VLM / ASR), graph extraction, and question generation per upload batch via upload-confirm dialog or process_config API; reparse with new settings
Batch Reparse Re-queue parsing for multiple documents at once with optional per-batch process_config
Data Source Import Auto-sync from Feishu wiki / Feishu Drive / Lark / GitLab / Tencent IMA / Notion / Yuque / RSS feeds (more data sources coming soon); incremental and full sync
Document Formats PDF / Word / Txt / Markdown / HTML / EPUB / MHTML / Images / CSV / Excel / PPT / JSON / XMind
Auto-Tagging After parse, pick matching tags from the knowledge base's existing set without creating tags or overwriting manual ones
Retrieval Strategies BM25 sparse / Dense retrieval / GraphRAG / parent-child chunking / HNSW-accelerated pgvector (1024-dim) / multi-dimensional indexing
Batch Selection & Tagging Marquee drag-select multiple documents in the KB list for batch reparse and batch tagging (common tags pre-selected)
E2E Testing Full-pipeline visualization with recall hit rate, BLEU / ROUGE metric evaluation

Integrations & Extensions

Capability Details
LLMs OpenAI / Azure OpenAI / Anthropic (Claude) / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Requesty / LiteLLM / Ollama
Embeddings Ollama / BGE / GTE / Zhipu / OpenAI-compatible APIs
Vector DBs PostgreSQL (pgvector) / Elasticsearch / OpenSearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB
Object Storage Local / MinIO / AWS S3 (IAM Role / IRSA default credential chain) / Volcengine TOS / Alibaba Cloud OSS / Kingsoft Cloud KS3 / Huawei Cloud OBS; multiple storage instances per workspace with per-KB binding and a default instance
IM Channels WeCom / Feishu / Lark (Feishu International) / QQBot / Slack / Telegram / DingTalk / Mattermost / WeChat / Yunzhijia
Website Embed Publish agents via embed widget with domain allowlists, rate limits, and secure-mode token exchange
Web Search DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama / SearXNG / Keenable / Zhipu AI / Exa / Metaso
API Integration Scoped API keys (capability-level grants + per-KB restriction + throttled last-used tracking) with an API integration playground; MCP OAuth and embed sessions isolated per principal; resource_urls=public returns directly loadable file/image URLs, removing the second authenticated proxy call
MCP Server Official PyPI package tencent-weknora-mcp with 29 tools over stdio / SSE / HTTP transports

Platform

Capability Details
Deployment Local / Docker / Kubernetes (Helm) with private and offline support
UI Web UI / RESTful API / CLI (weknora) / Chrome Extension / Website Embed Widget / WeChat Mini Program
Access Control Workspace RBAC with 4-tier role matrix (Owner / Admin / Contributor / Viewer), per-KB resource ownership, per-workspace audit log, invite-only workspaces, tenantless provisioning & gated self-service workspace creation, admin password reset (session revocation), cross-workspace superuser, scoped API keys
Security AES-256-GCM at-rest encryption for API keys and MCP / data-source credentials with graceful key rotation; gRPC TLS + Token between app and docreader; Redis TLS; SSRF-safe HTTP client (data sources, URL import, redirect chains); secret redaction in responses; skill sandbox isolation (Docker opt-in / E2B / Cube) with per-config network policy; OIDC ID-token JWKS verification; optional complex-password policy
Observability Integrated Langfuse (sole tracing backend) for ReAct loops, token tracking, tool calls, and pipeline tracing; built-in Langfuse-style document parsing trace timeline with stage-by-stage progress; system-admin runtime task-queue dashboard (queue depth, per-model concurrency, failed-task inspection & manual retry)
Task Management MQ async tasks with per-stage worker-pool governance (core / post-process / enrichment / maintenance + elastic shared pool, plus an independent Wiki pool) and per-model background concurrency governors; automatic database migration on version upgrade
Model Management Centralized config, declarative built-in models via YAML, per-knowledge-base model selection, per-model thinking-mode and embedding-dimension overrides, interactive model test debugger, multi-workspace built-in model sharing, WeKnora Cloud hosted models and parsing

🧩 Chrome Extension

WeKnora Chrome Extension lets you capture web content directly into your WeKnora knowledge base. Select text, images, or entire pages in the browser and save them as knowledge entries with one click — no copy-paste or file upload needed.

📱 WeChat Mini Program

The WeKnora Mini Program provides a lightweight mobile client for configuring WeKnora API access, selecting knowledge bases, importing URLs, and asking knowledge chat from WeChat.

🦞 ClawHub Skill

WeKnora ClawHub Skill is a WeKnora skill published on the ClawHub platform. Once installed, it enables document import (file / URL / Markdown), hybrid search (vector + keyword) across knowledge bases, and knowledge entry management — all through the WeKnora REST API.

  • Document Import — Upload files, import web pages, or write Markdown knowledge via the agent
  • Hybrid Search — Search within or across knowledge bases with vector + keyword retrieval
  • Knowledge Management — List, browse, edit, and delete knowledge entries programmatically

🐋 DeepSeek Harness Plugin

@wxg-prc-cpg/dsh-weknora is the official DeepSeek Harness (dsh) plugin (docs). The harness ships no retrieval, embedding or knowledge-base capability of its own, so the plugin gives a coding agent your documents: dsh plugin --profile web add @wxg-prc-cpg/dsh-weknora, point it at a deployment, and four read-only tools appear in the agent's tool set.

  • weknora_search — hybrid retrieval returning source passages verbatim, each with a reusable knowledge_id
  • weknora_read_document — one document's passages reassembled in order, with paging
  • weknora_ask — WeKnora's own composed answer with citations, over the RAG or the ReAct pipeline
  • weknora_list_knowledge_bases — knowledge base names and ids, so the agent can scope its own search

⌨️ Command-Line Interface

weknora is the official CLI for driving the API from a terminal or an AI agent. It is agent-first: every command emits a stable JSON envelope by default (with typed error codes mapped to exit codes), and --format text renders for humans. It also serves a curated MCP tool surface (weknora mcp serve) and ships bundled Agent Skills.

weknora profile add prod --host https://kb.example.com --use
weknora auth login
weknora kb list
weknora link --kb my-knowledge-base    # bind the current directory
weknora doc upload notes.md
weknora chat "summarise the design doc"

For headless / CI use, set WEKNORA_API_KEY + WEKNORA_HOST and skip auth login entirely — no credentials written to disk.

See cli/README.md for install + 5-minute quickstart and cli/AGENTS.md for the operational contract AI agents rely on.

🚀 Getting Started

🛠 Prerequisites

📦 Installation & Launch

git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
cp .env.example .env   # Edit .env as needed, see comments in the file
docker compose pull     # Pull the latest images
docker compose up -d    # Start core services

Once started, visit http://localhost to get started.

To use a local Ollama model, run ollama serve > /dev/null 2>&1 & first.

🔄 Upgrading

If you already have WeKnora running and downloaded a newer release:

# Set WEKNORA_VERSION in .env to the target release (e.g. 0.7.0), or keep latest
docker compose pull     # Pull images matching WEKNORA_VERSION
docker compose up -d    # Recreate containers with new images

docker compose up -d alone reuses locally cached images and may leave the UI version out of sync with the release you downloaded.

🔧 Optional Services (Docker Compose Profiles)

Add --profile flags to enable additional components. Multiple profiles can be combined:

Profile Description Command
(default) Core services docker compose pull && docker compose up -d
full All features docker compose --profile full pull && docker compose --profile full up -d
neo4j Knowledge Graph (Neo4j) docker compose --profile neo4j pull && docker compose --profile neo4j up -d
minio Object Storage (MinIO) docker compose --profile minio pull && docker compose --profile minio up -d
langfuse Tracing (Langfuse) docker compose --profile langfuse pull && docker compose --profile langfuse up -d

Combine profiles: docker compose --profile neo4j --profile minio pull && docker compose --profile neo4j --profile minio up -d

Stop services: docker compose down

🌐 Service URLs

Service URL
Web UI http://localhost
Backend API http://localhost:8080
Langfuse Tracing http://localhost:3000

MCP Server

Please refer to the MCP Configuration Guide for the necessary setup.

🔌 Using WeChat Dialog Open Platform

WeKnora serves as the core technology framework for the WeChat Dialog Open Platform, providing a more convenient usage approach:

  • Zero-code Deployment: Simply upload knowledge to quickly deploy intelligent Q&A services within the WeChat ecosystem, achieving an "ask and answer" experience
  • Efficient Question Management: Support for categorized management of high-frequency questions, with rich data tools to ensure accurate, reliable, and easily maintainable answers
  • WeChat Ecosystem Integration: Through the WeChat Dialog Open Platform, WeKnora's intelligent Q&A capabilities can be seamlessly integrated into WeChat Official Accounts, Mini Programs, and other WeChat scenarios, enhancing user interaction experiences

📘 API Reference

Official product documentation: website-docs/ — the complete documentation set organized as Getting Started → Architecture → Features → API → Clients → Development, covering ~360 API endpoints, ~150 environment variables, and 9 extension points. The directory is also a VitePress site: run cd website-docs && npm install && npm run dev to preview locally, or deploy it standalone with the Dockerfile inside.

Troubleshooting FAQ: Troubleshooting FAQ

Detailed API documentation is available at: API Docs

Product plans and upcoming features: Roadmap

🧭 Developer Guide

⚡ Fast Development Mode (Recommended)

If you need to frequently modify code, you don't need to rebuild Docker images every time! Use fast development mode:

# Start infrastructure
make dev-start

# Start backend (new terminal)
make dev-app

# Start frontend (new terminal)
make dev-frontend

Development Advantages:

  • ✅ Frontend modifications auto hot-reload (no restart needed)
  • ✅ Backend modifications quick restart (5-10 seconds, supports Air hot-reload)
  • ✅ No need to rebuild Docker images
  • ✅ Support IDE breakpoint debugging

Detailed Documentation: Development Environment Quick Start

🤝 Contributing

Welcome to submit Issues or Pull Requests.

Process: Fork → Create branch → Commit changes → Open PR

Standards: Format code with gofmt, follow Conventional Commits (feat: / fix: / docs: / test: / refactor:)

Validation

For a focused PR, validate the changed scope first:

git fetch origin main
git diff --check origin/main...HEAD
golangci-lint run --new-from-rev=origin/main ./...
go test ./path/to/changed/package -count=1

Run gofmt on changed Go files before committing. For frontend changes, run the relevant tests from frontend/ and use npm run type-check when the change affects TypeScript or Vue components.

The full maintainer gate remains:

make fmt
make lint
make test

make fmt formats the entire Go repository, so run it only with a clean worktree and review the resulting diff. Some full-suite tests require local infrastructure or service configuration. If a full check fails for an unrelated baseline or environment reason, include the exact command and failure in the PR while still providing passing targeted tests for your change.

🔒 Security Notice

Important: Starting from v0.1.3, WeKnora includes login authentication functionality to enhance system security. For production deployments, we strongly recommend:

  • Deploy WeKnora services in internal/private network environments rather than public internet
  • Avoid exposing the service directly to public networks to prevent potential information leakage
  • Configure proper firewall rules and access controls for your deployment environment
  • Regularly update to the latest version for security patches and improvements

👥 Contributors

Thanks to these excellent contributors:

Contributors

📄 License

This project is licensed under the MIT License. You are free to use, modify, and distribute the code with proper attribution.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

39 total
  1. v0.8.0v0.8.0Sep 3, 2026

    ## What's Changed * fix(tenant): clear stale home tenant after member removal by @jiahao6635 in https://github.com/Tencent/WeKnora/pull/2589 * Feat/issue 2401 auto tag by @Syt3s in https://github.com/Tencent/WeKnora/pull/2548 * fix(knowledge): harden auto-tagging and let it respect manual tags by @lyingbug in https://github.com/Tencent/WeKnora/pull/2595 * feat(auth): add self-service change password in user profile by @jiahao6635 in https://github.com/Tencent/WeKnora/pull/2591 * fix(auth): harden self-service change password after #2591 by @lyingbug in https://github.com/Tencent/WeKnora/pull/2596 * fix(query-understand): LLM 输出不可解析时应回退到原始查询输入 by @mdrkrg in https://github.com/Tencent/WeKnora/pull/2592 * docs: fix 登陆 typo to 登录 by @jiahao6635 in https://github.com/Tencent/WeKnora/pull/2598 * feat(files): add message-scoped proxy for shared-agent chat images by @lyingbug in https://github.com/Tencent/WeKnora/pull/2605 * fix(vlm): use max_completion_tokens for GPT-5 / o-series vision models by @renezander030 in https://github.com/Tencent/WeKnora/pull/2614 * fix: pptx/ppt attachment parsing fails — missing parser engine + markitdown extras by @putcn in https://github.com/Tence

  2. v0.7.2v0.7.2Aug 7, 2026

    ## What's Changed * refactor(agent): consolidate model-handle codecs into internal/modelcontext by @lyingbug in https://github.com/Tencent/WeKnora/pull/2330 * refactor(auth,router): unify auth session context and split router by domain by @lyingbug in https://github.com/Tencent/WeKnora/pull/2331 * fix(knowledge): clean bound vector stores in batch delete by @BigFishDreamWater in https://github.com/Tencent/WeKnora/pull/2329 * fix: support string args for skill script execution by @koishi514-Z in https://github.com/Tencent/WeKnora/pull/2318 * fix(agent): keep batched wiki_read_page results within output budget by @lyingbug in https://github.com/Tencent/WeKnora/pull/2333 * fix(pipeline): 修复合并阶段输出顺序的不确定性 by @mdrkrg in https://github.com/Tencent/WeKnora/pull/2319 * fix(knowledge): reconcile wiki state when moving documents across KBs by @lyingbug in https://github.com/Tencent/WeKnora/pull/2335 * feat(wiki): page revision history with diff, revert, and manual editing by @lyingbug in https://github.com/Tencent/WeKnora/pull/2336 * style(wiki): polish revision drawer and sidebar to match session list UX by @lyingbug in https://github.com/Tencent/WeKnora/pull/2338 * feat(feishu): s

  3. v0.7.1v0.7.1Jul 24, 2026

    ## What's Changed * feat(chat): add session header actions and Markdown export by @lyingbug in https://github.com/Tencent/WeKnora/pull/2109 * feat(tracing): migrate langfuse client to OTLP/OTel wire protocol by @lordk911 in https://github.com/Tencent/WeKnora/pull/2099 * fix(tracing): merge Langfuse finish metadata and export auto root spans by @lyingbug in https://github.com/Tencent/WeKnora/pull/2111 * style(chat): widen conversation content area from 800px to 960px by @lyingbug in https://github.com/Tencent/WeKnora/pull/2114 * fix(wiki): prevent stale pending tasks after ingest timeout by @014-code in https://github.com/Tencent/WeKnora/pull/2106 * fix: stabilize top-k retrieval ordering by @KKtwo in https://github.com/Tencent/WeKnora/pull/2091 * refactor: remove Neo4j-based conversation memory feature by @lyingbug in https://github.com/Tencent/WeKnora/pull/2130 * feat(web-search): add Zhipu AI web search provider support by @lyingbug in https://github.com/Tencent/WeKnora/pull/2115 * feat(session): add admin API session bucket and stabilize sidebar filter by @lyingbug in https://github.com/Tencent/WeKnora/pull/2151 * fix(frontend): pin nginx base image by digest for old-h

  4. v0.7.0v0.7.0Jul 17, 2026

    ## What's Changed * feat(im): 新增QQBot即时通讯平台集成支持 by @YS-zdck in https://github.com/Tencent/WeKnora/pull/1824 * fix(frontend): hide redundant card badges when section headers apply by @lyingbug in https://github.com/Tencent/WeKnora/pull/1825 * chore: bump version to 0.6.3 by @lyingbug in https://github.com/Tencent/WeKnora/pull/1826 * fix(embedding): add SSRF validation and safe HTTP client for embedders by @lyingbug in https://github.com/Tencent/WeKnora/pull/1828 * ui(frontend): polish channel cards and use official QQBot icon by @lyingbug in https://github.com/Tencent/WeKnora/pull/1830 * feat(frontend): Chrome 插件与 Claw Skill 集成落地页 by @lyingbug in https://github.com/Tencent/WeKnora/pull/1832 * fix(frontend): reposition card hover popover to card instead of cursor by @hiasky in https://github.com/Tencent/WeKnora/pull/1829 * feat(frontend): show stacked integration icons on sidebar hover by @lyingbug in https://github.com/Tencent/WeKnora/pull/1837 * fix: make infrastructure host/port configurable via env vars in docker-compose by @hiasky in https://github.com/Tencent/WeKnora/pull/1840 * test: fix stale Doris SQL-shape and flaky OSS bucket assertions by @lyingbug in https://gi

  5. v0.6.3v0.6.3Jun 26, 2026

    ## What's Changed * feat(docker): streamline frontend build process and update Docker configuration by @lyingbug in https://github.com/Tencent/WeKnora/pull/1642 * style(frontend): adjust padding and margins for improved layout in AgentList, Chat, and KnowledgeBaseList components by @lyingbug in https://github.com/Tencent/WeKnora/pull/1648 * feat(ui): enhance knowledge base creation with initial section support by @lyingbug in https://github.com/Tencent/WeKnora/pull/1649 * Refine parser rule display for the active knowledge file type by @lyingbug in https://github.com/Tencent/WeKnora/pull/1650 * feat(menu): enhance sidebar functionality with search and toggle buttons by @lyingbug in https://github.com/Tencent/WeKnora/pull/1655 * feat(menu): enhance menu component with new chat functionality and localization updates by @lyingbug in https://github.com/Tencent/WeKnora/pull/1661 * refactor(settings): unify empty state handling across settings views by @lyingbug in https://github.com/Tencent/WeKnora/pull/1662 * Fix 1646 lacking error set by @jack-wang-176 in https://github.com/Tencent/WeKnora/pull/1669 * feat(im): sidebar source filter, content titles & in-flight reply recovery

Code frequency

additions and deletions
+83.8K-83.8KWeek of 2025-09-14: +21,381 linesWeek of 2025-09-14: -12,121 linesWeek of 2025-09-21: +5,046 linesWeek of 2025-09-21: -236 linesWeek of 2025-09-28: +0 linesWeek of 2025-09-28: -0 linesWeek of 2025-10-05: +38 linesWeek of 2025-10-05: -0 linesWeek of 2025-10-12: +2 linesWeek of 2025-10-12: -2 linesWeek of 2025-10-19: +4 linesWeek of 2025-10-19: -4 linesWeek of 2025-10-26: +130 linesWeek of 2025-10-26: -14 linesWeek of 2025-11-02: +50,140 linesWeek of 2025-11-02: -17,726 linesWeek of 2025-11-09: +33,017 linesWeek of 2025-11-09: -14,212 linesWeek of 2025-11-16: +18,199 linesWeek of 2025-11-16: -8,214 linesWeek of 2025-11-23: +12,788 linesWeek of 2025-11-23: -6,019 linesWeek of 2025-11-30: +14,814 linesWeek of 2025-11-30: -8,327 linesWeek of 2025-12-07: +4,757 linesWeek of 2025-12-07: -1,684 linesWeek of 2025-12-14: +26,240 linesWeek of 2025-12-14: -1,608 linesWeek of 2025-12-21: +21,445 linesWeek of 2025-12-21: -9,949 linesWeek of 2025-12-28: +6,253 linesWeek of 2025-12-28: -1,350 linesWeek of 2026-01-04: +4,632 linesWeek of 2026-01-04: -1,230 linesWeek of 2026-01-11: +4,717 linesWeek of 2026-01-11: -2,483 linesWeek of 2026-01-18: +4,130 linesWeek of 2026-01-18: -1,146 linesWeek of 2026-01-25: +17,484 linesWeek of 2026-01-25: -2,455 linesWeek of 2026-02-01: +17,730 linesWeek of 2026-02-01: -4,622 linesWeek of 2026-02-08: +2,860 linesWeek of 2026-02-08: -339 linesWeek of 2026-02-15: +0 linesWeek of 2026-02-15: -0 linesWeek of 2026-02-22: +33,145 linesWeek of 2026-02-22: -10,977 linesWeek of 2026-03-01: +22,462 linesWeek of 2026-03-01: -9,649 linesWeek of 2026-03-08: +53,186 linesWeek of 2026-03-08: -21,899 linesWeek of 2026-03-15: +24,922 linesWeek of 2026-03-15: -18,953 linesWeek of 2026-03-22: +28,510 linesWeek of 2026-03-22: -9,024 linesWeek of 2026-03-29: +20,985 linesWeek of 2026-03-29: -7,611 linesWeek of 2026-04-05: +41,365 linesWeek of 2026-04-05: -5,460 linesWeek of 2026-04-12: +29,322 linesWeek of 2026-04-12: -15,458 linesWeek of 2026-04-19: +31,963 linesWeek of 2026-04-19: -25,580 linesWeek of 2026-04-26: +33,958 linesWeek of 2026-04-26: -18,413 linesWeek of 2026-05-03: +58,297 linesWeek of 2026-05-03: -36,950 linesWeek of 2026-05-10: +70,150 linesWeek of 2026-05-10: -22,300 linesWeek of 2026-05-17: +49,921 linesWeek of 2026-05-17: -22,298 linesWeek of 2026-05-24: +43,197 linesWeek of 2026-05-24: -8,125 linesWeek of 2026-05-31: +28,409 linesWeek of 2026-05-31: -7,113 linesWeek of 2026-06-07: +24,988 linesWeek of 2026-06-07: -5,285 linesWeek of 2026-06-14: +20,210 linesWeek of 2026-06-14: -7,017 linesWeek of 2026-06-21: +36,159 linesWeek of 2026-06-21: -9,408 linesWeek of 2026-06-28: +21,036 linesWeek of 2026-06-28: -4,235 linesWeek of 2026-07-05: +22,058 linesWeek of 2026-07-05: -7,163 linesWeek of 2026-07-12: +40,456 linesWeek of 2026-07-12: -9,532 linesWeek of 2026-07-19: +34,145 linesWeek of 2026-07-19: -9,243 linesWeek of 2026-07-26: +76,809 linesWeek of 2026-07-26: -35,721 linesWeek of 2026-08-02: +56,765 linesWeek of 2026-08-02: -33,298 linesWeek of 2026-08-09: +72,243 linesWeek of 2026-08-09: -4,582 linesWeek of 2026-08-16: +20,683 linesWeek of 2026-08-16: -845 linesWeek of 2026-08-23: +60,201 linesWeek of 2026-08-23: -9,957 linesWeek of 2026-08-30: +38,684 linesWeek of 2026-08-30: -12,668 linesWeek of 2026-09-06: +83,750 linesWeek of 2026-09-06: -15,497 linesSep 14, 2025Sep 6, 2026
+1.4M lines added, -498K removed over the last year.

Commits per week

last 52 weeks
1690Week of 2025-09-14: 53 commitsWeek of 2025-09-21: 4 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 2 commitsWeek of 2025-10-12: 2 commitsWeek of 2025-10-19: 2 commitsWeek of 2025-10-26: 1 commitsWeek of 2025-11-02: 28 commitsWeek of 2025-11-09: 36 commitsWeek of 2025-11-16: 51 commitsWeek of 2025-11-23: 44 commitsWeek of 2025-11-30: 44 commitsWeek of 2025-12-07: 16 commitsWeek of 2025-12-14: 33 commitsWeek of 2025-12-21: 42 commitsWeek of 2025-12-28: 40 commitsWeek of 2026-01-04: 34 commitsWeek of 2026-01-11: 42 commitsWeek of 2026-01-18: 17 commitsWeek of 2026-01-25: 21 commitsWeek of 2026-02-01: 50 commitsWeek of 2026-02-08: 13 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 22 commitsWeek of 2026-03-01: 62 commitsWeek of 2026-03-08: 50 commitsWeek of 2026-03-15: 86 commitsWeek of 2026-03-22: 71 commitsWeek of 2026-03-29: 66 commitsWeek of 2026-04-05: 115 commitsWeek of 2026-04-12: 75 commitsWeek of 2026-04-19: 81 commitsWeek of 2026-04-26: 84 commitsWeek of 2026-05-03: 122 commitsWeek of 2026-05-10: 169 commitsWeek of 2026-05-17: 103 commitsWeek of 2026-05-24: 124 commitsWeek of 2026-05-31: 66 commitsWeek of 2026-06-07: 40 commitsWeek of 2026-06-14: 49 commitsWeek of 2026-06-21: 69 commitsWeek of 2026-06-28: 58 commitsWeek of 2026-07-05: 60 commitsWeek of 2026-07-12: 78 commitsWeek of 2026-07-19: 71 commitsWeek of 2026-07-26: 117 commitsWeek of 2026-08-02: 100 commitsWeek of 2026-08-09: 65 commitsWeek of 2026-08-16: 40 commitsWeek of 2026-08-23: 73 commitsWeek of 2026-08-30: 77 commitsWeek of 2026-09-06: 63 commitsSep 14, 2025Sep 6, 2026
2.8K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 14 commitsSun 1:00 — 3 commitsSun 2:00 — 4 commitsSun 3:00 — 2 commitsSun 4:00 — 1 commitsSun 5:00 — 0 commitsSun 6:00 — 3 commitsSun 7:00 — 2 commitsSun 8:00 — 0 commitsSun 9:00 — 2 commitsSun 10:00 — 4 commitsSun 11:00 — 8 commitsSun 12:00 — 4 commitsSun 13:00 — 4 commitsSun 14:00 — 6 commitsSun 15:00 — 7 commitsSun 16:00 — 6 commitsSun 17:00 — 6 commitsSun 18:00 — 6 commitsSun 19:00 — 3 commitsSun 20:00 — 6 commitsSun 21:00 — 8 commitsSun 22:00 — 18 commitsSun 23:00 — 11 commitsMon 0:00 — 9 commitsMon 1:00 — 14 commitsMon 2:00 — 11 commitsMon 3:00 — 3 commitsMon 4:00 — 1 commitsMon 5:00 — 1 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 2 commitsMon 9:00 — 2 commitsMon 10:00 — 24 commitsMon 11:00 — 57 commitsMon 12:00 — 29 commitsMon 13:00 — 27 commitsMon 14:00 — 36 commitsMon 15:00 — 58 commitsMon 16:00 — 25 commitsMon 17:00 — 61 commitsMon 18:00 — 35 commitsMon 19:00 — 43 commitsMon 20:00 — 55 commitsMon 21:00 — 30 commitsMon 22:00 — 14 commitsMon 23:00 — 17 commitsTue 0:00 — 16 commitsTue 1:00 — 1 commitsTue 2:00 — 3 commitsTue 3:00 — 0 commitsTue 4:00 — 3 commitsTue 5:00 — 8 commitsTue 6:00 — 0 commitsTue 7:00 — 1 commitsTue 8:00 — 2 commitsTue 9:00 — 20 commitsTue 10:00 — 29 commitsTue 11:00 — 58 commitsTue 12:00 — 22 commitsTue 13:00 — 23 commitsTue 14:00 — 25 commitsTue 15:00 — 49 commitsTue 16:00 — 42 commitsTue 17:00 — 51 commitsTue 18:00 — 24 commitsTue 19:00 — 26 commitsTue 20:00 — 56 commitsTue 21:00 — 38 commitsTue 22:00 — 21 commitsTue 23:00 — 26 commitsWed 0:00 — 18 commitsWed 1:00 — 7 commitsWed 2:00 — 0 commitsWed 3:00 — 2 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 1 commitsWed 8:00 — 1 commitsWed 9:00 — 2 commitsWed 10:00 — 23 commitsWed 11:00 — 48 commitsWed 12:00 — 20 commitsWed 13:00 — 24 commitsWed 14:00 — 48 commitsWed 15:00 — 47 commitsWed 16:00 — 55 commitsWed 17:00 — 42 commitsWed 18:00 — 25 commitsWed 19:00 — 43 commitsWed 20:00 — 69 commitsWed 21:00 — 41 commitsWed 22:00 — 35 commitsWed 23:00 — 12 commitsThu 0:00 — 13 commitsThu 1:00 — 6 commitsThu 2:00 — 4 commitsThu 3:00 — 3 commitsThu 4:00 — 6 commitsThu 5:00 — 0 commitsThu 6:00 — 1 commitsThu 7:00 — 2 commitsThu 8:00 — 1 commitsThu 9:00 — 6 commitsThu 10:00 — 34 commitsThu 11:00 — 39 commitsThu 12:00 — 33 commitsThu 13:00 — 23 commitsThu 14:00 — 35 commitsThu 15:00 — 52 commitsThu 16:00 — 45 commitsThu 17:00 — 50 commitsThu 18:00 — 45 commitsThu 19:00 — 33 commitsThu 20:00 — 33 commitsThu 21:00 — 40 commitsThu 22:00 — 14 commitsThu 23:00 — 28 commitsFri 0:00 — 9 commitsFri 1:00 — 9 commitsFri 2:00 — 4 commitsFri 3:00 — 2 commitsFri 4:00 — 0 commitsFri 5:00 — 1 commitsFri 6:00 — 1 commitsFri 7:00 — 1 commitsFri 8:00 — 2 commitsFri 9:00 — 4 commitsFri 10:00 — 26 commitsFri 11:00 — 26 commitsFri 12:00 — 32 commitsFri 13:00 — 20 commitsFri 14:00 — 29 commitsFri 15:00 — 35 commitsFri 16:00 — 39 commitsFri 17:00 — 26 commitsFri 18:00 — 13 commitsFri 19:00 — 24 commitsFri 20:00 — 25 commitsFri 21:00 — 18 commitsFri 22:00 — 37 commitsFri 23:00 — 9 commitsSat 0:00 — 14 commitsSat 1:00 — 15 commitsSat 2:00 — 4 commitsSat 3:00 — 3 commitsSat 4:00 — 37 commitsSat 5:00 — 9 commitsSat 6:00 — 1 commitsSat 7:00 — 1 commitsSat 8:00 — 4 commitsSat 9:00 — 14 commitsSat 10:00 — 9 commitsSat 11:00 — 8 commitsSat 12:00 — 6 commitsSat 13:00 — 5 commitsSat 14:00 — 3 commitsSat 15:00 — 5 commitsSat 16:00 — 18 commitsSat 17:00 — 11 commitsSat 18:00 — 8 commitsSat 19:00 — 6 commitsSat 20:00 — 3 commitsSat 21:00 — 6 commitsSat 22:00 — 9 commitsSat 23:00 — 8 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Sep 12, 2026weekly#16+815
Sep 11, 2026weekly#16+815
  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    389.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    285.4K stars · Shell

  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    283K stars · Python