name: ragflow
description: "Work with RAGFlow, a full-stack Retrieval-Augmented Generation
engine with deployment, backend APIs, SDK/HTTP integration,
ingestion/retrieval, document parsing, agent workflows, and frontend
integration."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
RAGFlow
Use this repo skill when a task is about RAGFlow's source code, deployment, public API, Python SDK, document ingestion, retrieval, DeepDoc parsing, agent canvas/tooling, MCP/memory, or web frontend integration.
Route by Task
| User task | Read |
|---|
Start RAGFlow with Docker/source/Helm, change .env or service_conf.yaml, switch document engines, debug MySQL/Redis/MinIO/document-engine startup | deployment-configuration |
| Add/debug Quart routes, RESTful versus legacy prefixes, auth/session/API-token behavior, Peewee service logic, system endpoints, chat channels | backend-api-services |
| Call RAGFlow from HTTP, Python SDK, OpenAI-compatible clients, streaming chat, retrieval endpoint, API keys, or client examples | sdk-http-integration |
| Work on datasets, documents, chunks, parser_config, task executors, retrieval search, metadata filters, RAPTOR, GraphRAG | dataset-ingestion-retrieval |
| Change DeepDoc parsers, PDF OCR/layout/table behavior, parser backend choices, parser_config parsing options, file-type routing | document-parsing |
| Work on agent canvas DSL, components, templates, tools, memory, MCP retrieval, sandbox/code execution, webhooks, debug traces | agent-workflows |
| Wire or debug React/Vite routes, API constants, services, hooks, React Query cache, dataset/chat/agent UI integration, frontend tests | frontend-integration |
First Checks
- Identify whether the user is deploying/using RAGFlow or modifying a checkout; deployment and SDK tasks often need no source-code changes.
- For code changes, route to the focused sub-skill first, then use sibling cross-links when a workflow spans backend, ingestion, SDK, and frontend.
- Keep the process model in mind: the API server and task executors are separate Python process types; a healthy UI does not prove document parsing workers are healthy.
- Prefer
/api/v1 for newer public REST APIs and reserve /v1 for legacy route families that still exist.
- Treat document parsing, parser_config, and retrieval as a chain: file type and parser options affect chunks, embeddings, metadata, retrieval weights, and citation/reference outputs.
Common Entry Points
Cross-Cutting Notes
- RAGFlow 0.26.1 requires Python
>=3.13,<3.14 for the main Python project; the standalone Python SDK is published separately as ragflow-sdk.
- The backend uses Quart and Peewee; do not assume Flask synchronous handlers or SQLAlchemy models.
- The frontend uses React/Vite, React Query, service wrappers, and two API prefix families: newer
/api/v1 and legacy /v1.
- DeepDoc parser imports and OCR/layout backends have optional dependencies; missing parser packages should be handled as parser-backend issues, not generic API failures.
- Source-level inspection found a packaging caveat: a plain editable install can fail if package metadata expects a top-level
graphrag package while GraphRAG code is under rag/graphrag. Use repo-supported uv setup or source inspection until packaging is fixed.
References
- Repo provenance records the source state and evidence paths used to create this skill.
- Routing metadata is consumed by
repo-skills-router during import.
- Troubleshooting summarizes cross-cutting failure routes and points to the nearest sub-skill.