Skip to content

ChuhC/utools_rag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

本地 RAG 知识库 — uTools 插件

基于 MiniSearch 关键词检索 的 uTools 本地知识库插件:支持导入 Obsidian 仓库,检索笔记片段,并可选接入在线大模型实现 RAG 智能问答

目录结构

utools_rag/                 # Git 仓库根目录(含 .git、脚本、文档)
├── plugin/                 # 插件源码(接入开发选这里)
│   ├── plugin.json
│   ├── index.html
│   ├── preload.js
│   ├── css/ js/ lib/
│   └── node_modules/
├── scripts/                # 构建脚本
├── release/                # 打包输出(npm run build:release 生成,无 .git)
└── README.md

架构

Obsidian / Markdown 笔记
    ↓ 分块 + 清洗
    └─ MiniSearch 关键词索引

用户查询
    ├─ 关键词召回 (MiniSearch)
    └─ [可选] 在线大模型生成答案 (OpenAI / Anthropic 兼容 API)

功能

  • 添加本地文件夹(Obsidian 仓库、Markdown 目录)
  • 关键词检索:中文 bigram + 多词 AND 匹配
  • RAG 智能问答:检索片段 → 在线大模型生成答案
  • uTools 列表模式快捷搜索 / 问答

在线大模型配置

在插件「设置 → 在线大模型」中:

  1. 勾选「启用智能问答」
  2. 选择 Provider(按字母排序)
  3. 选择 Model(下拉推荐 + 可手动输入)
  4. API Format 随 Provider 自动匹配(Custom / OpenAI Compatible 可改)
  5. 填写 API Base URLAPI Key
  6. 点击「测试连接」验证

内置 33 个 Provider(英文),覆盖 Cline 主流厂商:Anthropic、OpenAI、DeepSeek、OpenRouter、Gemini、Groq、Mistral、xAI、Moonshot、Qwen、Ollama、LiteLLM 等。

Provider Format Base URL Default Model
Anthropic Anthropic https://api.anthropic.com claude-sonnet-4-20250514
OpenAI OpenAI https://api.openai.com/v1 gpt-4o-mini
DeepSeek OpenAI https://api.deepseek.com/v1 deepseek-chat
OpenRouter OpenAI https://openrouter.ai/api/v1 anthropic/claude-sonnet-4
Google Gemini OpenAI https://generativelanguage.googleapis.com/v1beta/openai gemini-2.0-flash
Ollama OpenAI http://127.0.0.1:11434/v1 llama3.2
Custom 任选 手动 手动
  • OpenAI Compatible${baseUrl}/chat/completions
  • Anthropic Compatible${baseUrl}/v1/messages

未内置 OAuth / AWS Bedrock / VS Code LM 等需专用鉴权的 Provider;可通过 OpenAI CompatibleCustom 对接 LiteLLM 等代理。

API Key 保存在本机 ~/.utools-rag/settings.json

安装

cd utools_rag
npm install              # 安装 plugin/ 依赖

在 uTools 开发者工具中选择 plugin/plugin.json 所在目录 → 接入开发 → 打开。

打包发布

uTools 要求发布目录不能包含调试文件与版本控制目录,例如:

  • *.js.map / *.css.map
  • *.js.gz / *.css.gz
  • .git/.vscode/

推荐流程:

npm install              # 安装 plugin/ 依赖并清理 .map
npm run build:release    # 生成干净的 release/ 目录(不含 .git)

在 uTools 开发者工具中,选择 release/ 目录进行打包 / 发布。

开发调试时也可直接选 plugin/ 目录(同样不含 .git)。

若需手动清理调试文件:

npm run strip-debug

首次使用注意

  1. 索引速度快:纯关键词索引,无需下载模型
  2. 修改分块/检索设置后:需对知识库「重建索引」
  3. 问答前:在设置中启用在线大模型并配置 API Key

数据目录

~/.utools-rag/
├── libraries.json      # 知识库列表
├── settings.json       # 插件设置
└── indexes/            # MiniSearch 关键词索引

依赖

许可证

MIT

About

基于RAG的本地知识库检索插件, 专用于utools

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors