Skip to content

GsKnora product overview ​

GsKnora is a knowledge-base Q&A system published by Global-IT-SS and hosted in France. Import PDFs, Word, web pages, and content from Notion, Confluence, Seafile, GitLab, and similar platforms. Users ask questions over those sources and open citations to the original text in answers.

The system uses retrieval-augmented generation (RAG): documents are parsed and indexed, relevant passages are retrieved for each question, and a large language model generates the answer.

The stack is a Go backend, Vue 3 frontend, and Python docreader service for document parsing. Deploy with Docker Compose, Helm, a Lite single binary, or a desktop app.

GsKnora main UI: knowledge bases and sessions on the left, Q&A on the right
GsKnora main UI: knowledge bases and sessions on the left, Q&A on the right

What sets GsKnora apart ​

  • French first: interface, assistant, prompts and documentation in French, English second.
  • Hosted in France: documents, indexes and conversations stay on your server; scans are read by Docling or Mistral OCR.
  • Guardrails: hijack detection, refused terms and personal data masking, logged or blocked (Guardrails).
  • Evaluations: reference question sets to check an agent's answers over time (Evaluations).
  • Costs and usage: tokens, estimated costs and answer times by model, agent and channel (Costs and usage).
  • Assistant, automations and permissions: an assistant acting with your rights, scheduled automations and approvals before any change.

See also what's new in GsKnora.

Use cases ​

NeedCapability
Mixed formats; hard-to-structure PDFs, scans, tablesDocument pipeline: PDF layout, OCR, Office conversion, web capture, image description; optional OpenDataLoader/Docling hybrid parsing
Unstable recall with vector search aloneHybrid vector + keyword (BM25), RRF fusion, rerank; optional knowledge graph (GraphRAG) and Wiki navigation
Locked to one model vendorModel abstraction: local Ollama plus many built-in providers (OpenAI-compatible, Anthropic Messages, native Gemini, etc.); LLM / Embedding / Rerank / VLM / ASR; see Model management
Data security and private deploymentFully self-hostable stack; sensitive credentials (API keys, etc.) encrypted at rest with AES-256 (SYSTEM_AES_KEY); multi-tenant isolation + RBAC
Multi-step tasks and toolsBuilt-in Agent (ReAct), MCP tools, Agent Skills in sandbox, web search (SearXNG, etc.), data analysis (SQL on CSV/Excel)
Team collaborationTenants (workspaces), member roles, organizations to share knowledge bases and agents across tenants, invitations

Core concepts ​

Knowledge bases hold source material; workspaces manage members and permissions; agents choose models and tools for answers. Terms below match the UI; full type definitions live in internal/types/.

Tenants and identity ​

ConceptDescription
TenantWorkspace: knowledge bases, models, agents, sessions, storage quota. See Workspace and permissions
UserLogin account; one user can join multiple workspaces
TenantMemberMembership in a workspace, with role and status
TenantRoleOwner, Admin, Contributor, Viewer — workspace permissions
API Key (TenantAPIKey)Programmatic access with scoped capabilities and optional knowledge-base limits; workspace vs platform keys managed separately
OrganizationLinks multiple workspaces; shares knowledge bases and agents by org role

Knowledge domain ​

ConceptDescription
KnowledgeBaseGroups related sources; models, chunking, and indexing. Types: document, FAQ, Wiki
KnowledgeOne file, web page, or hand-written entry in a base; parse status after ingestion
ChunkRetrieval unit after parsing: text, image OCR, tables, etc.
FAQStandard, similar, and counter-example questions with answers; see FAQ
WikiPageThematic page from documents, with citations and links; edit and version
Entity / RelationshipGraph entities and relations in Neo4j for associated retrieval
DataSourceContinuous sync from external sources: Feishu/Lark, Notion, Confluence, Yuque, DingTalk docs, Tencent IMA, GitLab, RSS; see Data sources
RetrievalConfigCandidate counts, thresholds, fusion weights, rerank; see Retrieval engines

Chat and agents ​

