内容
<div align="center">
# 🌌 OmniClip RAG
<p align="center"><strong>在您的私有笔记和人工智能的广阔世界之间建立一个无形的引力场。</strong></p>
<p align="center"><em>(自 V0.3.3 版本起支持 1290 种格式,自 V0.4.1 版本起提供 MCP 注册表 / MCPB 线)</em></p>
<img alt="OmniClip RAG Universe" src="https://github.com/user-attachments/assets/2ca47563-138b-4138-8b62-05e14f294cd4" />
<br/>
[](CHANGELOG.md) [](#-快速入门--工作流) [](pyproject.toml) [](#-核心哲学--无价边界) [](https://github.com/msjsc001/OmniClip-RAG/releases) [](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.msjsc001/omniclip-rag-mcp) [](README.zh-CN.md) [](LICENSE)
[中文说明](README.zh-CN.md) | [更新日志](CHANGELOG.md) | [架构](ARCHITECTURE.md) | [MCP 设置](MCP_SETUP.md) | [第三方通知](THIRD_PARTY_NOTICES.md) | [官网](https://msjsc001.github.io/OmniClip-RAG/)
<br/>
<details>
<summary>📖 <b>目录</b>(点击展开)</summary>
- [TL;DR: MCP 快速入门](#-mcp-使用)
- [核心哲学与无价边界](#-核心哲学--无价边界)
- [核心功能](#-核心功能)
- [快速入门与工作流](#-快速入门--工作流)
- [MCP 使用](#-mcp-使用)
- [高杠杆思维模型与工作流](#-高杠杆思维模型--工作流)
- [极简主义与克制架构](#-极简主义--克制架构)
- [极客与开发者入口](#-极客--开发者入口)
- [最近版本追踪](#-最近关键更新)
- [文档中心](#-文档中心)
- [开源感谢与许可证](#-开源感谢)
</details>
</div>
<br/>
> [!TIP]
> **TL;DR: MCP 快速入门**
>
> OmniClip RAG 现已附带一个**只读本地 MCP 服务器**,用于在 Windows 上搜索私有 Markdown、PDF 和 Tika 支持的知识库。
> 下载 `OmniClipRAG-MCP-v0.4.8-win64.zip` 进行手动 `stdio` 设置,或下载 `omniclip-rag-mcp-win-x64-v0.4.8.mcpb` 进行官方 MCP 注册表 / MCPB 路径。
> 将您的 MCP 客户端指向 `OmniClipRAG-MCP.exe`,然后让 AI 调用 `omniclip.status` 和 `omniclip.search` 以进行实际检索流程。完整详情:[MCP_SETUP.md](MCP_SETUP.md)。
---
**这是什么?** 它是一个本地 Markdown 语义搜索软件,一个本地 RAG 知识库,现在也是一个只读 MCP 检索服务器。
**如何使用?** 只需打开应用程序,输入您的 Markdown 笔记路径,然后点击“构建知识库”以设置您的本地 RAG 保险库。构建完成后,您可以使用它来语义搜索您的笔记。检索的内容可以复制并发送到任何 AI 进行深入讨论,或用于您自己的深入阅读。
**有什么好处?** 无需上传任何数据,无供应商锁定。不需要复杂的配置或设置。此外,它具有热加载功能——新编写的笔记会自动进入 RAG 保险库!新笔记也可以是有组织的 AI 历史对话集合,从而为它们提供永久内存。
> [!NOTE]
> **介绍:在 AI 时代交出我们的“网络内衣”!**
>
> **OmniClip RAG 独特地实现了不可能的事情:你可以拥有所有!**
>
> - **我们要求**: 我们的 Markdown 笔记完全属于我们自己。
> - **我们也要求**: 任何 AI 都能在我们允许和监督的范围内深入参与。笔记保险库和 AI 必须深度解耦,但高度交互。
> - **我们还要求**: 一个开箱即用的体验,无需任何繁琐的设置,具有强大的热加载功能,以便新笔记自动进入 RAG 语义池!它甚至可以编译您的 AI 历史对话,为它们提供永久的滚动内存。
>
> 在 AI 时代,我们越依赖大型模型,我们就越会放弃个人隐私。市场上的大多数知识库 RAG 工具要么配置复杂(涉及类似 Docker 或 Python 环境),要么需要大量学习时间,要么强制您绑定到一个臃肿的聊天界面,要么要求您完全上传您的笔记。它们都试图将您的数据锁定到他们的产品中,使您无法离开。
>
> 为了确保我的笔记和想法真正属于我,我花费了大量时间思考和比较了许多可能性,最终确定并手工制作了这个纯本地语义检索工具——**OmniClip RAG**。我将其核心功能推向极限,确保它**既可以在大多数计算机上顺畅运行,又具有专业级能力**。它作为一个本地知识防火墙,允许您有选择地让 AI 深入阅读您的“第二大脑”,而无需担心您的数据被任何云或本地软件劫持。
<br/>
<div align="center">
<img alt="应用程序主界面" src="https://github.com/user-attachments/assets/34464cc3-ea24-428b-9ecb-28d3f81a7bf2" width="800" />
</div>
<br/>
---
## 🎯 核心哲学与无价边界
**OmniClip RAG** 是一个极具解耦性的“隐私防火墙”和“手动传输本地 RAG 搜索引擎”,专门为 Markdown 笔记生态系统精心打造(原生兼容 Logseq、Obsidian、Typora、MarkText、Zettlr 和任何纯文本应用程序)。
它只执行一项高度精细的任务:通过嵌入式向量算法(例如 `BAAI/bge-m3`)和结构索引在本地语义搜索数万页内容,精心包装最有价值的上下文片段,并让您**手动剪辑并粘贴到任何外部顶级 AI**(例如 ChatGPT、Claude、Kimi 等)进行深入交互。简而言之:只要您的材料是 Markdown 格式,该引擎就充当最终的“第二大脑永久内存提取器”。
<details>
<summary><b>👉 点击展开:为什么要这样构建?(核心哲学)</b></summary>
<br/>
- **绝对隐私隔离**: 外部 AI 只能利用您明确打包并通过语义引擎提供的上下文片段,在您的监督下。它们对您的保险库其他部分完全没有访问权限。您的绝对数据主权在这里不可侵犯。
- **高度解耦的“脑机接口”**: 它不绑定到任何 AI 聊天界面。如果 Claude 今天更好地处理复杂代码,您可以将内容剪辑到 Claude。如果 GPT-5 明天改变逻辑建模,您可以将相同的片段喂给它。这确保了工具和笔记内容之间的物理独立性,使您免受设置锁定和平台绑定的困扰。
- **追求“强林迪效应”**: 我希望这能成为一个不会在遥远未来过时的内存灯塔。只要纯文本和 Markdown 的概念存在,您就能调用已经忘记的历史洞察力,由这个干净轻量的引擎提供紧密支持。
</details>
<br/>
---
## ✨ 核心功能
OmniClip 故意不通过浮夸的 UI 技巧来取胜。真正的工作在于使本地知识检索可靠、可解释和可维护,而无需迫使用户上传到云端或陷入环境混乱。
<table width="100%">
<tr>
<td width="50%" valign="top">
<ul>
<li><b>默认本地优先</b>:索引、日志、缓存和运行时有效载荷在 <code>%APPDATA%\OmniClip RAG</code> 下管理,而不是污染您的源笔记或需要云端往返。</li>
<li><b>深度 Markdown / Logseq 理解</b>:除了纯 Markdown 之外,解析器还理解 Logseq 样式的页面属性、块属性、块引用和嵌入,因此检索更接近您实际的写作方式。</li>
<li><b>真正的混合检索</b>:结合 <code>SQLite + FTS5 + 结构感知评分 + LanceDB 向量搜索</code>,因此它可以捕捉精确术语和语义相关的想法。</li>
<li><b>物理隔离的扩展格式</b>:Markdown、PDF 和 Tika 支持的格式保持单独的索引和状态,返回具有明确源标签的统一结果。</li>
<li><b>可追溯的查询结果</b>:结果带有源标签、页面/格式身份、评分提示和状态消息,以便用户了解为什么返回某些内容,而不是信任黑盒。</li>
</ul>
</td>
<td width="50%" valign="top">
<ul>
<li><b>大型 Tika 格式曝光</b>:暴露 <b>1290</b> 种扩展格式,具有明确的风险等级,适用于推荐、未知、未测试和兼容性差的项目。</li>
<li><b>精简的打包应用程序,外部运行时</b>:EXE 保持轻量级,而运行时组件单独管理,具有共享的 AppData 安装和遗留运行时重用。</li>
<li><b>构建流程解释自己</b>:预飞行、重建、增量监视和 Tika 自动安装表面阶段、进度和失败原因,而不是让用户盯着冻结的屏幕。</li>
<li><b>在崩溃前降级</b>:损坏的文件、空文件、离线路径、缺少的运行时件和 GPU 压力都通过跳过/重试/回落策略在可能的情况下进行处理。</li>
<li><b>标准 MCP 接口</b>:<code>OmniClipRAG-MCP.exe</code> 通过只读 MCP 服务器公开相同的本地搜索内核,以便 MCP 客户端可以查询您的私有知识库。</li>
</ul>
</td>
</tr>
</table>
<br/>
<div align="center">
<table width="100%" border="0">
<tr>
<td width="50%" align="center">
<img alt="配置和索引界面" src="https://github.com/user-attachments/assets/b622c336-73b8-4324-95eb-f9c8011c25c6" width="100%" /><br/>
<em>⚙️ 配置和索引界面</em>
</td>
<td width="50%" align="center">
<img alt="暗黑模式美学" src="https://github.com/user-attachments/assets/d133f782-1864-427a-8773-ee9333cf6fdd" width="100%" /><br/>
<em>🌙 暗黑模式美学</em>
</td>
</tr>
</table>
</div>
<br/>
---
## 🚀 快速入门与工作流
OmniClip 完美地集成到您的工作流中:
1. 在本地 Markdown 保险库中继续安静地写作,持续数周。
2. 双击 OmniClip 应用程序——它将透明且无声地维护一个混合搜索索引的保险库。
3. 当搜索洞察时,输入关键词或短句子。OmniClip 将提取并组装无与伦比的片段,单击即可完成。
4. **将该丰富的内容包直接粘贴到当前最智能的 AI 模型中**。
### 首次使用指南
基础版本构建为单个便携的绿色 EXE。不需要复杂的脚本或开发环境。只需纯粹的**“下载,双击,运行”**:
1. 启动桌面应用程序界面。
2. 选择您的笔记保险库的根文件夹。
3. 确认数据目录(OmniClip 拒绝污染或修改您的原始笔记)。
4. *(首次运行)* 启动 **时空预检查** 以估计负载约束。
5. *(首次运行)* 启动 **一键模型引导(下载并缓存本地模型)**。
6. 最后,触发 **完整构建**(索引一次,通过热重载跟踪运行)。
7. **构建完成后,开始搜索!** 找到精彩片段,点击复制片段,发送到您喜欢的 LLM。
<div align="center">
<img alt="智能搜索和结果审查" src="https://github.com/user-attachments/assets/e537ebfc-53cf-44cc-8598-9019b2fcae02" width="800" />
</div>
<br/>
---
## 🔌 MCP 使用
`OmniClip RAG MCP 服务器`允许支持 MCP 的 AI 客户端通过与桌面应用程序相同的只读检索核心搜索本地知识库。
从 `v0.4.8` 开始,MCP 线以两种并行分发形式提供:
- `OmniClipRAG-MCP-v0.4.8-win64.zip` 用于手动基于文件的设置
- `omniclip-rag-mcp-win-x64-v0.4.8.mcpb` 用于官方 MCP 注册表和支持 MCPB 的客户端
> [!CAUTION]
> **您需要首先具备以下条件**
> 仅将 `OmniClipRAG-MCP.exe` 用作 AI 客户端的无头只读桥。它不构建知识库。您**必须首先从桌面应用程序构建或安装知识库**。
> 如果您的索引尚未构建,MCP 端将返回明确的 `index_not_ready` 样式错误,而不是沉默地假装一切正常。
<details>
<summary><b>🛠️ 点击展开:官方路线和传统设置指南</b></summary>
<br/>
### 官方路线(注册表 / MCPB)
自 `v0.4.1` 起,OmniClip RAG 保留了一个一流的 MCP 注册表 / MCPB 线,因此支持注册表发现或 MCPB 安装的客户端可以首先使用该路径。
- 如果您的客户端支持注册表发现,请查找:`io.github.msjsc001/omniclip-rag-mcp`
- 如果您的客户端支持 MCPB 安装,请优先使用发布资产:`omniclip-rag-mcp-win-x64-v0.4.8.mcpb`
有关注册表/MCPB 解释和客户端特定设置说明,请参见 [MCP_SETUP.md](MCP_SETUP.md)。
### 传统手动路线(Jan.ai / OpenClaw)
如果您手动下载了 ZIP 包,或者您的客户端尚不支持官方 MCPB 格式,请使用传统的绝对路径 `stdio` 设置。
#### Jan.ai 参考设置
在 Jan.ai 中,使用以下值创建新的 MCP 服务器:
- `服务器名称`:`OmniClip RAG`
- `传输类型`:`STDIO`
- `命令`:`OmniClipRAG-MCP.exe` 的完整路径(例如 `D:\Apps\OmniClip RAG\dist\OmniClipRAG-MCP-v0.4.8\OmniClipRAG-MCP.exe`)
- `参数`:留空
- `环境变量`:默认情况下留空
#### OpenClaw 示例
在 OpenClaw 的配置文件中注册 MCP 服务器(`%USERPROFILE%\.openclaw\openclaw.json`):
```json
{
"mcpServers": {
"omniclip-rag": {
"transport": "stdio",
"command": "D:\\Apps\\OmniClip RAG\\dist\\OmniClipRAG-MCP-v0.4.8\\OmniClipRAG-MCP.exe",
"args": []
}
}
}
```
然后重启 OpenClaw 或其网关进程,以便它重新加载配置文件。
### AI 可以通过 MCP 执行的操作
V1 故意保持 MCP 接口非常小且稳定:
- `omniclip.status`:检查本地搜索环境是否准备就绪,告诉 AI 它是否运行在 `hybrid` 模式或降级的 `lexical_only` 模式。
- `omniclip.search`:搜索本地知识库,返回明确的源标签,例如 `Markdown · xxx.md` 或 `PDF · xxx.pdf · Page N`.
### 如何询问 AI
连接 MCP 服务器后,您可以用自然语言直接与 AI 交谈。这些提示效果很好:
- `"使用 OmniClip 搜索我的本地知识库中有关 '项目路线图' 的信息,并总结最有用的几点。"`
- `"首先调用 omniclip.status,然后告诉我我的本地知识库是否准备就绪。"`
- `"仅在 OmniClip 中搜索 PDF 结果中的 'attention mechanism'。"`
- `"在 OmniClip 中查找与 'my thinking model' 相关的笔记,并显示 5 个最相关的片段及其来源。"`
### 推荐的持续协作提示
如果您希望 AI 在每次讨论时表现得更像具有内置 RAG 习惯的工具,而不是每次都等待您提醒它,以下两个提示模板效果很好。
#### 对于已连接 MCP 的 AI 客户端
在 AI 可以自行调用 `omniclip.search` 时使用:
```text
从现在开始,每当我们讨论一个话题时,请首先在我的本地知识库中搜索与当前问题相关的信息,然后根据搜索结果和我的知识库来回答我,即使我自己并不总是清楚这些知识。
因为我的知识库可能包含数十万个片段,所以请不要过度扩展搜索范围,超出当前话题的需要。
如果您需要在后续对话中了解我的更多背景知识,请继续使用相同的模式:首先搜索我的本地知识库,然后根据相关结果继续讨论。
```
#### 对于没有 MCP 的 Web AI
在与没有直接调用 MCP 功能的普通网络 AI 交谈时使用:
```text
从现在开始,每当我们讨论一个话题时,请先确定您需要从我的本地知识库中获取什么信息,然后请我提供您想要搜索的确切关键词或短语。我将使用我的本地 RAG 工具手动搜索并将检索到的片段返回给您。
由于本网络聊天没有 MCP 访问权限,请像拥有 MCP 访问权限一样表现:请我提供您需要的搜索词,等待检索到的片段,然后根据这些片段和我的知识库继续讨论,作为我知道的边界。
因为我的知识库可能包含数十万个片段,所以请不要过度扩展搜索范围,超出当前话题的需要。
如果您需要在后续对话中了解我的更多背景知识,请继续使用相同的模式。
```
</details>
<br/>
## 💡 高杠杆思维模型与工作流
<details>
<summary><b>🔥 点击展开:终极思维模型与提示注入</b></summary>
<br/>
> [!IMPORTANT]
> **核心哲学**:不要把 OmniClip RAG 只看作是“另一个 AI 软件”,而是将其视为终极的 **“本地知识路由器和上下文分发器”**,它位于您和任何最先进的 AI 之间。AI 不再只是凭空与您聊天;而是 **基于您一生积累的见解进行推理**。
从架构和知识管理的角度来看,我们强烈推荐以下高杠杆工作流,以解锁涌现能力:
### 1. 跨模型认知套利
将 OmniClip 用作您的“单一事实来源(SSOT)”。由于前端与任何特定 AI 物理解耦,您可以获取本地检索的单个高密度上下文包,并 **并行将其馈送到不同的引擎**:
让 Claude 3.5 Sonnet 根据代码片段编写核心重构代码,将相同的上下文转发到 O1 进行边界安全审查,并使用另一个模型生成本地报告。您正在利用稳定的本地索引来“套利”不同云 LLMs 的优势,缓解任何单个模型的盲点。
### 2. 被动智能中心和证据层隔离
充分利用对 PDF 和 Tika 的支持(`1290` 种格式)。将您的 Markdown 保险库视为您的 **“认知主链”(存储您的判断和想法)**,并将 PDFs/DOCXs/EMLs 视为您的 **“原始证据仓库”**。
将非结构化的行业报告和参考书籍转储到本地文件夹中,而无需手动组织它们。在研究时,故意隔离您的查询:搜索 Markdown 中的“您认为的内容”,并搜索 PDF/Tika 中的“原始证据内容”。通过 MCP 协议,您可以直接问 AI:*“搜索我最近关于注意力机制的 PDF 报告,并将其与我的 Markdown 反思进行交叉引用。”* 您的 PC 瞬间变成一个离线、私人的智能作战室。
### 3. 项目上下文压缩和影子头脑风暴
对于包含需求、废弃草稿和会议笔记的长期、复杂的项目,不要手动深入文件夹。当您遇到瓶颈时,使用句子或冲突对(例如 `为什么我们当时做出了这个架构决策?` 或 `隐私 vs 便利性`)进行模糊搜索。
通过滥用矢量引擎的“模糊语义关联”,OmniClip 可能会突然将您两年前编写的心理学笔记与当前的架构难题联系起来,触发真正的“灵感”。它可以防止您反复思考已经思考过的内容。
### 4. “永久记忆海马体”和绝对隐私防火墙
每当 AI 帮助您解决一个深奥的问题或草拟一个巧妙的架构时,请立即将其总结到一个干净的 Markdown 文件中,并将其放入您的保险库中。OmniClip 的毫秒级热加载机制会立即将其拉入 LanceDB 和 FTS5 检索池。
随着时间的推移,您在使用的任何 AI 上都物理上构建了一个不断增长、严格监督的“过去生活记忆”。您的保险库保持完全本地。您只向 AI 提供 **“最小可行上下文”** - 永远不会上传宝贵的知识本身。这保证了绝对的数据主权和隐私。
> 🌟 **黄金法则**:在编写大型文档、做出复杂决定或与 AI 进行深入对话之前 - **先搜索,然后再聊天**。OmniClip 的真正力量不是为您思考;而是在您和 AI 需要时,将您已经思考、阅读和积累的内容准确地反馈给您。
---
### 💬 附录:AI 推荐提示(提示注入)
在将检索的上下文包粘贴到 AI 时,您可能希望 AI 有效地利用知识,而不仅仅是“总结”或“模仿”您的笔记。我们强烈建议在系统提示或初始消息中包含以下指南:
```text
- 在我们的对话中,我有时可能会包含与主题相关的 RAG 语义检索片段(不是全文),作为我们讨论的背景信息。
- 这些信息来自我的本地 RAG 检索软件,它在我的本地笔记保险库中搜索所有相关的片段。这使我能够在您和我的知识库之间建立深入的、批判性的联系,而无需花费时间和精力上传整个保险库,从而在最大程度上保护我的笔记隐私,同时实现深入的交互。
- 提供这些片段的唯一目的是使您与我的知识边界同步,使我们的对话更深入、更有意义。
- 我提供给您的一些片段可能与当前话题无关;请自行忽略这些噪音。
- 请直接将这些片段视为已知前提,与我进行对话。绝对不要总结、简单同意、重复或提炼这些背景信息。
- 当您认为有必要或您的回答受到特定片段的启发时:
- 请自然地提及相关的笔记标题和段落,以便我准确地在本地定位它(这也有助于我后续添加、删除或修改本地笔记)。
- 在推理和我们的对话过程中,您可以随时要求我提供额外的信息,如果需要的话。
- 如果您需要特定的支持,请明确告诉我需要搜索的确切词语或短语。我将使用这些词语或短语检索关键片段并返回给您。
- 如果您在查看片段时发现关键内容被截断,您可以直接要求我提供完整的笔记页面。
```
</details>
<br/>
---
## 🧠 简约且克制的架构
```mermaid
flowchart LR
A["Markdown / Logseq 保险库"] --> B["解析器"]
B --> C["SQLite + FTS5"]
B --> D["LanceDB + 嵌入式"]
C --> E["混合检索"]
D --> E
E --> F["上下文包"]
F --> G["任意 AI / MCP 客户端"]
```
### 🗄️ 外科手术级别的数据存储隔离
**您拥有的所有内容都严格限制在指定的范围内。**
默认情况下,数据生成安全地位于 `%APPDATA%\OmniClip RAG`。在禁止权限或系统限制下,它会降级为 `%LOCALAPPDATA%\OmniClip RAG`。
- **它坚决拒绝在系统安装中创建凌乱的临时日志或侵入式目录,或直接散布在您的珍贵笔记保险库中。**
外部沉重的运行时有效载荷(例如本地 Torch 环境)位于打包的 EXE 之外,现在设计为在用户授权安装后汇聚到一个共享的 AppData 边车根目录(请参阅 [RUNTIME_SETUP.md](RUNTIME_SETUP.md))。打包的 GUI 版本现在携带其自己的捆绑 Python 运行时用于运行时安装,因此终端用户不再需要预安装 Python 即可下载或修复 OmniClip 的本地运行时边车。运行时清单现在锁定确切的轮子文件而不是宽松的依赖范围,甚至非 NVIDIA 机器上的 CUDA 条目仍然可以通过手动修复安装链进行手动修复,而不会被错误地报告为 GPU 就绪。精简版发布保持清洁,而健康的旧版运行时仍然可以在打包的版本文件夹中重复使用。
<br/>
---
## 💻 Geek 和开发者入口
OmniClip 完全在 GitHub 上开源。无论您对代码仓库感兴趣,还是对个人数据主权有很高的标准,或者您的笔记保险库太大而无法原生遍历,您都可以随时深入其控制。
当前,所有源代码和分发包都经过了严格的单元测试和烟雾测试协议:
<details>
<summary><b>💻 点击展开:开发构建和启动命令</b></summary>
<br/>
**启动桌面 GUI:**
```powershell
.\scripts\run_gui.ps1
```
**构建打包的 Windows EXE:**
```powershell
.\scripts\build_exe.ps1
```
**从源代码运行无头 MCP 自检:**
```powershell
python launcher_mcp.py --mcp-selfcheck
```
**对于自动化和终端开发人员,本地 CLI 仍然活跃:**
```powershell
.\scripts\run.ps1 status
.\scripts\run.ps1 query "您的问题"
```
</details>
<br/>
---
## 🔄 最近的关键更新
<details>
<summary><b>📦 点击展开:V0.4+ 架构和发布演进</b></summary>
<br/>
### V0.4.8 主要更新
`v0.4.8` 是启动响应性和扩展源移除的发布版本:打包的 GUI 启动现在在重量的运行时管理和扩展摘要刷新工作完成之前产生第一个窗口,而 `扩展格式 > PDF / Tika` 源行现在具有真正的移除操作,清除匹配的扩展索引/状态数据,然后从扩展设置中删除源目录,而不触及用户的原始文件。
- 🚀 **打包启动时不太可能冻结在第一次绘制**:重量级的运行时管理和扩展源摘要重建现在在初始窗口绘制完成后移动到后台,而不是在 shell 变得可见之前阻塞 GUI 线程。
- 🧭 **PDF/Tika 源行终于有一个真正的移除流程**:危险操作不再在“清除索引”处停止;它现在在清理匹配的扩展索引/状态数据后,从扩展注册表中删除源目录/UI。
- 🧹 **扩展侧清理现在完成但仍然安全**:删除 PDF/Tika 源会清除该源的本地扩展状态和索引痕迹,同时仍然不会删除原始外部文件夹。
- 🛑 **已取消的删除任务保持其源目录完整**:UI 不再因底层删除任务未实际完成而冒着删除源目录的风险。
- 🧪 **本地发布线现在内部一致**:包元数据、设置示例、发布说明和 MCP 面向的路径现在都在 `v0.4.8` 版本线上对齐。
### V0.4.6 主要更新
`v0.4.6` 是 UI 认知和导航润色发布的版本:启动页面现在以更清晰的 `主要 / 包含范围` 思维模型讲述 Markdown 源目录,配置选项卡遵循实际的产品工作流程顺序,桌面 shell 获得了一个统一的主题感知悬停帮助层,可以全局打开或关闭。
- 🧱 **扩展构建控制现在更加强大**:PDF/Tika 构建任务获得了一个专门的控制层,用于真实的进度有效载荷、中断感知、保守的恢复合同和明确的 `READY / query_ready / vector_ready` 状态真相。
- 📄 **PDF 预检更轻、更快,无需失去确切的页数**:单文件 PDF 预检现在读取元数据/页面结构,而不是陷入部分文本提取,因此它不再感觉像一个隐藏的迷你构建。
- 👀 **UI 中的慢速扩展工作现在更容易阅读**:预检/构建任务现在显示真正的基于文件级别的进度、当前文件标签、忙碌条备用和已用时间反馈,当单个文件或慢速解析器看起来冻结时。
- 📦 **冻结的 EXE PDF 预检再次强化**:打包构建不再因 `pypdf` 元数据在冻结环境中缺失而误诊健康的 PDF 解析器不可用。
- 🧹 **面向发布的文档现在更干净**:本地开发的绝对路径被中立的示例安装路径取代,然后再进行此公开发布。
### V0.4.3 主要更新
`v0.4.3` 是将最近的热修复线变成一个更干净的公开发布版本:语义检索现在说实话,下载流程终于从头到尾遵循活跃的环境,MCP/打包线再次完全可从存储库本身重现。
- 🧠 **语义检索现在诚实而不是沉默地误导**:如果 `vector_backend` 被禁用或语义向量尚未重建,桌面应用程序和 MCP 有效载荷现在明确说明,而不是假装全混合搜索处于活动状态。
- 📁 **模型/重新排序器下载目标现在严格遵循活动数据根目录**:运行时修复、嵌入式模型下载、重新排序器下载、删除模型操作、日志和缓存都保留在当前活动环境根目录内。
- 🌏 **中国优先的自动下载现在更具弹性**:自动链现在更喜欢 `ModelScope -> HF 镜像 -> Hugging Face 官方`,公开显示终端输出和心跳日志,并保留下载失败的可视性,而不是看起来冻结。
- 🧭 **索引状态消息现在更具行动性**:概览芯片区分“索引就绪但仅限词典”与“语义后端启用但向量表仍然缺失”,因此用户知道何时仍需要重建。
- 🛠 **正式发布链在存储库中恢复**:`OmniClipRAG-MCP.spec` 现已恢复到树中,因此 `build.py` 可以从一个版本的真实源重建 GUI ZIP、MCP ZIP 和 `.mcpb` 包。
### V0.4.2 主要更新
`v0.4.2` 是将 OmniClip 最近的内部融合工作变成可发布的产品线的版本:数据根目录的真相现在统一,GUI 恢复可以修复损坏的环境而不会静默地回退,并且桌面 shell 的日常操作更加干净。
- 🗂 **数据根目录现在被视为活动环境根目录**:配置、日志、缓存、模型、主运行时、Tika 运行时和工作区现在遵循相同的活动数据根目录合约,而不是让 GUI、运行时和启动器分别猜测。
- 🚧 **损坏的数据根目录现在进入恢复 shell 而不是困住用户在应用外**:当活动环境不可用时,GUI 以受限的恢复模式启动,用通俗语言解释问题,并让用户重试或切换到另一个保存的环境。
- 🔁 **保存的数据根目录切换现在是一个真正的环境切换器**:GUI 可以保留多个保存的根目录,从列表中忘记无效的根目录,并通过受控的重启而不是部分状态漂移切换整个环境。
- 🧰 **桌面润色在架构工作上落地**:查询桌面可以折叠成紧凑的一行形式,添加了经典的 UI 主题,并且应用图标链统一,因此运行时资产和打包的 Windows 构建停止漂移。
- 🌐 **文档表面现在包括一个公共网站**:GitHub Pages 站点在 [msjsc001.github.io/OmniClip-RAG](https://msjsc001.github.io/OmniClip-RAG/) 上启动,并且顶级文档直接指向它。
### V0.4.1 主要更新
`v0.4.1` 将新的 MCP 线从“一个工作的第二个 shell”变成了一个“Registry-ready 交付线”,因此 OmniClip 可以通过官方 MCP Registry 发布,而不是仅作为原始手动 ZIP 存在。
- 🚀 **官方 Registry 路线现在是主要的发现策略**:该项目现在提供一个正式的 `server.json` 元数据文件用于 MCP Registry 发布,而不是针对已弃用的 `modelcontextprotocol/servers` README 列表。
- 📦 **标准 MCPB 包现在是发布故事的一部分**:`omniclip-rag-mcp-win-x64-v0.4.1.mcpb` 成为 Registry/MCPB 感知的分发资产,而旧 ZIP 仍然适用于手动用户。
- 🧭 **README 和 MCP 文档现在分开,不仅仅适用于现有用户**:英文 README 现在公开了第一个屏幕的 MCP 快速入门,中英文 README 保留其原始语气,并有较轻的 MCP 入口点,而 `MCP_SETUP.md` 现在明确解释了 `ZIP vs .mcpb`。
- 🛠 **第一个 Registry 发布路径故意手动**:`0.4.1` 作为第一个干净的 MCP Registry 版本保留,以便在后期自动化之前验证哈希、元数据和发布资产。
### V0.4.0 主要更新
`v0.4.0` 在现有的检索核心上引入了第一个专用的只读 MCP shell,使 OmniClip 从桌面应用程序变成了一个标准的 MCP 能够的本地搜索引擎。
*(请参阅发布页面获取从 V0.1.0 到现在的 历史版本更新说明)*
</details>
<br/>
---
## 📁 文档中心
- [中文 README](README.zh-CN.md)
- [架构笔记](ARCHITECTURE.md)
- [更新日志](CHANGELOG.md)
- [MCP 设置](MCP_SETUP.md)
- [第三方通知](THIRD_PARTY_NOTICES.md)
- [OmniClip RAG MCP 注册计划](plans/OmniClip%20RAG%20官方MCP%20Registry登月计划.md)
- [存储预检查笔记](STORAGE_PRECHECK.md)
- [运行时设置](RUNTIME_SETUP.md)
- [OmniClip RAG MCP 计划](plans/OmniClip RAG MCP接入实施计划.md)
- [Markdown 查询和运行时 RCA 计划](plans/Markdown主查询与Runtime稳定性RCA计划.md)
- [GPU 运行时和扩展构建 UX 完成计划](plans/GPU Runtime与扩展建库UX收尾计划.md)
- [扩展格式隔离计划](plans/扩展格式隔离子系统实施计划.md)
- [扩展构建强化总计划](plans/扩展建库强化总计划.md)
- [运行时跨版本稳定化和 Tika 全量格式闭环计划](plans/Runtime跨版本稳定化与Tika全量格式闭环计划.md)
- [Tika 构建稳定性 & 安装进度闭环计划](plans/Tika建库稳定性与安装进度闭环计划.md)
- [检索优化计划](plans/检索优化计划.md)
- [构建性能计划](plans/建库性能优化计划.md)
<br/>
---
## 🙏 开源致谢
OmniClip 建立在大量开源工作之上。今天直接集成、明确依赖或用于构建/测试流程的核心项目包括:
> `Python`、`Qt / PySide6 / Shiboken6`、`SQLite`、`LanceDB`、`Apache Arrow / PyArrow`、`PyTorch`、`sentence-transformers`、`Transformers / Hugging Face Hub`、`BAAI/bge-m3`、`BAAI/bge-reranker-v2-m3`、`PyPDF`、`Apache Tika`、`Eclipse Temurin / Adoptium`、`watchdog`、`PyInstaller`、`pytest`、`ONNX Runtime`、`MCP Python SDK / Model Context Protocol`。
>
> 感谢这些项目及其维护人员进行长期工程工作,使像这样的工具成为可能。
正式的存储库级第三方许可和分发说明现在位于 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。README 部分以上是人类可读的摘要,而不是合法的源头。
## 📜 许可证
本项目在 [MIT 许可证](LICENSE) 下发布。
<br/>
<details>
<summary>⚠️ <b>点击展开:免责声明</b></summary>
<br/>
> [!WARNING]
> OmniClip RAG / 方寸引 按照“原样”和“可用”的状态提供,不附带任何形式的保证,无论是明确的还是隐含的,包括但不限于适销性、特定用途的适用性、非侵权、持续运行或无错误行为。
>
> **您是以下事项的唯一责任人:**
> - 在依赖所有检索结果、导出的上下文包和 AI 生成的输出之前进行验证
> - 维护您的笔记、数据库、模型和导出材料的备份
> - 审查您索引或粘贴到第三方 AI 工具的任何数据的合法性、敏感性和共享范围
> - 遵守与本项目一起使用的第三方模型、库、数据集和服务的许可证、条款和使用限制
>
> OmniClip RAG 可能会返回不完整、过时、误导性或不正确的结果。任何下游 AI 也可能出现幻觉、误解、过度概括或捏造结论,即使检索到的上下文是准确的。本项目不能替代专业判断、内部审查或独立验证。
>
> **请勿将 OmniClip RAG 或任何导出的上下文包作为医疗、法律、财务、合规、安全关键、安全敏感、就业、学术不端或其他高风险决策的唯一依据。**
>
> 维护者和贡献者不对因使用或滥用本项目而产生的任何直接、间接、偶然、后果性、特殊、示范性或惩罚性损害负责,也不对适用法律允许的最大范围内的数据丢失、停机时间、模型滥用、隐私事件、运营中断或决策负责。
>
> 本存储库中提到的所有第三方产品名称、模型名称、平台和商标仍归其各自所有者所有。它们在此出现并不意味着任何关联、认可、认证或合作伙伴关系。
</details>
<br/>
<div align="center">
<b>有限空间中的无限洞察。</b>
</div>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器