乐于分享
好东西不私藏

OpenClaw 接入本地 RAGFlow 杜绝瞎编乱造

OpenClaw 接入本地 RAGFlow 杜绝瞎编乱造

资深运维对外提供:系统架构优化、故障应急响应、自动化运维、云平台迁移等技术服务。欢迎文末留言或私信「合作」!


将 OpenClaw 接入本地的 RAGFlow,核心优势在于构建一个数据完全私有、回答精准可靠、且能力可无限扩展的企业级智能体。这不仅是简单的工具组合,更是实现高级AI应用的关键一步。

🧠 为什么要用 RAG?

告别“幻觉”与编造

   普通大模型依赖训练数据中的知识,容易在回答专业或最新问题时“一本正经地胡说八道”,即产生“幻觉”。RAG通过先从你的私有数据(如PDF、Word、数据库)中检索相关信息,再让大模型基于这些真实材料生成答案,从根本上杜绝了瞎编乱造,确保回答的准确性。

利用私有知识,打造专属AI

大模型的训练数据是公开的,并不了解你公司的内部流程、产品手册或个人笔记。RAG技术可以将这些私有文档进行向量化处理并存入本地知识库。当用户提问时,AI能先“查阅”这些专属资料,从而提供高度定制化和情境化的回答,让AI真正成为懂你业务的助手。

前置环境:

     OpenClaw 2026.3.28

RAGFlow v0.24.0

     Windows 11

第一步:从 RAGFlow 获取EKY与知识库ID,添加内容

获取KEY:在RAGFlow页面的用户中心->API中添加新的KEY

