Install
openclaw skills install @thcjp/local-rag-tool-freeopenclaw skills install @thcjp/local-rag-tool-free本地文件检索是针对RAG检索领域的专业化AI辅助工具。免费版面向个人用户,提供核心功能与基础用法,适合快速上手和日常使用。
本工具经过深度优化,增强元数据和适用关键词,完全适配SkillHub平台规范。
文档索引、语义搜索、上下文注入、分块策略、向量存储、检索增强生成
执行核心能力操作,使用input_params参数进行配置,支持创建/查询/导出等操作。
input_params参数,支持创建/查询/导出操作基础功能完整覆盖
输入: 用户提供基础功能完整覆盖所需的指令和必要参数。 处理: 解析基础功能完整覆盖的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回基础功能完整覆盖的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作简洁易用的操作接口
输入: 用户提供简洁易用的操作接口所需的指令和必要参数。 处理: 解析简洁易用的操作接口的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回简洁易用的操作接口的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作标准格式输入输出
输入: 用户提供标准格式输入输出所需的指令和必要参数。 处理: 解析标准格式输入输出的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回标准格式输入输出的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作快速上手,零配置即可使用
输入: 用户提供快速上手所需的指令和必要参数。 处理: 解析快速上手的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回快速上手的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作适合个人日常使用场景
输入: 用户提供适合个人日常使用场景所需的指令和必要参数。 处理: 解析适合个人日常使用场景的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回适合个人日常使用场景的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作输入: 用户提供核心能力所需的指令和必要参数。
处理: 解析核心能力的输入参数,完成核心逻辑,返回结构化响应。
输出: 返回核心能力的响应数据,包含状态码、结果和日志。
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置。
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:本地文件、RAG、检索增强生成工具、支持文档索引、语义搜索与上下文、本地文件检索、免费版等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
对本地文档建立索引后进行语义检索和问答。示例指令:`
`搜索本地文档中关于部署的内容
操作流程:
对代码文件建立索引,支持代码语义搜索。示例指令:`
`搜索项目中的认证逻辑代码
将多个文档构建为可检索的本地知识库。示例指令:`
`构建本地知识库
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 本地文件检索(免费版)处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
# 确保Python环境可用
python3 --version
# ...
# 依赖说明
pip install requests
# 本地RAG基础检索
import os
from pathlib import Path
# ...
def build_index(docs_dir):
index = {}
for md_file in Path(docs_dir).rglob("*.md"):
content = md_file.read_text(encoding="utf-8")
words = set(content.lower().split())
for word in words:
if word not in index:
index[word] = []
index[word].append(str(md_file))
return index
# ...
def search(index, query):
results = []
for word in query.lower().split():
if word in index:
results.extend(index[word])
return list(set(results))
# ...
idx = build_index("./docs")
results = search(idx, "部署 配置")
print(f"找到 {len(results)} 个相关文档")
完成上述代码后,将根据输入参数返回结构化响应。免费版支持单次任务,适合解析单个文件或任务。
rag:
index_dir: "./rag_index"
chunk_size: 500
search_mode: keyword
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 基础路径 | 工作目录 | ./ |
| 输出格式 | 结果输出格式 | json |
# 免费版:单文件优化
# 确保输入文件不超过建议大小
# 处理完成后释放资源
A: 免费版为单线程处理,对于大文件建议分批处理或升级到专业版获得并行处理能力。
A: 支持标准格式输入输出,常见格式包括JSON、YAML、Markdown等。
A: 本skill基于Markdown指令规范,无需额外API Key。如需外部服务API,请参考对应服务的注册流程。
A: 免费版支持单次操作,适合个人日常使用。如需批量处理或高级功能,建议升级到专业版。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| numpy | Python库 | 可选 | pip install numpy |
| rank-bm25 | Python库 | 可选 | pip install rank-bm25 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
{
"success": true,
"data": {
"result": "本地文件检索(免费版)处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "local rag"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}