NoteDiscovery — 你的自建知识库

项目地址:https://github.com/gamosoft/NoteDiscovery

NoteDiscovery 是一个轻量级的自托管笔记应用,让你完全掌控自己的知识库。用漂亮、现代化的界面写作、整理和探索笔记——全部运行在你自己的服务器上。

适合谁用

  • 注重隐私的用户,希望对数据拥有完全控制权
  • 偏好 Markdown 和本地文件存储的开发者
  • 构建个人 Wiki 或第二大脑的知识工作者
  • 寻找商业应用自建替代方案的团队
  • 重视简洁、速度和掌控权的任何人

对比一览

方面 NoteDiscovery 商业应用
费用 100% 免费 \$xxx/月/年
隐私 你的服务器,你的数据 他们的服务器,他们的条款
速度 闪电般快 取决于网络
离线 始终可用 受限或需同步
可定制 完全控制 选项有限
无锁定 纯 Markdown 文件 专有格式

功能亮点

  • 🔒 完全隐私 — 笔记永远不会离开你的服务器
  • 🔐 可选认证 — 自建部署时可设置简单的密码保护
  • 💰 零成本 — 无订阅,无隐藏费用
  • 🚀 快速轻量 — 即时搜索和导航
  • 🎨 精美主题 — 多款主题,易于自定义
  • 🔌 可扩展 — 插件系统支持自定义功能
  • 📱 响应式 — 桌面端、平板和手机均可使用
  • 📂 简单存储 — 纯 Markdown 文件,按文件夹管理
  • 🧮 数学支持 — LaTeX/MathJax 渲染公式
  • 📄 HTML 导出和打印 — 将笔记导出为独立 HTML 或打印
  • 🕸️ 图谱视图 — 笔记之间关联的可视化交互图
  • ✏️ 绘图编辑器 — 在应用内绘制草图,保存为 drawing-*.png 放在笔记旁
  • 收藏 — 给常用笔记加星标,快速访问
  • 📑 大纲面板 — 通过可点击跳转的目录导航标题
  • 🤖 AI 助手就绪 — 集成 MCP 协议,支持 Claude、Cursor 等

🤖 AI 集成(MCP)

NoteDiscovery 内置了模型上下文协议(MCP)服务器,让 AI 助手直接与你的笔记交互:

AI 能做什么 示例
🔍 搜索与发现 "找到我所有关于 Docker 部署的笔记"
📝 创建与编辑 "为明天的会议创建一个会议笔记模板"
📁 整理 "将所有项目笔记移到归档文件夹"
🏷️ 标签与分类 "列出所有标记了 #urgent 的笔记"
📊 探索关联 "展示我的笔记的知识图谱"
✍️ 追加想法 "把这段想法添加到我的每日日志中"

一行命令配置 Cursor、Claude Desktop 等工具:

{
  "mcpServers": {
    "notediscovery": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "NOTEDISCOVERY_URL=http://host.docker.internal:8000", "ghcr.io/gamosoft/notediscovery:latest", "python", "-m", "mcp_server"]
    }
  }
}

🚀 快速开始

Docker 一键运行

Linux/macOS:

mkdir -p notediscovery/data && cd notediscovery
docker run -d --name notediscovery -p 8000:8000 \
  -v $(pwd)/data:/app/data \
  ghcr.io/gamosoft/notediscovery:latest

Windows (PowerShell):

mkdir notediscovery\data; cd notediscovery
docker run -d --name notediscovery -p 8000:8000 `
  -v ${PWD}/data:/app/data `
  ghcr.io/gamosoft/notediscovery:latest

打开 http://localhost:8000 — 完成!🎉

笔记保存在 ./data/ 目录中。主题、插件、语言包和默认配置已包含在镜像内。

Docker Compose(带认证)

services:
  notediscovery:
    container_name: notediscovery
    ports:
      - 8900:8000
    environment:
      - AUTHENTICATION_ENABLED=true
      - AUTHENTICATION_PASSWORD=<你的密码>
      - AUTHENTICATION_SECRET_KEY=<你的密钥>
    volumes:
      - /data/note:/app/data
    image: ghcr.io/gamosoft/notediscovery:latest

Docker Compose

提供两个 compose 文件:

文件 用途
docker-compose.ghcr.yml 推荐 — 使用 GitHub Container Registry 预构建镜像
docker-compose.yml 供开发使用 — 从本地源码构建

方案一:预构建镜像(最快)

mkdir -p notediscovery/data && cd notediscovery
curl -O https://raw.githubusercontent.com/gamosoft/notediscovery/main/docker-compose.ghcr.yml
docker-compose -f docker-compose.ghcr.yml up -d

方案二:从源码构建(用于开发)

git clone https://github.com/gamosoft/notediscovery.git
cd notediscovery
docker-compose up -d

直接运行(Python)

# 克隆仓库
git clone https://github.com/gamosoft/notediscovery.git
cd notediscovery

# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate  # Bash/Zsh
# 或 Windows: .\venv\Scripts\activate

# 安装依赖并运行
pip install -r requirements.txt
python run.py

# 访问 http://localhost:8000

要求: Python 3.8+

Docker 数据卷说明

镜像内含配置、主题、插件和语言包。要自定义,只需映射对应的卷:

用途 是否内置
data/ 你的笔记 ❌ 必须自行创建
config.yaml 应用设置 ✅ 有
themes/ 自定义主题 ✅ 有
plugins/ 自定义插件 ✅ 有
locales/ 翻译文件 ✅ 有

🌐 多语言支持

NoteDiscovery 通过 locales/ 目录下的 JSON 语言文件支持多语言界面。打开设置(齿轮图标)→ Language 即可选择。

Docker 用户可挂载自定义语言包:

volumes:
  - ./locales:/app/locales   # 自定义翻译

进阶技巧: 如果你克隆了仓库,可以挂载 documentation/ 文件夹,在应用内查看这些文档:

volumes:
  - ./data:/app/data              # 你的笔记
  - ./documentation:/app/data/docs:ro  # 将文档挂载到 data 下(只读)

📚 更多文档

⚠️ 安全注意事项

NoteDiscovery 专为自建私有使用设计,请注意以下安全事项:

  • ⚠️ 不要直接暴露到公网,在没有额外安全措施的情况下
  • 生产环境请使用反向代理(nginx、Caddy)+ HTTPS
  • 保持在本地网络或通过 VPN 远程访问
  • 默认情况下应用监听 0.0.0.0:8000(所有网络接口)
  • 密码保护默认关闭(默认密码:admin)
  • 如果暴露到网络,务必开启认证并修改默认密码!
  • 禁用认证:在 config.yaml 中设置 authentication.enabled: false
  • 适合单人使用或小团队部署
  • 多用户场景建议使用带 OAuth/SSO 的反向代理
  • 笔记以纯文本 Markdown 文件存储在 data/ 文件夹中
  • 数据不会发送到任何外部服务
  • 建议定期备份

📦 仪表盘图标

NoteDiscovery 现已加入 Dashboard Icons!可在 Homepage、Homarr、Dashy、Heimdall 等自建仪表盘中使用的图标。

📜 许可证

MIT License — 自由使用、修改和分发。


为自建社区用 ❤️ 打造