RAGFlow Skill
Manage everyday RAGFlow datasets, retrieval, chat, and agents.
Lunar Cache
@lunarcache
Install
$ openclaw skills install @lunarcache/skill-for-ragflowRAGFlow Skill
Operate common RAGFlow v0.26.4 workflows through node {baseDir}/scripts/ragflow.js <command> [options]. Prefer --json when parsing or chaining results. Prioritize daily operations over exhaustive API coverage.
Requirements
- Set
RAGFLOW_URLandRAGFLOW_API_KEYin the environment or this skill's.env. - Use Node.js to run bundled scripts.
- Run
system-health --jsonafter first-time setup to verify service reachability and dependencies. Uselist-datasets --page-size 1 --jsonto verify API-key authentication.
Security Notes
- Use HTTPS in production. Production deployments should use
https://forRAGFLOW_URLto protect the API key in transit. Local development (http://localhost) is acceptable for testing. - Use a dedicated, rotatable API key for automation. RAGFlow v0.26.4 API keys are tenant-scoped rather than permission-scoped.
- Protect your API key. Never share
RAGFLOW_API_KEYin chat messages or commit it to version control. Use environment variables or the skill's.envfile.
Quick Command Reference
| Scenario | Commands |
|---|---|
| Knowledge base setup | create-dataset, list-datasets, get-dataset, update-dataset, delete-datasets |
| Document ingestion | upload-documents, ingest-documents, list-documents, get-document, update-document, delete-documents, download-document, preview-document, metadata-summary, update-metadata |
| Parsing & chunking | start-parsing, stop-parsing, wait-parsing, list-chunks, get-chunk, add-chunk, update-chunk, delete-chunks, get-document-graph, delete-document-graph |
| Direct retrieval | retrieve |
| Chat assistant | create-chat, list-chats, get-chat, update-chat, patch-chat, delete-chats |
| Chat sessions | create-session, list-sessions, get-session, update-session, delete-sessions, chat, chat-session |
| Agent | create-agent, list-agents, get-agent, update-agent, delete-agents |
| Agent Tags | list-agent-tags, update-agent-tags |
| Agent sessions | create-agent-session, list-agent-sessions, delete-agent-sessions, agent-chat |
| Connector | list-connectors, create-connector, get-connector, update-connector, delete-connector |
| RAPTOR | run-raptor, trace-raptor |
| GraphRAG | get-knowledge-graph, delete-knowledge-graph, run-graphrag, trace-graphrag |
| Embedded website access | list-system-tokens, create-system-token, delete-system-token, embed-code, embed-info, embed-chat, embed-agent-chat |
| Model discovery | list-models, list-added-models, list-default-models, set-default-model |
| Model providers | list-providers, get-provider, add-provider, delete-provider, list-provider-models, list-provider-instances, get-provider-instance, create-provider-instance, delete-provider-instances, verify-provider, list-instance-models, add-instance-model, set-model-status |
| System | system-version, system-health, get-log-levels, set-log-level |
Common Workflows
Full RAG pipeline (upload -> parse -> retrieve)
create-dataset --name "My KB" --chunk-method naiveupload-documents --dataset <id> --files ./doc1.pdf ./doc2.txtstart-parsing --dataset <id> --doc-ids <doc_id1> <doc_id2>wait-parsing --dataset <id> --doc-ids <doc_id1> <doc_id2>retrieve --question "What is X?" --datasets <id>
Chat assistant with sessions
create-chat --name "Q&A" --datasets <id> --llm-id qwen-turbo@Tongyi-Qianwencreate-session --chat <chat_id>chat-session --chat <chat_id> --session <session_id> --question "Hello"
Agent workflow
create-agent --title "Assistant" --dsl @agent_dsl.jsoncreate-agent-session --agent <agent_id>agent-chat --agent <agent_id> --session <session_id> --question "Hello"
agent-chat streams by default. Use --stream false for one final JSON response.
Agent tags workflow
list-agent-tags --agent <agent_id>update-agent-tags --agent <agent_id> --tags "Tag1,Tag2"
Connector workflow
create-connector --dataset <id> --config @connector.jsonlist-connectors --dataset <id>get-connector --id <id>
Model provider workflow (v0.26.4)
list-providers --availableto see configurable providersadd-provider --name <provider>- Set
RAGFLOW_PROVIDER_API_KEY, then runcreate-provider-instance --name <provider> --instance <name>(credentials live on an instance; a provider can have several) add-instance-model --name <provider> --instance <name> --model-name <model> --model-type chatset-default-model --model-type chat --model-provider <provider> --model-instance <name> --model-name <model>
Use verify-provider --name <provider> with RAGFLOW_PROVIDER_API_KEY set, or pass --api-key-file <path>, to test a key without persisting an instance.
RAPTOR workflow
run-raptor --dataset <id>trace-raptor --dataset <id>
GraphRAG workflow
run-graphrag --dataset <id>trace-graphrag --dataset <id>get-knowledge-graph --dataset <id>
Embedded website access
embed-code --chat <chat_id> --type fullscreenorembed-code --agent <agent_id> --type widgetembed-info --chat <chat_id>orembed-info --agent <agent_id>embed-chat --chat <chat_id> --question "Hello"orembed-agent-chat --agent <agent_id> --question "Hello"
embed-chat automatically creates the embedded chatbot session when --session is omitted. RAGFlow's shared-site route only creates a session and returns the prologue on the first no-session request, so the CLI bootstraps session_id first and then sends the real question.
Workflow Decision Guide
The first step in any RAGFlow operation is resolving the target resource ID. After that, choose the right path:
- Authoring or debugging a custom agent DSL? -> Read references/AGENT_GUIDE.md - it is a self-contained guide to the current RAGFlow agent DSL schema and includes minimal examples.
- Need CLI syntax or option details? -> Read references/COMMANDS.md - it's organized by workflow scenario with full option tables.
- Editing client code or checking request/response shapes? -> Read references/API.md - it has examples for supported
RagflowClientworkflows. - A command failed? -> Read references/TROUBLESHOOTING.md - common errors with causes and fixes.
- Formatting output for the user? -> Read references/REFERENCE.md - consistent response templates and status labels.
Key Constraints
- Confirm destructive scope. Confirm the exact target before any
delete-*command or beforeupdate-metadatadeletes metadata or selects every document. Skip confirmation only when removing temporary resources created in the same requested workflow. - Choose the ingestion path first. For built-in chunking, upload documents, adjust their parser configuration when needed, then run
start-parsing. For ingestion-pipeline datasets, useingest-documentsinstead. - Preserve source filenames. When an attachment is stored under a temporary or task-generated path, upload it as
--files <original-name>=<path>so RAGFlow retains the user-facing name. - Resolve complete, stable inputs. Discover resource IDs with the corresponding
list-*orget-*command, and paginate beyond RAGFlow's 100-item list limit. Use<model>@<provider>identifiers fromlist-modelsfor--embedding-modeland--llm-id; treat numeric model row IDs as display data only. - Preserve session-history intent. Let
chat-sessionappend the latest user message by default. Use--pass-all-historyonly when replacing stored history, and use--legacyonly for a caller that requires cumulative legacy streaming. - Protect operational secrets. Keep
RAGFLOW_API_KEY, provider keys, system tokens, beta values, and embed URLs containingauth=out of user-facing output. Supply provider credentials throughRAGFLOW_PROVIDER_API_KEYor--api-key-file; reveal secret material only when the user explicitly requests copy-paste output. - Use the correct public embed origin. Pass
--originwhen the browser-facing RAGFlow URL differs fromRAGFLOW_URL. Let the CLI reuse or create a beta token and bootstrap the embedded chat session. - Start Agent DSL work from the guide. Read references/AGENT_GUIDE.md before authoring or debugging agents, and adapt its minimal examples instead of reconstructing the canvas schema from memory.
Output Format
Use raw --json internally, then summarize the operational result. Preserve the server's parsing labels (UNSTART, RUNNING, CANCEL, DONE, FAIL) and similarity scores. Redact API keys, system tokens, beta values, and auth= query values unless the user explicitly requests copy-paste secret material. Read references/REFERENCE.md only when a result needs a domain-specific response template.
Top skills in this category
Marketing Mode
@thesethroseMarketing Mode combines 23 comprehensive marketing skills covering strategy, psychology, content, SEO, conversion optimization, and paid growth. Use when users need marketing strategy, copywriting, SEO help, conversion optimization, paid advertising, or any marketing tactic.
Marketing Skills
@jchopard69Access 23 marketing modules offering checklists, frameworks, and ready-to-use deliverables for CRO, SEO, copywriting, analytics, launches, ads, and social me...
Prompt Guard
@seojoonkim650+ pattern AI agent security defense covering prompt injection, supply chain injection, memory poisoning, action gate bypass, unicode steganography, cascad...
Computer Use
@ram-raghav-sFull desktop computer use for headless Linux servers. Xvfb + XFCE virtual desktop with xdotool automation. 17 actions (click, type, scroll, screenshot, drag,...
YouTube Transcript
@xthezealotFetch and summarize YouTube video transcripts. Use when asked to summarize, transcribe, or extract content from YouTube videos. Handles transcript fetching via residential IP proxy to bypass YouTube's cloud IP blocks.