ConceptDescription
SessionMulti-turn Q&A with chosen agent, models, knowledge scope, and tools
MessageOne question or answer; images, attachments, citations, tool results
ModelLLM, embedding, rerank, vision, or speech connection; see Model management
CustomAgentTask-specific models, sources, and tools; quick Q&A or smart reasoning
Built-in agentsQuick Q&A, smart reasoning, data analysis, Wiki; see Agent engine
Skills and sandboxWorkspace skill catalog, install per sandbox config, bind to agents; Docker/Cube/E2B, personal vars; see Skills and sandbox
Long-term memoryPer-workspace and caller facts/preferences; off by default; see Long-term memory
MCPServiceExternal tools for agents; SSE and Streamable HTTP; optional API Key, Bearer, or OAuth 2.0

Relationship diagram ​

Feature list ​

  • Ingestion: upload (PDF/Office/Markdown/HTML/EPUB/XMind/images/audio…), URL fetch, Markdown entry, whole directories; scheduled sync from Feishu/Lark, Notion, Confluence, Yuque, DingTalk, IMA, GitLab, RSS.
  • Document understanding: layout analysis, scan OCR, tables, multimodal image captions (VLM), audio ASR, per-type parser engines (ParserEngineRules, MinerU / OpenDataLoader).
  • Indexing: configurable chunking (parent/child, adaptive), vector and full-text indexes, FAQ, Wiki generation, graph extraction, question generation.
  • Retrieval: vector + BM25 hybrid, RRF, rerank, query rewrite and expansion, intent routing (greeting, chitchat, web_search… — config/prompt_templates/intent_prompts.yaml).
  • Q&A and Agent: streaming SSE, context compression, citations; ReAct agent (tools: search_knowledge, read_document, list_documents, wiki_search, data_analysis, etc.), MCP, Agent Skills (Docker/Cube/E2B), web search.
  • Chat experience: follow-up while answering, branch or rollback from history (sandbox checkpoints), thinking intensity per session, cross-session “artifacts” page; see Chat experience.
  • Multi-tenant and security: RBAC (WEKNORA_TENANT_ENABLE_RBAC), audit logs (90 days default), registration modes (open, invite_register, invite_only / DISABLE_REGISTRATION=true), OIDC SSO, SSRF (SSRF_DNS_WHITELIST_ONLY), AES-256 field encryption. UI: Simplified/Traditional Chinese, English, Japanese, Korean, Russian.
  • Observability: Langfuse tracing, health checks, Swagger when GIN_MODE=debug.
  • Ecosystem: REST /api/v1 + API key, built-in MCP server per workspace (MCP), CLI, WeChat mini program, browser extension, local browser. Lite (macOS) runs agent commands in a local sandbox.

System components ​

ComponentStackSourceDefault portRole
app (backend)Go / Gincmd/server, internal/8080REST API, retrieval Q&A, Agent engine, async jobs (Asynq)
frontendVue 3 + Nginxfrontend/80Web console; Nginx proxies /api to app
docreaderPython / gRPCdocreader/50051 (container network only)Files to Markdown, web fetch, images
postgresParadeDB (PostgreSQL 17 + BM25/vector)paradedb/paradedb image5432Primary DB + default hybrid retrieval (RETRIEVE_DRIVER=postgres)
redisRedis 7—6379Stream management (SSE resume), Asynq queue
sandboxPython 3.12 + Node 20docker/Dockerfile.sandbox—Agent Skills session sandbox image
Optional: qdrant / milvus / weaviate / doris—docker-compose.yml profiles6334 / 19530 / 9035 / 9030Alternative or additional vector engines (RETRIEVE_DRIVER)
Optional: opensearch—docker-compose.dev.yml only9200Dev; production needs your own cluster
Optional: elasticsearch / tencent_vectordb—Not in compose—Supported in code; deploy and set RETRIEVE_DRIVER
Optional: neo4jNeo4jprofile neo4j7474 / 7687Knowledge graph (GraphRAG)
Optional: minioMinIOprofile minio9000 / 9001S3-compatible object storage (STORAGE_TYPE=minio)
Optional: searxngSearXNGprofile searxng8888Self-hosted web search
Optional: langfuse stackLangfuse 3 + ClickHouse + MinIOprofile langfuse3000LLM observability
Optional: mcp (deprecated)Pythonmcp-server/, profile full8082Legacy standalone MCP; new installs use app built-in MCP endpoints
Optional: odl-hybridDoclingprofile odl-hybrid5002OpenDataLoader PDF hybrid backend

Next steps ​

  • Installation: choose a deployment mode and start services.
  • Quick start: create a knowledge base, upload documents, first Q&A.
  • Configuration: deployment parameters and configuration priority.