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 的本地多数据库架构从技术层面回答了这些顾虑:你的学术结晶,始终在你手中。