内容
# 知识锻造
版本:`0.5.0`
知识锻造是一个为用户提供本地优先的知识库工具,旨在将杂乱的文件转化为可搜索的、适用于AI的记忆体,而无需将所有文档交给云服务。
它结合了文档摄入、OCR、切分、嵌入、LanceDB向量搜索、MCP访问以及可选的AnythingLLM同步功能,构成一个完整的Windows桌面工作流程。核心数据库保留在本地,AnythingLLM被视为可选的下游目的地,而非真实来源。
中文介绍详见 [README.zh-CN.md](README.zh-CN.md).
## 为什么它存在
大多数个人知识库工具都迫使用户做出艰难的选择:
- 方便的云上传,但隐私控制较弱
- 本地文件,但没有可用的向量搜索工作流
- RAG演示,但没有真正的文档管理
- 聊天机器人界面,但无法查看OCR、切分、嵌入或同步状态
知识锻造旨在填补这一空白:一个实用的本地工作台,用户可以在这里导入文件、查看处理过程、搜索生成的切分、通过MCP向AI工具公开库,并仅在需要时将选定的知识同步到AnythingLLM。
## 亮点
- 默认本地优先:API绑定到 `127.0.0.1`,数据存储在本地,除非明确启用,否则MCP写入被禁用。
- 单一的Windows桌面入口点:Electron启动本地API并打开统一的UI。
- 知识库优先的工作流:首先选择集合,然后编辑该集合的嵌入、切分、OCR/解析器、MCP和AnythingLLM设置。
- 每个集合的配置快照:新集合复制默认模板,然后保持独立参数,以便后续的默认更改不会静默地改变现有的索引。
- 文件摄入管道:上传文件、扫描本地目录、提取文本、需要时进行OCR、清理文本、切分、嵌入并索引到LanceDB。
- 支持广泛的格式:TXT、Markdown、HTML、JSON、CSV、TSV、XML、LOG、YAML/YML、PDF、DOCX、PNG、JPG/JPEG、WebP、TIFF和BMP。
- OCR选项:本地Tesseract.js、配置的PaddleOCR命令或显式的OpenAI兼容云OCR。
- 本地向量搜索:具有文档来源、切分文本、分数、解析器元数据、页面/OCR信息和可复制引用的顶K检索。
- AI控制控制台:具有干预策略检查、风险操作确认门控、附件导入、本地搜索和审计可见性的对话式命令面板。
- MCP集成:集合的只读工具/资源、搜索、文档详细信息、统计信息、嵌入状态、最近作业、AnythingLLM同步状态和OCR/文档质量。
- AnythingLLM桥接:可选的工作空间同步、幂等上传跟踪、桌面环境检查、自定义可执行路径、安装程序交接和清理重试队列。
- 安全防护:Electron模式下的本地操作令牌、环路CORS、API密钥删除、危险操作确认和无原生浏览器提示/确认流用于破坏性操作。
- 交付检查:TypeScript、ESLint、Vite/服务器构建、API冒烟测试、UI按钮审计、Electron UI冒烟测试、MCP写入冒烟测试、安全冒烟测试、持久性恢复冒烟测试和打包桌面冒烟测试。
## 产品定位
在以下情况下使用知识锻造:
- 为AI工具提供私有的文档记忆层
- 一个本地RAG工作台,显示摄入管道而非隐藏它
- 在将选定结果发送到其他地方之前进行OCR密集型知识库处理
- MCP可访问的本地搜索,适用于Claude Desktop、Cursor、Codex或其他MCP客户端
- AnythingLLM同步,而不使AnythingLLM成为您知识的唯一存储地
这并不试图成为另一个通用聊天应用。首要体验是构建和操作本地向量库:导入、检查、搜索、重新处理、同步和审计。
## 截图
### AI 控制控制台

*对话式命令面板:输入自然语言指令以导入文件、搜索集合、测试配置或触发同步 — 具有干预预览和危险操作的确认门控。*
### 集合管理

*创建和管理独立的知识库。每个集合都有自己的嵌入、切分、OCR和AnythingLLM同步参数 — 更改默认模板不会静默破坏现有索引。*
### 本地向量搜索

*查询本地LanceDB向量存储。结果显示匹配的切分、源文档、相关性分数、解析器元数据和可复制的引用。不需要云API。*
### 导入作业和任务队列

*查看文件通过队列 → 提取 → OCR → 切分 → 嵌入 → 索引的过程。可以取消、重试并深入查看失败的作业,全面了解各个阶段。*
### 文档管理

*检查每个文档:元数据、提取的文本预览、切分列表、OCR警告、失败原因和每个文档的重新处理/替换/存档操作。*
### OCR 和解析器配置

