Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

InfiniFlow’s open source RAG engine with agent features. You load documents into datasets, RAGFlow reads their layout, text and tables, and a chat answers with citations. The notes cover Docker, a source build, local models, MCP and the API.
RAGFlow is an open-source project on GitHub in the Developer category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.
sudo sysctl -w vm.max_map_count=262144 git clone https://github.com/infiniflow/ragflow.git cd ragflow/docker
RAGFlow is an open source Retrieval-Augmented Generation engine from InfiniFlow. Its README says it joins RAG with Agent capabilities to give a language model a context layer. You upload files into a dataset, and RAGFlow cuts them into chunks. A chat then answers from those chunks and cites them. The chunks are visible, so you can read them, add keywords and fix them by hand. A model you choose writes the answers. This listing covers running RAGFlow yourself.
Developers and teams who want a self-hosted place where documents become a searchable knowledge base with cited answers, and who can run Docker on a Linux server. A product team can call it from its own app through the HTTP API, the Python SDK or MCP. Someone who wants to ask one PDF a question once a month will find it heavy.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Software and support | Developers and support engineers | Load manuals and product documents, then answer questions with citations | A support engineer loads the product manuals and opens the cited chunk behind each answer. |
| Legal, finance and operations | Analysts and back-office teams | Parse PDFs, spreadsheets and scanned copies, then check each answer against its source | An analyst loads scanned contracts and an Excel sheet, and reads the cited chunk beside each answer. |
| AI app building | Developers | Call retrieval from their own app, or let an MCP client call it | A developer calls ragflow_retrieval from an MCP client and hands the chunks to their own model. |
| Knowledge work | Researchers and wiki owners | Use Knowledge Compilation to turn a dataset into a Wiki, a Mind Map or a Timeline | A team compiles one dataset into a Mind Map to see how its documents connect. |
Skip self-hosting it if you work on macOS only: the Docker guide says macOS is temporarily not supported by the Go backend. The README also links InfiniFlow’s cloud service at cloud.ragflow.io.
RAGFlow runs where you put it, and the docs name these routes.
The quickstart names these supported formats, among others. The dataset configuration page also parses audio (WAV, MP3, AAC, FLAC, OGG) through an ASR model, email (EML, MSG) and HTML.
| Kind | Formats |
|---|---|
| Documents | PDF, DOC, DOCX, TXT, MD, MDX |
| Tables | CSV, XLSX, XLS |
| Images | JPEG, JPG, PNG, TIF, GIF |
| Slides | PPT, PPTX |
Get it saves a zip of Mindket’s setup notes in your downloads folder, with a file for each route and for models. The main route is Docker Compose on a Linux host.
| Need | Detail |
|---|---|
| A Linux host | Docker images exist for x86-64 and ARM64 starting with v1.0.0-rc3. The docs say macOS is not supported for now |
| Docker | Docker 24.0.0 or newer, Docker Compose v2.26.1 or newer, and BuildKit |
| A machine | A recommended start of 4 CPU cores, 16 GB of RAM and 50 GB of free disk. The README says the real need depends on the document engine, the data and the workload |
| vm.max_map_count | At least 262144 on the Docker host for the default Elasticsearch engine. The README says this is usually unnecessary with Infinity |
| Models | An LLM and an embedding model, online or local. The Docker image holds no embedding model |
sudo sysctl -w vm.max_map_count=262144 git clone https://github.com/infiniflow/ragflow.git cd ragflow/docker git checkout v1.0.0-rc3
After you change the passwords in docker/.env, start the stack.
docker compose -f docker-compose.yml up -d
docker ps curl -f http://localhost/api/v1/system/healthz
The README and the quickstart name v1.0.0-rc3 as the tag. To deploy another version, take a tag from the Releases page and make sure RAGFLOW_IMAGE in docker/.env uses the matching image tag. An HTTP 200 from the health check means RAGFlow is ready. With the default HTTP port 80 you open the address with no port number.
The quickstart takes you through four things, in this order.
Open a parsed file to read its chunks. Hover over a chunk for a quick view, and double click its text to add keywords or edit it. In Retrieval testing, ask a quick question in Test text to check that your configuration works. In the chat window, choose Naive for plain factual questions or Agentic for questions that need several retrieval steps. The chat configuration page says Agentic can take longer than Naive.
You have a folder of product manuals as PDFs. You make a dataset called manuals with the General parse mode and upload the files with Parse on creation on. After parsing, you open one file and read how it was cut into chunks. In Chat, you make a chat, pick manuals and ask a question that one manual answers. The answer shows citations, and you open the chunk each one points to to check it. Your own code can ask the same corpus through MCP. The docs’ sample call looks like this:
curl -sS http://127.0.0.1:9380/api/v1/mcp \
-H 'Authorization: Bearer <RAGFLOW_API_KEY>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"ragflow_retrieval","arguments":{"question":"How do I install Neovim?"}}}'The reply holds the matching chunks as JSON. You make the key under your avatar, then API.
If you are new. RAG means a model answers from passages found in your own files, not only from what it learned in training. RAGFlow does the finding. It cuts each file into chunks, stores them, and for each question returns the best matches, scored by meaning and by shared words. A dataset is a collection of documents, and a chat can draw on one or several. Choose the embedding model before you parse anything. Start with a few files and the General parse mode, and read the chunks before you trust the answers.
For experts. The docs describe the Go implementation, which the Docker guide says release tags from v1.0.0-rc1 use. One binary, ragflow_server, runs as the API, Admin, Ingestor or Syncer, and --migrate runs the database migrations and exits. DeepDoc layout analysis, OCR and table recognition run inside the server on ONNX Runtime, and the 1.0 release uses CPU inference for them.
The default profile uses Elasticsearch for documents, MySQL for metadata, MinIO for files, Kvrocks as the cache, NATS JetStream for messages and ClickHouse. DOC_ENGINE in docker/.env picks another document engine, and DB_TYPE=oceanbase picks OceanBase for metadata.
Retrieval mixes vector and term similarity. The SDK’s defaults are a similarity threshold of 0.2, a vector weight of 0.3 and top_k 1024. Over MCP, page times page_size must stay inside a fixed window of 512 rerank candidates. Once a dataset holds chunks, a different embedding model must pass a check: the vector dimensions match and the average cosine similarity is at least 0.9. Saving it does not re-embed the old chunks.
MCP works in two ways. POST /api/v1/mcp on the API port 9380 takes each client’s own key and offers three tools: ragflow_retrieval, ragflow_list_datasets and ragflow_list_chats. An optional listener on 127.0.0.1:9382 runs in host mode, where each client authenticates itself, or in self-host mode, where one configured key serves every client.
RAGFlow runs on your own server, and a few details are worth reading first.
This kit holds setup notes only. Mindket wrote them. RAGFlow itself, its Docker images and its documentation come from InfiniFlow's repository: https://github.com/infiniflow/ragflow
These notes are not made or endorsed by InfiniFlow. The README describes RAGFlow as an open-source RAG engine "that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs." The documentation starts at https://ragflow.io/docs/dev/
The notes come from the README and the documentation pages named in each file. They were not checked against the source code. The documentation describes the Go implementation of RAGFlow, which the Docker guide says the release tags from v1.0.0-rc1 onward use.
Apache-2.0. The LICENSE file (https://github.com/infiniflow/ragflow/blob/HEAD/LICENSE) is the standard Apache License 2.0 text. Its appendix still reads "Copyright [yyyy] [name of copyright owner]", so the file names no holder.
RAGFlow is a server with a web interface, an HTTP API and a Python SDK. You can run it yourself, or use InfiniFlow's cloud service at https://cloud.ragflow.io, which the README links. The documentation gives these ways to run it and to reach it:
v1.0.0-rc3, and that macOS is temporarily not supported by the Go backend. Sources: https://github.com/infiniflow/ragflow/blob/HEAD/docs/quickstart.mdx and https://github.com/infiniflow/ragflow/blob/HEAD/docker/README.mdThe README gives these steps for the Docker route. Run them on a Linux host. Between the checkout and the last command, change the default passwords. The full steps, with the check that the service is up, are in setup/docker-compose.md.
For the default Elasticsearch engine, set vm.max_map_count on the Docker host to at least 262144 (the README says this is usually unnecessary with Infinity):
sudo sysctl -w vm.max_map_count=262144
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
git checkout v1.0.0-rc3
The Docker guide says ADMIN_DEFAULT_PASSWORD in docker/.env is admin as checked in, and that Docker publishes the Admin port 9381 on the host by default. It says to replace the password before first startup if other hosts can reach the Admin service, and to restrict that port to trusted administrators. The quickstart says to change the default passwords before deploying to a network-accessible host. Sources: https://github.com/infiniflow/ragflow/blob/HEAD/docker/README.md and https://github.com/infiniflow/ragflow/blob/HEAD/docs/quickstart.mdx
docker compose -f docker-compose.yml up -d
Source: https://github.com/infiniflow/ragflow/blob/HEAD/README.md
The README and the quickstart name v1.0.0-rc3 as the tag. The quickstart says to replace it with a tag from the Releases page (https://github.com/infiniflow/ragflow/releases) to deploy another version, and to make sure RAGFLOW_IMAGE in docker/.env uses the matching image tag.
To deploy another version, the quickstart says to check out another release tag and keep RAGFLOW_IMAGE in docker/.env on the matching image tag. The pages these notes use give no uninstall steps. The README says to follow the Docker guide for "retaining or removing existing data", but the Docker guide gives no such steps. Its HTTPS steps restart the services with docker compose -f docker-compose.yml down and then docker compose -f docker-compose.yml up -d.
README.md 6 KB setup/build-docker-image.md 3 KB setup/docker-compose.md 6 KB setup/from-source.md 7 KB setup/http-api-and-python-sdk.md 7 KB setup/mcp-server.md 7 KB setup/model-providers.md 6 KB
Updated by Mindket to the current version of this kit.
Listed GitHub projects in the same category that share the most topics with this one.
| Product | Stars | Activity | Language | License | Last change |
|---|---|---|---|---|---|
| RAGFlow This page | 93,698 | — | — | Apache-2.0 | — |
| DifyShares agentic-ai · ai | 160,579 | — | — | — | — |
| CopilotKitShares agentic-ai · ai | 38,557 | Active | TypeScript | MIT | |
| RufloShares agentic-ai · ai-agents | 81,187 | — | — | MIT | — |
| Hermes AgentShares ai · ai-agents | 261,224 | — | — | MIT | — |
| Claude-Mem by thedotmackShares ai · ai-agents | 116,866 | Active | TypeScript | Apache-2.0 |
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
NousResearch · Kit
Nous Research’s open source agent that you run in a terminal, in a desktop app or from a chat app. It keeps memory, writes skills from experience, runs schedul…
langgenius · Kit
LangGenius’s open-source platform for building LLM apps: visual workflows, RAG, model management and agents with a sandbox. Its difyctl tool and skill let Clau…
thedotmack · Kit
Alex Newman’s memory plugin for Claude Code and other coding agents. It records what the agent does in each session, turns that into short searchable notes and…