Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

Mac Mini Knowledge Base + RAG Setup

在 Mac Mini (M4) 上快速搭建本地知识库 + RAG 自然语言搜索系统。 适用场景: - 新 Mac 配置知识库:从零开始安装配置 Ollama、embedding模型、定时任务、OCR文档分析 - 遇到 PDF 提取乱码、定时任务超时、skill 加载失败等问题 - 想要建立每日自动分析文档 + 08:00发送摘要到飞书的流程 - 迁移或复现知识库:打包整个 knowledge 目录和配置到新电脑 本 skill 会引导完成:目录结构创建、依赖安装、脚本部署、定时任务注册、OpenClaw 配置。

Audits

Suspicious

Install

openclaw skills install macmini-knowledge-base

Knowledge Base Setup

在 Mac Mini 上快速搭建本地知识库 + RAG 搜索系统。

核心功能

  • 文档处理:支持 PDF(正常/乱码字体/图片型)、PPTX、DOCX、XLSX、MD
  • 智能提取:自动识别文档类型,选择最优提取方案,中英文关键词自动匹配
  • 目录生成:自动生成带标签的文章目录,缓存加速
  • 定时任务:每天 22:00 分析新文档,08:00 发送摘要到飞书

快速开始

一键安装

cd ~/.openclaw/workspace/skills/knowledge-base-setup/scripts
bash setup.sh <飞书用户ID>

手动分步安装

Step 1: 环境准备

brew install tesseract
pip3 install pytesseract pymupdf pdfplumber python-pptx
# 安装 Ollama: https://ollama.com/download

Step 2: 下载 embedding 模型

ollama pull nomic-embed-text

Step 3: 创建目录结构

mkdir -p ~/.openclaw/workspace/knowledge/.analysis/summaries/archives
mkdir -p ~/.openclaw/workspace/knowledge/temp_docs
mkdir -p ~/.openclaw/workspace/knowledge/"Macro Financials"
touch ~/.openclaw/workspace/knowledge/文章目录.md

Step 4: 部署脚本

cp ~/.openclaw/workspace/skills/knowledge-base-setup/scripts/*.py \
   ~/.openclaw/workspace/knowledge/.analysis/
cp ~/.openclaw/workspace/skills/knowledge-base-setup/scripts/generate_catalog.js \
   ~/.openclaw/workspace/knowledge/.analysis/
chmod +x ~/.openclaw/workspace/knowledge/.analysis/*.py
chmod +x ~/.openclaw/workspace/knowledge/.analysis/*.js

Step 5: 配置 OpenClaw

编辑 ~/.openclaw/openclaw.json,加入:

{
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "http://127.0.0.1:11434",
        "api": "ollama",
        "models": [
          {"id": "nomic-embed-text", "name": "Nomic Embed Text"}
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "memorySearch": {
        "provider": "ollama",
        "model": "nomic-embed-text"
      }
    }
  }
}

确保 tools 区块有:

"tools": {
    "alsoAllow": ["exec", "process"]
}

然后重启:openclaw gateway restart

Step 6: 注册定时任务

# 22:00 分析任务
openclaw cron add \
  --name "22:00分析新文档" \
  --cron "0 22 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --timeout-seconds 600 \
  --message "运行 run_analysis.py 和 generate_catalog.js" \
  --announce --channel feishu --to "user:<飞书用户ID>"

# 08:00 发送任务
openclaw cron add \
  --name "08:00发送文档摘要" \
  --cron "0 8 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --timeout-seconds 120 \
  --message "读取 summaries/ 目录发送摘要到飞书" \
  --announce --channel feishu --to "user:<飞书用户ID>"

文档处理流程(generate_catalog.js)

文件类型 × 提取方式

格式提取方式说明
PDF(正常字体)pdf-parse 直读中文报告等正常文档
PDF(乱码/图片型)pymupdf 渲染 + tesseract OCR外资投行 PDF、自定义字体编码
PPTXpython-pptx 读文字幻灯片内容
DOCX/XLSX占位(可扩展)待实现
MD直接读文件Markdown 格式

PDF 三步处理逻辑

Step 1: 50KB 快速预检(pdf-parse 前50KB)
         ↓
  预检文本含关键词? → Yes → Step 2: 完整 pdf-parse
         ↓ No
  Step 3: pymupdf 渲染前3页 + OCR(跳过无意义的完整解析)

为什么这样做:

  • 正常中文 PDF:pdf-parse 直接出结果(~800ms),不做 OCR 浪费
  • 外资投行乱码 PDF:pdf-parse 要 30s 才返回乱码,现在 100ms 预检直接跳 OCR
  • 图片型 PDF:本来就是 OCR 素材,预检阶段就会走 OCR 路线

关键词库(中英双语)

中文(47个): 房产、房价、房地产、居民、消费、股市、经济、政策、利率、通胀、人民币、A股、美联储、PBOC、GDP、股票、资产、投资、债券、银行、PPI、CPI、PMI、M2、就业、失业、汽车、新能源、AI 等

英文(70+个): property、real estate、GDP、inflation、CPI、PPI、PMI、PBOC、Fed、consumer、economy、growth、housing、stock market、EV、AI 等

标签输出语言: 自动判断——英文内容匹配英文关键词输出英文标签,中文内容匹配中文关键词输出中文标签

缓存机制

  • 缓存文件:knowledge/.analysis/.catalog_cache.json
  • 缓存命中条件:文件 mtime 未变且标签不是"待提取"
  • 缓存命中时:跳过解析,直接复用,二次运行 ~1.5 秒

迁移到新电脑

  1. 复制整个目录:
    scp -r ~/.openclaw/workspace/knowledge user@new-mac:~/.openclaw/workspace/
    
  2. 在新电脑运行 setup.sh 或手动分步安装
  3. 重新注册定时任务(Job ID 会变)

避坑指南

问题原因解决
PDF 提取乱码自定义字体无 ToUnicodepymupdf + tesseract OCR(已内置)
定时任务超时默认 120s 太短--timeout-seconds 600
飞书无 exec 工具tools 策略限制添加 alsoAllow: [exec, process]
skill 加载失败导出名称错误CodeChunkerFileChunker
BGE-M3 卡顿16GB 内存不足继续用 nomic-embed-text
brew install ollama 慢网络问题直接下载 dmg 安装

关键路径

内容路径
Skill 目录~/.openclaw/workspace/skills/knowledge-base-setup/
知识库~/.openclaw/workspace/knowledge/
分析脚本~/.openclaw/workspace/knowledge/.analysis/
目录缓存~/.openclaw/workspace/knowledge/.analysis/.catalog_cache.json
摘要输出~/.openclaw/workspace/knowledge/.analysis/summaries/
文章目录~/.openclaw/workspace/knowledge/文章目录.md
OpenClaw 配置~/.openclaw/openclaw.json