*调整重复策略、PDF限制、OCR模式(Tesseract/Paddle/云)、语言、置信度阈值和引擎设置,每个集合独立。*
### MCP 集成

*将本地知识库公开给Claude Desktop、Cursor、Codex和其他MCP客户端。默认情况下为只读;写入工具需要显式启用。*
### 设置和集成

*管理数据目录、嵌入提供商、默认参数模板、AnythingLLM桌面路径和系统集成设置。*
## 架构
```text
Electron Desktop
-> 本地 Express API on 127.0.0.1
-> React/Vite UI
-> 管理的本地数据目录
-> LanceDB 向量表
-> MCP stdio 服务器
-> 可选的 AnythingLLM API 同步
```
核心所有权:
- `src/`:React UI 和桌面工作台
- `server/`:API、文档管道、LanceDB集成、MCP和冒烟测试
- `electron/`:桌面壳、预加载桥、生命周期管理和Electron冒烟测试
- `docs/`:MCP设置指南、公共定位说明、交付日志和审计说明
## 快速开始
要求:
- Windows是主要的桌面目标。
- Node.js和npm。
- 可选:Tesseract语言数据包含在打包的OCR资源中。
- 可选:AnythingLLM(如果您想要下游工作空间同步)。
安装依赖:
```powershell
npm install
```
运行本地API和浏览器UI:
```powershell
npm run dev
```
默认本地端点:
- UI:`http://127.0.0.1:5184`
- API:`http://127.0.0.1:5183`
在开发中运行桌面应用程序:
```powershell
npm run desktop
```
## 构建和打包
构建UI和服务器:
```powershell
npm run build
```
构建Windows安装程序、便携式exe和zip:
```powershell
npm run dist:win
```
生成的桌面工件写入:
```text
release/
```
预期工件名称:
- `release/win-unpacked/Knowledge Forge.exe`
- `release/Knowledge Forge-Setup-<version>-x64.exe`
- `release/Knowledge Forge-Portable-<version>-x64.exe`
- `release/Knowledge Forge-<version>-x64.zip`
## 验证
快速源门控:
```powershell
npm run smoke:release
```
具有真实OCR和打包工件验证的目标机器门控:
```powershell
npm run smoke:release:target
```
有用的个别检查:
```powershell
npx tsc -p tsconfig.app.json --noEmit
npx tsc -p tsconfig.server.json --noEmit
npm run lint
npm run build
npm run smoke:buttons
npm run smoke:ui:built
npm run smoke:desktop:data-dir:built
npm run smoke:desktop:built
npm run smoke:release:artifacts
```
真实OCR故意与最快的循环分开:
```powershell
npm run smoke:ocr:real
```
## MCP 用法
运行MCP_stdio服务器:
```powershell
npm run mcp
```
MCP默认情况下为只读。写入/删除工具仅在`mcp.allowWrites`显式为`true`时可用。
参见 [docs/mcp-integration.md](docs/mcp-integration.md) 了解Claude Desktop、Cursor、Codex和其他MCP客户端。
对于一个友好的中文教程,解释`stdio`与Streamable HTTP,并提供可复制的客户端配置,请参见 [docs/mcp-ai-client-guide.zh-CN.md](docs/mcp-ai-client-guide.zh-CN.md)。
## 安全模型
- API绑定到`127.0.0.1`。
- CORS仅允许回环源。
- `/api/health`、配置响应和MCP资源会删除密钥。
- Electron模式使用每个会话的本地操作令牌用于写入和副作用路由。
- MCP写入工具默认禁用。
- 云OCR需要明确的用户授权。
- 本地执行操作和外部发送操作需要React确认。
- 破坏性操作使用应用内确认流程而非原生浏览器提示。
## 路线图
高影响力的下一个阶段:
- 基于模型的AI规划器,仍然尊重干预策略检查和确认政策
- 更强的检索评估集用于比较嵌入提供商
- XLSX、PPTX和EPUB摄入
- 更丰富的文档标签、过滤器、笔记和审查队列
- Qdrant或sqlite-vec适配器用于替代向量后端
- 品牌应用图标、签名和安装程序润色
## 状态
`0.5.0`是一个活跃的预览版。核心本地摄入、OCR、向量搜索、MCP读取访问、AnythingLLM同步和Windows桌面打包工作流程已经实现;API和UX可能会在稳定版本之前继续更改。
当前设计优先级是实用可靠性:每个可见的按钮都应该执行实际操作、打开确认、显示明确的禁用原因或被冒烟测试覆盖。
## 许可证
尚未选择开源许可证。在添加`LICENSE`文件之前,该仓库仅可源代码访问;不授予任何重用许可证。