一款功能完整的个人知识管理系统,帮助用户高效收集、整理并动态管理个人知识。
✅ 内容收集 - 浏览器剪藏插件、文件导入 ✅ Markdown编辑 - 富文本编辑器、实时预览 ✅ 标签与分类 - 多维索引、快速检索 ✅ 双向链接 - 内部链接、知识图谱视图 ✅ 全文搜索 - 关键词搜索、结果高亮 ✅ 版本历史 - 编辑历史、版本回滚 ✅ 导入导出 - Markdown互操作、数据备份 ✅ 权限控制 - 端到端加密、访问管理 ✅ 离线体验 - PWA应用、离线使用 ✅ AI辅助 - 自动摘要、智能标签、智能问答
- 后端: Node.js + Express + PostgreSQL
- 前端: React 18 + TypeScript + TailwindCSS
- 搜索: SQLite FTS5 + Elasticsearch(可选)
- 部署: Docker + Railway/Vercel
# 克隆项目 git clone <repo-url> cd personal-knowledge-vault # 后端开发 cd backend npm install npm run dev # 前端开发(新终端) cd frontend npm install npm run dev # 访问 http://localhost:3000# 构建镜像 docker-compose build # 运行服务 docker-compose up -d # 访问 http://localhost:8080详见 deployment/ 目录的部署指南。
personal-knowledge-vault/ ├── backend/ # Node.js后端服务 │ ├── src/ │ │ ├── api/ # 路由定义 │ │ ├── services/ # 业务逻辑 │ │ ├── models/ # 数据模型 │ │ ├── middleware/ # 中间件 │ │ ├── utils/ # 工具函数 │ │ └── server.ts # 入口点 │ ├── package.json │ ├── tsconfig.json │ └── Dockerfile ├── frontend/ # React前端应用 │ ├── src/ │ │ ├── components/ # UI组件 │ │ ├── pages/ # 页面 │ │ ├── services/ # API服务 │ │ ├── hooks/ # 自定义Hook │ │ ├── store/ # 状态管理 │ │ ├── types/ # TypeScript类型 │ │ ├── App.tsx │ │ └── main.tsx │ ├── public/ │ ├── package.json │ ├── tsconfig.json │ ├── vite.config.ts │ └── Dockerfile ├── extension/ # 浏览器插件 │ ├── src/ │ │ ├── popup.html │ │ ├── popup.tsx │ │ ├── content.ts │ │ ├── background.ts │ │ └── icons/ │ ├── manifest.json │ └── package.json ├── deployment/ # 部署配置 │ ├── docker-compose.yml │ ├── Dockerfile.backend │ ├── Dockerfile.frontend │ ├── nginx.conf │ ├── railway.yml │ └── vercel.json ├── docs/ # 文档 │ ├── ARCHITECTURE.md # 架构设计 │ ├── API.md # API文档 │ ├── DATABASE.md # 数据库设计 │ └── DEPLOYMENT.md # 部署指南 └── README.md - users - 用户表
- notes - 笔记表
- tags - 标签表
- note_tags - 笔记-标签关系
- note_links - 笔记链接关系
- note_versions - 版本历史
- attachments - 附件
GET /api/notes- 获取笔记列表POST /api/notes- 创建笔记GET /api/notes/:id- 获取笔记详情PUT /api/notes/:id- 更新笔记DELETE /api/notes/:id- 删除笔记GET /api/notes/:id/versions- 获取版本历史POST /api/notes/:id/versions/:versionId/restore- 恢复版本
GET /api/tags- 获取所有标签POST /api/tags- 创建标签DELETE /api/tags/:id- 删除标签
GET /api/search- 全文搜索GET /api/search/semantic- 语义搜索
GET /api/graph- 获取知识图谱数据GET /api/notes/:id/links- 获取笔记链接
支持 [[文档名]] 语法自动创建双向链接,维护完整的知识网络。
集成全文索引引擎,支持关键词搜索和语义搜索,毫秒级响应。
自动记录编辑历史,支持版本比对和一键回滚。
支持端到端加密存储,用户可选择本地部署确保数据可控。
Web、移动端、离线模式完美同步,知识随身携带。
集成Claude API进行内容摘要、标签推荐、智能问答。
- 本地开发服务已启动
- 前端: http://localhost:3000
- 后端API: http://localhost:3001
部署链接将在完成后更新。
MIT
欢迎提交问题和拉取请求!