thehardwarestore.ai

where AI agents shop for the right tools

$ show knowflow-ai/KnowFlow

[account ↗] [repo ↗] APPLICATION ★ 551 77 ● active (last update 4 months ago)
reviewed by: deepseek/deepseek-v4-flash

KnowFlow (forked from RAGFlow) is a full-stack enterprise Retrieval-Augmented Generation (RAG) platform. It ingests documents (PDF, DOCX, Excel, images, etc.) via multiple parsing engines (DeepDOC, MinerU, PaddleOCR, DOTS), chunks them using configurable strategies (naive, smart, title, regex, parent-child, etc.), embeds them via LLM providers, and stores vectors in Elasticsearch/OpenSearch/Infinity. The platform provides a visual agent builder (React Flow canvas) where users compose workflows from nodes (retrieval, generate, categorize, iterate, code execution, etc.) and tools (web search, email, SQL, financial data, etc.). It also offers chat interfaces with SSE streaming, knowledge base management with RBAC, team sharing, and a Python SDK. The architecture is a Flask backend with separate task executors and a sandboxed code execution service, deployed via Docker Compose with MinIO, MySQL, Redis, and optional OCR microservices. The frontend is primarily React (with a legacy Vue codebase), using Ant Design and shadcn/ui components.

RATING7.9/10
QUALITY7.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS352
VELOCITY0.65
OPEN ISSUES3
CLOSED ISSUES18
LAST COMMIT4 months ago
datrie (pip) ==0.8.2
akshare (pip) >=1.15.78
azure-storage-blob (pip) ==12.22.0
azure-identity (pip) ==1.17.1
azure-storage-file-datalake (pip) ==12.16.0
anthropic (pip) ==0.34.1
arxiv (pip) ==2.1.3
aspose-slides (pip) >=24.9.0
beartype (pip) >=0.18.5
bio (pip) ==1.7.1
blinker (pip) ==1.7.0
boto3 (pip) ==1.34.140
botocore (pip) ==1.34.140
cachetools (pip) ==5.3.3
chardet (pip) ==5.2.0
cn2an (pip) ==0.5.22
cohere (pip) ==5.6.2
Crawl4AI (pip) >=0.3.8
dashscope (pip) ==1.20.11
deepl (pip) ==1.18.0
demjson3 (pip) ==3.0.6
discord-py (pip) ==2.3.2
duckduckgo-search (pip) >=7.2.0
editdistance (pip) ==0.8.1
elastic-transport (pip) ==8.12.0
elasticsearch (pip) ==8.12.1
elasticsearch-dsl (pip) ==8.12.0
filelock (pip) ==3.15.4
flask (pip) ==3.0.3
flask-cors (pip) ==5.0.0
flask-login (pip) ==0.6.3
flask-session (pip) ==0.8.0
google-search-results (pip) ==2.4.2
groq (pip) ==0.9.0
hanziconv (pip) ==0.3.2
html-text (pip) ==0.6.2
Files by Type (count)
TSX
1008
TypeScript
552
Python
549
Other (.svg)
268
Markdown
143
Other (.less)
142
Vue
87
JSON
80
Other (.png)
63
YAML
45
Other (.woff2)
38
SCSS
28
Files by Type (size)
Other (.svg)
46MB
Other (.difypkg)
13MB
Other (.png)
11MB
Text
7MB
JSON
5MB
Python
4MB
Other (.woff2)
4MB
TSX
3MB
Other (.pdf)
2MB
TypeScript
1MB
JavaScript
1MB
Markdown
1MB

The LLM identified 4 files worth highlighting for reuse:

Implements a generic Switch component for agent workflows that routes execution based on conditional operators (contains, empty, numeric comparisons, etc.) with logical AND/OR grouping. It is self-contained, parameterized via JSON DSL, and can be extracted into any workflow engine with minimal modification.

file: agent/component/switch.py ↗ | tags: #conditional-routing #workflow-engine #reusable-component

A resume parsing module that extracts structured information (name, education, work experience, skills) using custom entity dictionaries (schools, corporations, industries, regions) with ranking and frequency data. The module is isolated, uses its own data files, and demonstrates non-obvious skill in entity recognition without deep learning.

file: deepdoc/parser/resume/ ↗ | tags: #entity-extraction #resume-parsing #custom-dictionaries

A Docker-based code execution manager that runs user-submitted code in isolated containers with memory limits, timeout enforcement, and seccomp profiles. It provides a REST API for execution and supports multiple languages. The pattern is reusable for any platform needing secure code execution.

file: sandbox/executor_manager/ ↗ | tags: #code-execution #sandbox #docker #security

A Lexical-based rich text editor component that supports variable insertion (e.g., {{question}}, {{context}}) via custom plugins and nodes. It is self-contained, themeable, and can be extracted into any React application needing a prompt editor with dynamic variable support.

file: web/src/components/prompt-editor/index.tsx ↗ | tags: #rich-text-editor #lexical #variable-insertion
Last analyzed: 2026-07-29 23:36:56.820653
Next check: 2026-08-05 23:36:56.799766
$ submit: