Minder 是一个开源的 AI 驱动个人知识管理平台。它解决了现代人面临的核心问题:信息过载但知识碎片化。
你每天从网页、PDF、播客、视频中获取大量信息,但这些信息散落在各个角落,无法形成系统化的知识。Minder 用 AI 帮你完成从采集 → 整理 → 连接 → 检索 → 输出的完整知识生命周期管理。
把碎片化的信息变成结构化的知识,把孤立的知识点变成互联的知识网络。
从多种来源一键采集内容,统一纳入知识库:
| 来源 | 方式 | 支持格式 |
|---|---|---|
| 网页 | URL粘贴 / 浏览器插件 | HTML → Markdown |
| 文件上传 / 文件夹监控 | PDF全文+元数据 | |
| 笔记 | 直接输入 / API导入 | Markdown / 纯文本 |
| 播客 | RSS订阅 / 音频上传 | 音频 → 文字转录 |
| 视频 | YouTube/Bilibili链接 | 字幕提取 + 摘要 |
| 微信 | 公众号文章链接 | HTML → Markdown |
from src.crawler import WebCrawler
crawler = WebCrawler()
article = crawler.crawl("https://example.com/article")
# 返回: { title, content, author, tags, summary }AI 自动完成知识的结构化处理:
- 自动标签:基于内容语义生成标签,而非简单关键词匹配
- 智能分类:按知识类型(文章/笔记/想法/问题/灵感/项目)自动归类
- 自动摘要:生成简洁准确的内容摘要
- 去重检测:识别重复或高度相似的内容
- 关系发现:自动发现与已有知识的关联
from src.organizer import KnowledgeOrganizer
organizer = KnowledgeOrganizer()
result = organizer.process(raw_content)
# 返回: { type, tags, summary, related_items, duplicate_check }自动构建知识关联网络,让知识不再是孤岛:
- 节点:每个知识点是一个节点(文章、概念、人物、项目...)
- 边:AI 发现的知识关联(引用、相似、因果、时序...)
- 可视化:交互式图谱浏览,支持缩放、筛选、聚焦
- 自动扩展:新知识入库时自动更新图谱
{
"nodes": [
{ "id": "k1", "label": "Transformer架构", "type": "concept" },
{ "id": "k2", "label": "注意力机制", "type": "concept" }
],
"edges": [
{ "source": "k1", "target": "k2", "relation": "包含", "weight": 0.95 }
]
}超越关键词搜索的语义检索:
- 语义搜索:理解查询意图,而非字面匹配
- 关联推荐:搜索一个知识点时,自动推荐相关知识
- 时间线:按时间维度浏览知识获取历程
- 过滤器:按类型、标签、来源、日期多维筛选
- 自然语言查询:用日常语言提问,如"上周看的那篇关于AI的文章"
from src.search import SemanticSearch
search = SemanticSearch()
results = search.query("深度学习在医疗影像中的应用")
# 返回语义最相关的知识条目,按相关度排序将知识转化为有价值的输出物:
- AI辅助写作:基于知识库内容辅助撰写文章
- 知识卡片:自动生成精美的知识摘要卡片
- 思维导图:将知识结构转化为思维导图
- 周报/月报:自动生成知识获取周报
- 分享链接:一键生成可分享的知识页面
基于间隔重复原理,让知识保持鲜活:
- 智能复习:根据遗忘曲线安排复习时间
- 知识保鲜:定期推送旧知识的关联新内容
- 学习统计:可视化你的知识增长曲线
- 目标追踪:设定学习目标并追踪进度
知识不只是个人的事:
- 共享知识库:团队成员共享知识空间
- 权限管理:精细的读写权限控制
- 协作标注:多人对同一内容添加笔记
- 知识评审:团队评审和讨论机制
与你常用的工具互通:
| 工具 | 集成方式 | 功能 |
|---|---|---|
| Notion | API双向同步 | 笔记导入/导出 |
| Obsidian | 本地文件同步 | Markdown文件互通 |
| Readwise | API导入 | 高亮和笔记同步 |
| API导入 | 稍后读列表同步 | |
| Hypothesis | API导入 | 网页标注同步 |
| 浏览器 | Chrome/Firefox插件 | 一键采集 |
┌─────────────────────────────────────────────────────┐
│ 前端层 (Frontend) │
│ Streamlit 原型 ─── React WebApp ─── 移动端 (规划中) │
└──────────────────────┬──────────────────────────────┘
│ REST API / WebSocket
┌──────────────────────┴──────────────────────────────┐
│ 后端层 (Backend) │
│ FastAPI Server ─── 认证 ─── 限流 ─── 日志 │
├─────────────────────────────────────────────────────┤
│ 核心服务层 (Services) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│ │ 采集服务 │ │ 整理服务 │ │ 搜索服务 │ │ 图谱服务 │ │
│ │ Crawler │ │Organizer │ │ Search │ │ Graph │ │
│ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │
├─────────────────────────────────────────────────────┤
│ AI 引擎层 (AI Engine) │
│ Embedding (BGE/ADA) ─── LLM (GPT/DeepSeek/本地) │
├─────────────────────────────────────────────────────┤
│ 数据层 (Data Layer) │
│ PostgreSQL ─── Milvus/Chroma ─── Redis ─── MinIO │
│ (结构化数据) (向量存储) (缓存) (文件存储) │
└─────────────────────────────────────────────────────┘
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 前端 | Streamlit / React | 原型用Streamlit,正式版用React |
| 后端 | FastAPI | 高性能异步Python框架 |
| AI引擎 | OpenAI / DeepSeek / 本地LLM | 可切换,支持离线部署 |
| 向量库 | Chroma / Milvus | 语义搜索核心 |
| 关系库 | PostgreSQL + JSONB | 结构化数据+灵活存储 |
| 缓存 | Redis | 热点数据和会话缓存 |
| 对象存储 | MinIO / S3 | 文件和媒体存储 |
| 容器化 | Docker + Compose | 一键部署 |
- Python 3.9+
- pip 或 poetry
- (可选)Docker 和 Docker Compose
# 1. 克隆仓库
git clone https://github.com/MoKangMedical/minder.git
cd minder
# 2. 安装依赖
pip install -r requirements.txt
# 3. 配置环境变量
cp .env.example .env
# 编辑 .env,填入你的 API Key
# 4. 启动 Streamlit 原型
streamlit run src/app.py
# 浏览器自动打开 http://localhost:8501# 一键启动所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 访问 http://localhost:8501# 快速体验采集功能
from src.crawler import WebCrawler
crawler = WebCrawler()
result = crawler.crawl("https://example.com")
print(result)
# 快速体验搜索功能
from src.search import SemanticSearch
search = SemanticSearch()
results = search.query("你的问题")
for r in results:
print(f"[{r['score']:.2f}] {r['title']}")minder/
├── src/ # 核心源码
│ ├── app.py # Streamlit 原型入口
│ ├── crawler.py # 多源采集模块
│ ├── organizer.py # 智能整理模块
│ └── search.py # 语义搜索模块
├── data/ # 数据文件
│ ├── knowledge-types.json # 知识类型定义
│ └── sample-kg.json # 示例知识图谱
├── docs/ # 文档
│ ├── user-guide.md # 用户指南
│ └── README.md # API文档
├── tests/ # 测试
├── scripts/ # 部署脚本
├── docker-compose.yml # Docker编排
├── Dockerfile # 容器构建
└── .env.example # 环境变量模板
- Base URL:
http://localhost:8000/api/v1 - 认证方式: Bearer Token (JWT)
- 请求格式: JSON
- 响应格式: JSON
# 创建知识条目
POST /api/v1/items
Content-Type: application/json
Authorization: Bearer <token>
{
"content": "今天学到了...",
"type": "note",
"tags": ["学习", "AI"],
"source_url": "https://example.com"
}
# 获取知识列表
GET /api/v1/items?type=article&tag=AI&page=1&per_page=20
# 获取单条知识
GET /api/v1/items/{item_id}
# 更新知识
PUT /api/v1/items/{item_id}
# 删除知识
DELETE /api/v1/items/{item_id}# 语义搜索
POST /api/v1/search
Content-Type: application/json
{
"query": "深度学习在医疗中的应用",
"limit": 10,
"filters": {
"type": "article",
"date_from": "2024-01-01"
}
}
# 关联推荐
GET /api/v1/items/{item_id}/related?limit=5# 获取图谱数据
GET /api/v1/graph?depth=2¢er={node_id}
# 添加关系
POST /api/v1/graph/edges
{
"source": "item_1",
"target": "item_2",
"relation": "相关",
"weight": 0.8
}# 网页采集
POST /api/v1/crawl
{
"url": "https://example.com/article",
"extract_mode": "full"
}
# 批量采集
POST /api/v1/crawl/batch
{
"urls": ["url1", "url2", "url3"]
}{
"success": true,
"data": { ... },
"meta": {
"page": 1,
"per_page": 20,
"total": 150
}
}| 状态码 | 含义 | 说明 |
|---|---|---|
| 200 | 成功 | 请求正常完成 |
| 201 | 已创建 | 资源创建成功 |
| 400 | 请求错误 | 参数校验失败 |
| 401 | 未认证 | Token缺失或无效 |
| 403 | 无权限 | 权限不足 |
| 404 | 未找到 | 资源不存在 |
| 429 | 请求过多 | 触发限流,请稍后重试 |
| 500 | 服务器错误 | 内部错误 |
每天阅读大量论文和文章,需要系统化管理文献和想法
- 采集论文PDF → AI提取摘要和关键发现
- 自动构建研究领域的知识图谱
- 语义搜索快速找到相关研究
- 自动生成文献综述草稿
需要从各种来源收集素材和灵感
- 网页/播客/视频一键采集
- AI自动打标签和分类
- 写作时智能推荐相关素材
- 生成知识卡片用于社交媒体
正在系统学习某个领域
- 按主题组织学习笔记
- 知识图谱可视化学习进度
- 间隔重复巩固知识点
- AI问答检验学习效果
团队需要共享和管理项目知识
- 团队共享知识库
- 新成员快速了解项目背景
- 知识评审和讨论
- 自动生成团队知识周报
- v0.1 — 基础采集和整理功能
- v0.2 — Streamlit 原型 + 语义搜索
- v0.3 — 知识图谱可视化
- v0.4 — 回顾提醒系统
- v0.5 — 团队协作功能
- v1.0 — 正式发布(React前端 + 完整API)
- v1.1 — 移动端App
- v1.2 — 浏览器插件
- v2.0 — 本地LLM完整支持,完全离线运行
欢迎贡献!请查看 CONTRIBUTING.md 了解详情。
- 🐛 提交Bug报告
- 💡 提出新功能建议
- 📝 改进文档
- 🔧 提交代码PR
- ⭐ Star这个项目
# 克隆并安装开发依赖
git clone https://github.com/MoKangMedical/minder.git
cd minder
pip install -r requirements.txt -r requirements-dev.txt
# 运行测试
pytest tests/ -v
# 代码格式化
black src/ tests/
isort src/ tests/| 项目 | 定位 |
|---|---|
| OPC Platform | 一人公司全链路学习平台 |
| Digital Sage | 与100位智者对话 |
| Cloud Memorial | AI思念亲人平台 |
| 天眼 Tianyan | 市场预测平台 |
| MediChat-RD | 罕病诊断平台 |
| MedRoundTable | 临床科研圆桌会 |
| DrugMind | 药物研发数字孪生 |
| MediPharma | AI药物发现平台 |
| Minder | AI知识管理平台 |
| Biostats | 生物统计分析平台 |
本项目采用 MIT License 开源协议。