InkCop 采用**本地优先(Local-First)**的多数据库协同架构。所有学术数据均存储在用户本地设备,多种专业数据库各司其职、协同工作,在保护隐私的同时实现媲美云服务的检索性能。
架构设计原则
数据主权在你手中
InkCop 的核心设计原则是:你的学术数据永远不离开你的设备(除非你主动调用云端 AI 接口)。这意味着:
- 未发表论文的内容、思路、研究数据:✅ 仅存于本地
- 私人文献库及标注:✅ 仅存于本地
- 对话历史及 AI 输出:✅ 仅存于本地
- 调用云端 LLM 时:仅传输你发送的消息,不传输知识库内容
为什么需要多种数据库?
学术知识管理涉及多种数据类型,每种类型都有最适合的存储和检索方式:
| 数据类型 | 存储需求 | 最优数据库类型 |
|---|---|---|
| 文档元数据、设置、引用关系 | 结构化、可查询 | 关系型数据库(SQLite) |
| 文献文档对象、知识图谱节点 | 高性能对象存储 | 对象数据库(ObjectBox) |
| 语义向量(文本嵌入) | 高维向量近邻搜索 | 向量数据库(HNSW) |
| 实体关系图谱 | 图查询、路径检索 | 图数据库(Kuzu) |
| 对话历史、线程 | 轻量结构化 | SQLite(SQLCipher 加密) |
四大核心数据库
1. SQLite / SQLCipher — 结构化数据的基石
SQLite 是世界上使用最广泛的嵌入式关系型数据库。InkCop 在此基础上使用了 SQLCipher 加密变体。
存储内容:
- 应用设置与用户配置
- 对话历史、Thread 记录
- 信号任务队列(异步处理调度)
- 引用记录与验证状态
- 笔记、待办事项
安全特性:
- 可选的数据库级 AES-256 加密(SQLCipher)
- 支持加密导出归档
- 跨平台兼容(Windows/macOS/Linux)
2. ObjectBox — 文献知识库的高性能引擎
ObjectBox 是专为移动和桌面端设计的超高性能对象数据库,读写速度比 SQLite 快 5-15 倍。
存储内容:
- 知识库中的所有文献文档(Document)
- 文档分片(Chunk)及其元数据
- 向量嵌入数据(Embedding)
- 知识库配置与统计缓存
HNSW 向量索引: ObjectBox 内置了 HNSW(分层可导航小世界) 向量索引算法,支持在数百万文档分片中进行亚毫秒级的近似最近邻(ANN)检索。这是 InkCop 语义搜索能力的核心引擎。
用户查询 → 文本向量化 → HNSW 向量检索 → Top-K 相关分片 → 上下文注入 → AI 回答
3. Kuzu — 知识图谱的图数据库
Kuzu 是一款高性能的嵌入式图数据库,专门用于存储和查询实体关系网络。
存储内容:
- 知识实体(Entity):人名、机构、概念、术语等
- 实体间关系(Relation):发表于、引用了、属于、提出了等
- NLP 概念节点(Concept):语义级别的知识单元
- 社区(Community):相关概念的聚类群组
知识图谱检索的优势:
传统 RAG(向量检索)只能找到语义相似的段落,但无法理解实体之间的关系。Kuzu 使得 InkCop 可以回答如下问题:
- “在知识库中,哪些论文引用了 BERT 模型,且发表于 Nature 系列期刊?”
- “找出与’Transformer 架构’相关的所有核心概念及其联系”
- “这篇论文的作者还在哪些知识库文献中出现过?“
4. 向量数据库(HNSW 索引)— 对话记忆检索
除了知识库文档向量外,InkCop 还为对话历史维护一套独立的向量索引,实现”全局记忆”功能:
- 每次对话结束后,将该次对话的问答对向量化存储
- 开始新对话时,自动检索历史中与当前问题语义相关的对话记录
- 将相关历史记忆注入系统提示词,实现真正的长期记忆
数据协同工作流
以下是一次”语义检索”的完整数据流:
1. 用户提问 → 主智能体解析意图
↓
2. 调用知识库搜索工具:
├─ ObjectBox HNSW → 向量语义相似度检索(Top-K 分片)
└─ Kuzu 图查询 → 实体关系路径检索
↓
3. 结果融合:向量分数 + 图谱关系权重 → 重排序
↓
4. SQLite → 查询对应文档的元数据(标题、作者、引用信息)
↓
5. 检索结果注入上下文 → 调用云端 LLM 生成回答
↓
6. 返回带有可溯源引用的 AI 回答
整个过程中,云端 LLM 只接收到你的提问 + 检索到的相关段落,从不接触你完整的知识库。
本地模型支持:完全断网运行
InkCop 支持通过内置的 llama.cpp 服务运行本地模型(如 Qwen、Llama 等)。启用本地模型后:
- 推理计算在本地 CPU/GPU 执行
- 零网络请求:所有 AI 功能完全离线
- 适用于高安全要求的实验室环境或无网络区域
加密与数据安全
| 保护层 | 技术实现 | 覆盖范围 |
|---|---|---|
| 数据库加密 | SQLCipher AES-256 | 对话记录、设置 |
| 知识库导出加密 | 自定义密钥加密归档 | 导出的知识库包 |
| 传输层加密 | HTTPS/TLS | 调用云端 LLM 时 |
| 本地文件隔离 | 工作空间目录隔离 | 多用户/多项目 |
为什么这对学术研究者至关重要
学术界对数据安全有极高要求,原因包括:
- 学术不端风险:未发表研究成果上传至云服务器可能导致优先权争议
- 保密协议:科研合同通常禁止将研究数据上传至第三方
- AI 查重疑虑:部分学术机构将”AI 辅助写作”等同于作弊,本地处理可明确区分
- 数据所有权:研究者对自己的学术积累应有完整控制权
InkCop 的本地多数据库架构从技术层面回答了这些顾虑:你的学术结晶,始终在你手中。