知识库管理
核心功能 | 状态: ✅ 生产就绪 | RAG 混合搜索 | Markdown/PDF/Evernote 导入 | 静态站点导出
ChainlessChain的知识库管理功能帮助您构建个人第二大脑,统一管理笔记、文档、网页剪藏和对话历史。
核心特性
- 📝 Markdown 笔记: 支持富文本编辑、标签分类、全文搜索
- 🔍 RAG 混合搜索: BM25 关键词 + 向量语义的双路检索
- 📥 多格式导入: Markdown / PDF / Evernote ENEX / Notion 一键导入
- 📤 知识导出: 静态 HTML 站点 / Markdown 批量导出
- 🌐 网页剪藏: 浏览器扩展一键保存网页内容
- 🤖 AI 增强: RAG 问答、自动摘要、智能标签推荐
- 🔐 加密存储: SQLCipher AES-256 全库加密
- 📊 版本控制: 笔记历史版本、diff 对比、一键回滚
系统架构
用户操作 (桌面端/CLI)
│
▼
┌───────────────────────────────────────────┐
│ 知识库管理层 │
│ ┌─────────┐ ┌──────────┐ ┌────────────┐ │
│ │ 笔记 CRUD│ │ 导入/导出 │ │ 网页剪藏 │ │
│ └────┬────┘ └────┬─────┘ └─────┬──────┘ │
│ └───────────┼─────────────┘ │
│ ▼ │
│ ┌────────────────────────────────────┐ │
│ │ 搜索引擎 │ │
│ │ BM25 关键词 │ Qdrant 向量语义 │ │
│ └────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────────────────────┐ │
│ │ SQLite + SQLCipher (AES-256) │ │
│ │ notes / tags / embeddings 表 │ │
│ └────────────────────────────────────┘ │
└───────────────────────────────────────────┘核心模块
| 模块 | 说明 | 关键文件 |
|---|---|---|
| 笔记管理 | CRUD、标签、分类、软删除 | database.js |
| RAG 搜索 | BM25 + 向量混合检索 | rag/ |
| 知识导入 | Markdown/PDF/ENEX/Notion | cli/src/lib/knowledge-importer.js |
| 知识导出 | Markdown 批量 / 静态站点 | cli/src/lib/knowledge-exporter.js |
| 版本控制 | 笔记历史、diff、回滚 | cli/src/lib/note-versioning.js |
| 网页剪藏 | 浏览器扩展剪藏 | browser/ |
核心概念
什么是知识库?
知识库是您所有知识资产的集合,包括:
- 📝 笔记: Markdown格式的个人笔记
- 📄 文档: PDF、Word、Excel等文档
- 🔖 网页剪藏: 保存的网页内容
- 💬 对话历史: 与AI的对话记录
- 📊 数据表: 结构化数据
- 🖼️ 多媒体: 图片、视频、音频
知识库的特点
✅ 完全本地化: 所有数据存储在本地,不上传云端 ✅ 加密存储: 敏感数据AES-256加密 ✅ 版本控制: Git管理,完整历史记录 ✅ 全文搜索: MeiliSearch提供毫秒级搜索 ✅ AI增强: 智能摘要、问答、关联推荐 ✅ 跨设备同步: Git同步到多台设备
创建和管理笔记
创建新笔记
方式一: 快捷键
Ctrl/Cmd + N - 创建新笔记方式二: 菜单
文件 → 新建笔记方式三: 命令面板
Ctrl/Cmd + P → 输入 "新建笔记"Markdown编辑器
ChainlessChain使用所见即所得的Markdown编辑器,支持:
基础语法
# 一级标题
## 二级标题
### 三级标题
**粗体** *斜体* ~~删除线~~
- 无序列表
- 项目2
1. 有序列表
2. 项目2
[链接](https://www.chainlesschain.com)
代码块
```javascript
function hello() {
console.log('Hello, World!')
}
```支持100+种语言语法高亮:
- JavaScript, TypeScript, Python, Java, C++, Rust...
- JSON, YAML, TOML, XML...
- Bash, PowerShell, SQL...
数学公式
行内公式: $E = mc^2$
块级公式:
$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$使用KaTeX渲染,支持LaTeX语法。
表格
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| A | B | C |
| D | E | F |任务列表
- [ ] 待完成任务
- [x] 已完成任务
- [ ] 另一个任务引用
> 这是一段引用
> 可以多行分隔线
---脚注
这是一段文字[^1]
[^1]: 这是脚注内容富文本功能
插入图片
# 方式一: Markdown语法

# 方式二: 拖拽
直接拖拽图片到编辑器
# 方式三: 粘贴
Ctrl/Cmd + V 粘贴剪贴板图片图片自动压缩和优化。
插入附件
[下载文件](./attachments/document.pdf)支持的文件类型:
- 文档: PDF, DOCX, XLSX, PPTX
- 压缩包: ZIP, RAR, 7Z
- 代码: 所有文本文件
插入链接
# 内部链接
[[另一个笔记的标题]]
# 外部链接
[Google](https://google.com)
# 带标题的链接
[Google](https://google.com "搜索引擎")嵌入网页
<iframe src="https://www.chainlesschain.com" width="100%" height="400"></iframe>标签和分类
添加标签
#技术 #编程 #JavaScript或在笔记元数据中:
---
tags: [技术, 编程, JavaScript]
category: 学习笔记
date: 2024-12-02
---标签管理
- 侧边栏显示所有标签
- 点击标签查看相关笔记
- 支持标签嵌套:
#技术/编程/JavaScript - 标签自动补全
笔记模板
创建模板
设置 → 模板 → 新建模板示例模板:
---
title: {{title}}
date: {{date}}
tags: []
---
# {{title}}
## 概述
## 详细内容
## 参考资料
---
Created: {{date}}
Updated: {{updated}}使用模板
新建笔记 → 选择模板内置模板:
- 📝 日记模板
- 📚 读书笔记
- 💡 想法记录
- 📋 会议记录
- 🎯 项目规划
搜索和查找
全文搜索
基础搜索
Ctrl/Cmd + F - 搜索当前笔记
Ctrl/Cmd + Shift + F - 全局搜索搜索框支持:
- 关键词搜索
- 多关键词 AND:
keyword1 keyword2 - OR搜索:
keyword1 OR keyword2 - 排除:
keyword1 -keyword2 - 短语搜索:
"exact phrase"
高级搜索
按标签搜索:
tag:技术 tag:编程按日期搜索:
created:2024-12-01
modified:>2024-12-01按文件类型:
type:markdown
type:pdf组合搜索:
编程 tag:技术 created:>2024-11-01语义搜索
启用AI语义搜索后,可以用自然语言搜索:
"如何使用Git同步笔记"
"关于机器学习的笔记"
"上周的会议记录"AI会理解语义,返回最相关的结果。
搜索结果
- 高亮显示匹配词
- 显示上下文
- 按相关度排序
- 支持预览
- 支持批量操作
AI增强功能
智能摘要
自动摘要
右键 → AI功能 → 生成摘要AI会自动提取文档的核心内容,生成3-5句摘要。
定制摘要长度
简短摘要(1-2句)
标准摘要(3-5句)
详细摘要(1段)智能问答
基于知识库问答
Ctrl/Cmd + K - 打开AI助手示例问题:
Q: 总结一下我关于机器学习的所有笔记
A: 根据您的笔记,您主要学习了...
Q: 我上周写了什么?
A: 上周您创建了5篇笔记,主要内容包括...
Q: 帮我找出所有TODO事项
A: 找到以下未完成任务:
1. 完成项目文档
2. 学习Rust编程
...引用来源
AI回答会标注来源笔记:
根据《机器学习笔记.md》,神经网络是...
参考《深度学习基础.md》第3章...点击可跳转到原笔记。
AI辅助写作
续写
选中文本 → AI功能 → 续写AI会根据上下文继续写作。
改写
选中文本 → AI功能 → 改写可选择:
- 更正式
- 更口语
- 更简洁
- 更详细
翻译
选中文本 → AI功能 → 翻译支持中英日韩等多语言互译。
生成大纲
AI功能 → 生成大纲输入主题,AI生成文章大纲。
智能推荐
相关笔记推荐
打开笔记时,右侧显示相关笔记:
📄 相关笔记
- JavaScript高级编程 (相似度: 85%)
- Vue 3实战指南 (相似度: 72%)
- TypeScript入门 (相似度: 68%)智能标签推荐
创建笔记时,AI推荐标签:
建议标签: #编程 #JavaScript #前端知识图谱
可视化关联
视图 → 知识图谱显示笔记之间的关联关系:
- 节点: 笔记
- 边: 链接、标签、主题关联
- 颜色: 标签分类
- 大小: 笔记重要程度
图谱导航
- 点击节点打开笔记
- 拖拽调整布局
- 缩放查看细节
- 过滤显示特定类别
导入和导出
导入
导入Markdown
文件 → 导入 → Markdown文件
支持格式:
- 单个.md文件
- 文件夹(保留目录结构)
- .zip压缩包导入其他格式
PDF:
文件 → 导入 → PDF
自动OCR文字识别
保留原始PDF附件Word文档:
文件 → 导入 → Word文档
转换为Markdown
保留图片和格式网页:
浏览器插件 → 剪藏到ChainlessChain
保存完整网页
提取正文
去除广告Notion:
文件 → 导入 → Notion导出
1. 在Notion中: Settings → Export all workspace content
2. 选择Markdown & CSV格式
3. 在ChainlessChain中选择导出的zip文件Evernote:
文件 → 导入 → Evernote
支持.enex格式
自动转换为Markdown
保留标签和笔记本导出
导出单个笔记
文件 → 导出当前笔记
格式选项:
- Markdown (.md)
- PDF (.pdf)
- HTML (.html)
- Word (.docx)批量导出
文件 → 导出 → 批量导出
选择:
- 全部笔记
- 选定标签
- 选定文件夹
- 日期范围
格式:
- Markdown压缩包
- PDF合集
- HTML网站导出为网站
文件 → 导出 → 静态网站
生成静态HTML网站:
- 响应式设计
- 搜索功能
- 标签导航
- 主题切换可部署到:
- GitHub Pages
- Netlify
- Vercel
网页剪藏
浏览器插件
安装插件
支持浏览器:
- Chrome/Edge
- Firefox
- Safari
下载地址: https://www.chainlesschain.comextensions
使用插件
完整网页:
点击插件图标 → 保存整页选择区域:
选中内容 → 右键 → 剪藏到ChainlessChain快捷键:
Ctrl/Cmd + Shift + S - 快速剪藏剪藏选项
- ✂️ 智能提取: 只保存正文
- 📸 完整网页: 保存全部内容
- 📝 仅文本: 纯文本无格式
- 🔖 书签: 只保存链接
- 📷 截图: 保存网页截图
网页管理
所有剪藏的网页保存在:
知识库 → 网页剪藏支持:
- 全文搜索
- 标签分类
- 离线阅读
- 高亮笔记
- 导出PDF
数据组织
文件夹结构
推荐的目录结构:
知识库/
├── 01-收件箱/ # 临时笔记
├── 02-项目/ # 项目相关
│ ├── 项目A/
│ └── 项目B/
├── 03-领域/ # 按领域分类
│ ├── 技术/
│ ├── 读书/
│ └── 生活/
├── 04-归档/ # 已完成项目
└── 05-模板/ # 笔记模板命名规范
推荐命名方式:
# 日期+标题
2024-12-02 机器学习入门.md
# 编号+标题
001 项目计划.md
002 需求分析.md
# 分类+标题
[技术] JavaScript高级编程.md
[读书] 代码整洁之道.md标签体系
建议的标签层级:
#领域/技术/编程/JavaScript
#领域/技术/编程/Python
#领域/技术/设计/UI
#项目/项目A/需求
#项目/项目A/开发
#状态/TODO
#状态/进行中
#状态/已完成协作和分享
分享笔记
导出链接
右键笔记 → 分享 → 生成链接
选项:
- 有效期: 1天/7天/30天/永久
- 密码保护: 可选
- 允许下载: 是/否导出二维码
右键笔记 → 分享 → 生成二维码
手机扫码即可查看协作编辑
共享笔记本
右键文件夹 → 共享
输入协作者DID
设置权限:
- 只读
- 编辑
- 管理实时协作
多人可同时编辑:
- 实时同步
- 冲突自动合并
- 显示编辑者光标
- 版本历史保留
最佳实践
笔记方法
Zettelkasten(卡片盒笔记法)
每篇笔记:
1. 一个想法
2. 原子化内容
3. 链接相关笔记
4. 用自己的话重写PARA方法
Projects(项目)- 短期目标
Areas(领域)- 长期责任
Resources(资源)- 兴趣主题
Archives(归档)- 已完成项目Cornell笔记法
---
title: 笔记标题
date: 2024-12-02
---
## 要点提示
- 关键词1
- 关键词2
## 笔记内容
详细内容...
## 总结
一句话总结...高效技巧
1. 每日笔记
设置 → 启用每日笔记
自动创建当天笔记
模板: 日记模板
快捷键: Ctrl/Cmd + T2. 快速捕获
全局快捷键: Ctrl/Cmd + Shift + N
快速弹出窗口
输入想法
自动保存到收件箱3. 定期整理
建议流程:
1. 每周回顾收件箱
2. 整理到对应文件夹
3. 添加标签
4. 建立笔记链接
5. 归档已完成项目4. 利用AI
- 每周让AI总结笔记
- 让AI提取待办事项
- 让AI生成知识图谱
- 让AI推荐阅读顺序
高级功能
自定义脚本
支持JavaScript脚本自动化:
// 自动添加创建时间
plugin.registerHook('onCreate', (note) => {
note.metadata.created = new Date().toISOString()
})
// 自动生成摘要
plugin.registerHook('onSave', async (note) => {
if (note.content.length > 500) {
note.metadata.summary = await ai.summarize(note.content)
}
})自定义主题
CSS自定义样式:
/* 自定义编辑器样式 */
.editor {
font-family: 'Monaco', monospace;
font-size: 16px;
line-height: 1.8;
}
/* 自定义代码块 */
.code-block {
background: #282c34;
border-radius: 8px;
}插件系统
安装社区插件:
设置 → 插件 → 浏览插件
热门插件:
- 思维导图
- 甘特图
- 日历视图
- Vim模式
- 番茄时钟下一步
构建您的第二大脑,永久保存您的知识! 🧠
关键文件
desktop-app-vue/src/main/database.js— 笔记数据库 Schemadesktop-app-vue/src/main/rag/— RAG 混合搜索引擎desktop-app-vue/src/renderer/pages/knowledge/— 知识库前端页面packages/cli/src/commands/note.js— CLI 笔记命令packages/cli/src/lib/bm25-search.js— BM25 搜索引擎
使用示例
CLI 快速操作
# 添加笔记
chainlesschain note add "学习笔记" -c "今天学习了RAG混合搜索" -t "学习,AI"
# 搜索笔记
chainlesschain note search "RAG搜索"
# 混合搜索(BM25 + 向量语义)
chainlesschain search "如何优化向量检索"
# 导入 Markdown 文件夹
chainlesschain import markdown ./docs --recursive
# 导入 PDF 文档
chainlesschain import pdf ./paper.pdf
# 导出为静态站点
chainlesschain export site -o ./my-site桌面端常用操作
1. Ctrl/Cmd + N → 新建笔记
2. Ctrl/Cmd + Shift + F → 全局搜索
3. Ctrl/Cmd + K → 打开 AI 助手,基于知识库问答
4. 右键笔记 → AI 功能 → 生成摘要 / 续写 / 翻译
5. 视图 → 知识图谱 → 查看笔记关联关系故障排查
搜索结果不准确
- 检查索引状态: 确认 Qdrant 向量数据库服务运行正常(默认端口
6333) - 重建索引: 设置 → 知识库 → 重建搜索索引
- 调整搜索权重: BM25 适合精确关键词,向量搜索适合语义模糊查询
导入文件失败
- PDF 导入: 确认 PDF 未被密码保护,OCR 功能需要 Tesseract.js 支持
- Evernote 导入: 仅支持
.enex格式,确认从 Evernote 正确导出 - 编码问题: 确保文件为 UTF-8 编码,Windows 下注意 BOM 头
数据库加密错误
- 密钥不匹配: SQLCipher 密钥变更后需要重新解锁数据库
- 数据库损坏: 使用
chainlesschain db info检查数据库状态 - 迁移失败: 运行
chainlesschain db init重新初始化表结构
知识导出空白
- 检查筛选条件: 导出时确认选择了正确的标签或日期范围
- 权限问题: 确认导出目录有写入权限
- 大文件超时: 大量笔记导出建议分批操作
安全考虑
数据存储安全
- 所有笔记数据使用 SQLCipher AES-256 全库加密,密钥由 U 盾硬件保护
- 文件附件使用 AES-256-GCM 独立加密存储
- 数据库密钥通过 HKDF 从主密钥派生,永不明文存储
搜索隐私保护
- 向量搜索完全在本地运行,查询内容不会上传到任何云端服务
- BM25 索引存储在本地 SQLite 中,不依赖外部搜索引擎
- AI 增强功能(摘要、问答)使用本地 Ollama 模型,保证数据不外泄
导入导出安全
- 导入文件自动进行恶意内容检测(脚本注入、XSS 攻击等)
- 导出的静态站点默认不包含加密密钥和敏感配置
- 分享链接支持密码保护和有效期设置,过期自动失效
协作安全
- 共享笔记本使用 Signal 协议端到端加密,中继节点无法读取内容
- 协作编辑基于 CRDT 协议,操作日志签名验证防篡改
- 权限变更记录在审计日志中,支持 90 天回溯查询
相关文档
- 笔记/知识库管理 (CLI) — CLI 笔记命令
- 混合搜索 (CLI) — BM25 搜索命令
- 数据加密 — 数据库加密保护
- Git 同步 — 知识库跨设备同步