添加知识库并上传文件,获取知识库ID(kb_id

在 OpenClaw 对话中输入或新建一个 RAGFlow_All_in_One_Guide.md 文件内容如下

# RAGFlow 全集成指南本指南包含所有必需内容,只需按步骤操作即可让 OpenClaw 在每个新会话中自动调用 RAGFlow 知识库。## 第一步:创建配置文件 `RAG_CONFIG.json`在你的 OpenClaw 工作区根目录下,创建文件 `RAG_CONFIG.json`。请将下方模板中的占位符替换为你自己的 RAGFlow 服务信息:```json{  "server""<YOUR_RAGFLOW_SERVER_URL>",  "apiToken""<YOUR_API_TOKEN>",  "kbId""<YOUR_KNOWLEDGE_BASE_ID>",  "searchScript""tools/rag_search.ps1",  "endpoint""/v1/chunk/retrieval_test"}```**你需要从你的 RAGFlow 实例中获取以下信息**:- `<YOUR_RAGFLOW_SERVER_URL>`: 你的 RAGFlow 服务器地址 (例如: `http://192.168.9.65`)- `<YOUR_API_TOKEN>`: 你的 API 访问令牌  - `<YOUR_KNOWLEDGE_BASE_ID>`: 你要查询的知识库 ID> **提示**:在配置时,请准备好以下三个关键信息:1. **API 服务器地址** - RAGFlow 服务的完整 URL2. **API KEY** - 用于身份验证的访问令牌  3. **知识库ID** - 你想要查询的具体知识库的唯一标识符> 这些信息通常可以在 RAGFlow 的管理界面或 API 文档中找到。## 第二步:创建检索脚本 `tools/rag_search.ps1`在你的 OpenClaw 工作区根目录下,创建目录 `tools`(如果不存在),并在其中创建文件 `rag_search.ps1`,内容如下:**注意**: 此脚本需在支持 PowerShell 的 Windows 或类 Unix 系统上运行。```powershellparam( [Parameter(Mandatory=$true)] [string]$Query)# Get script directory and config file path$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Definition$configPath = Join-Path (Join-Path $scriptDir "..""RAG_CONFIG.json"# Read configurationif (!(Test-Path $configPath)) { Write-Error "Config file not found: $configPath" exit 1}$config = Get-Content $configPath | ConvertFrom-Json# Build request URL$baseUrl = $config.server.TrimEnd('/')$endpoint = $config.endpoint$url = "$baseUrl$endpoint"# Build request body$requestBody = @{ kb_id = $config.kbId question = $Query size = 5}$requestBodyJson = $requestBody | ConvertTo-Json# Use .NET native HTTP clienttry { $request = [System.Net.HttpWebRequest]::Create($url) $request.Method = "POST" $request.ContentType = "application/json" $request.Headers.Add("Authorization""Bearer $($config.apiToken)") # Set UTF-8 encoding $encoding = [System.Text.Encoding]::UTF8 $bytes = $encoding.GetBytes($requestBodyJson) $request.ContentLength = $bytes.Length # Write request body $requestStream = $request.GetRequestStream() $requestStream.Write($bytes0$bytes.Length) $requestStream.Close() # Get response $response = $request.GetResponse() $responseStream = $response.GetResponseStream() $reader = New-Object System.IO.StreamReader($responseStream$encoding) $responseBody = $reader.ReadToEnd() $reader.Close() $responseStream.Close() $response.Close() # Parse and output JSON $result = $responseBody | ConvertFrom-Json if ($result.code -eq 0) { if ($result.data.chunks.Count -gt 0) { $result.data.chunks | ConvertTo-Json -Depth 10 } else { Write-Output "[]" } } else { Write-Error "RAGFlow API error: $($result.message)" exit 1 }catch { Write-Error "RAGFlow API call failed: $($_.Exception.Message)" exit 1}```## 第三步:修改 `USER.md` 文件打开你工作区的 `USER.md` 文件,并将以下两个部分粘贴到文件末尾(或替换已有相关部分):### RAGFlow 检索规则```markdown## RAGFlow 检索规则**强制执行以下检索顺序(每次回答用户问题时都必须执行):**1. 首先检查本地记忆(MEMORY.md 和 memory/YYYY-MM-DD.md)2. 如果本地记忆无结果,必须立即调用 RAGFlow 知识库(通过 tools/rag_search.ps1 脚本)3. 仅当 RAGFlow 也无结果时,才进行网络搜索**严禁跳过 RAGFlow 直接进行网络搜索。****必须在每次响应中明确说明已检查 RAGFlow(即使无结果)。**```### 会话初始化和自动集成```markdown## 会话初始化和自动集成- 每次新会话启动时,必须检查 RAG_CONFIG.json 是否存在- **每次处理用户问题时,如果涉及事实查询,必须自动调用 RAGFlow 脚本**- 不依赖环境变量,直接执行脚本- **这是强制要求,不是可选项**```完成以上三步后,每个新会话都将遵循此协议,优先从 RAGFlow 知识库获取信息。

发送获取到的 RAGFlow 的KEY与IP,知识库ID

服务器:http://192.168.9.65KEY: ragflow-WDiu9XxXXZvmBrTlcshg-mTWF1Kk3c6qlN4nCYxDXYg 知识库ID:6e6749962bfe11f198ec7d8381e5f743

询问RAG知识库里的内容进行测试

此时可以看到从RAG库中获取到内容则成功


小红书自动化

OpenClaw接入小红书MCP实现自动化操作

一个人的运营团队:OpenClaw+CDP自动化采集小红书爆款文案,起号新捷径可应用于所有行业

QQ机器人

QQ 机器人固定IP解决方案-Nginx

OpenClaw 接入 QQ 教程通用

OpenClaw 接入QQ机器人教程

浏览器

OpenClaw 接入远程浏览器(CDP)

Linux版 OpenClaw 接入Google-chrome

Windows OpenClaw 接入本地浏览器

小龙虾安装与配置

OpenClaw 接入本地 Ollama 的大模型

OpenClaw 初始化配置讲解教程

OpenMediaVault使用docker部署openclaw(小龙虾)

Windows 11安装 OpenClaw 中文版

Ubuntu 安装 OpenClaw 完整教程


20年大型系统运维经验,提供企业级运维外包、技术顾问与应急支持服务

运维博客:www.lhl.zone

官网:www.cqhlwl.com

欢迎各位看官留言讨论,如还需要其他内容欢迎各位留言