Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,329 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nowen Note

Nowen Note(弄文笔记)

开源、自托管的知识库、每日记录与任务协作工作台

统一知识树 · 富文本 / Markdown 双编辑器 · 离线工作区 · AI RAG 问答 · 每日记录 · 任务中心 · 多端协作

English · 官方网站 · 在线体验 · 下载客户端 · 教程中心 · MCP 安装 · 更新日志

GitHub Release Docker Pulls License: GPL v3 Node.js 20+ Docker

Nowen Note 不只是一个编辑器。它希望成为一套由你掌控数据、可长期运行在 NAS / 服务器上,并能通过 Web、桌面端和移动端随时访问的个人与团队知识基础设施。

NAS 远程连接登录:支持部署到 绿联 NAS(UGOS / UGOS Pro)飞牛 NAS(fnOS)。部署完成后,可在 Web、桌面端或 Android 客户端中,通过局域网 IP、IPv6 地址或已配置 HTTPS 的公网域名远程连接并登录。

v1.4.10 已发布

v1.4.10 聚焦 编辑效率、移动端媒体稳定性、离线附件恢复、知识树体验与任务提醒可靠性,并继续补齐模板、导入导出和桌面端细节。

  • 标题录入新增重复前缀提示,长标题支持自动换行;Markdown 查找替换进一步优化,并新增“当前目录笔记搜索”。
  • 知识树支持拖拽调整节点层级;加密目录中的笔记不会泄露到不应展示的位置。
  • 图片预览新增旋转与独立复原,富文本粘贴默认保留文字颜色与跨笔记格式;桌面端增加原生文本右键菜单,并可用系统默认程序打开本地办公附件。
  • Android / 移动端强化图片、视频上传文件身份与 multipart 上传稳定性,并将图片和视频入口加入紧凑工具栏。
  • 离线附件增加损坏 Blob 校验、隔离与恢复信号,避免异常离线缓存污染在线渲染;离线同步默认关闭,由用户主动启用。
  • 任务提醒补齐创建端时区、全天截止和 PostgreSQL Schema 一致性;同时修复备份保留、思源导入和 Markdown 附件 ZIP 往返导入等问题。

查看:v1.4.10 Release · 完整更新日志

为什么选择 Nowen Note

数据真正属于你 支持 Docker / NAS 自托管,可部署到绿联 UGOS、飞牛 fnOS 等 NAS 平台;数据库、附件、索引和备份均由你管理,附件可接入 S3、Cloudflare R2 与 MinIO,备份可同步到邮件或 WebDAV。
一棵树管理全部内容 文件夹、富文本和 Markdown 文档统一组织,根目录也能直接创建文档,支持拖拽、排序、导入、权限继承、密码保护和共享展示。
在线与离线都能工作 可缓存完整工作区、正文和附件,断网继续阅读与编辑,联网后自动恢复增量同步。
写作、知识与行动统一 笔记、每日记录、任务、AI、思维导图和协作权限在同一套产品中完成,无需在多套工具间反复切换。

核心能力

模块 当前能力
统一知识树 文件夹、富文本与 Markdown 文档混合组织;支持根目录文档、无限层级、拖拽排序与层级调整、统一创建菜单、全部展开 / 收起、筛选搜索、数量统计、回收站和共享目录;三栏布局可展示子文件夹与层级范围。
富文本与 Markdown Tiptap 3、CodeMirror 6、格式互转、实时预览与分屏、大纲、斜杠命令、表格、代码块、KaTeX、Mermaid、脚注、Callout、媒体嵌入、跨笔记格式粘贴、标题重复前缀提示、评论和版本历史。
可靠保存与离线工作区 Yjs 持久化确认、未确认修改补传、IndexedDB 草稿恢复、富文本串行版本保存;支持个人空间、共享目录和工作区离线副本,并针对误冲突、重复副本和格式转换状态做保护;离线附件支持损坏 Blob 校验、隔离与恢复。
性能与加载 工作区、编辑器、任务、日记、文件管理、AI 等功能按需加载;静态资源支持缓存验证、Gzip / Brotli 预压缩,减少首屏依赖和重复传输。
知识组织与检索 彩色标签、收藏、置顶、全文搜索、当前目录笔记搜索、文内查找替换、双向链接、块引用、反向链接、知识图谱,以及“全部笔记”固定入口。
AI 能力 OpenAI 兼容接口、通义千问、Gemini、DeepSeek、豆包与 Ollama;支持续写、改写、翻译、标题与标签生成、总结、Embedding 索引和 RAG 知识问答。
每日记录 统一“瞬间 / 日历 / 日记”入口,支持短内容、心情、图片、视频、AI 周报 / 月报、自然日期命令、日记实体归档、历史目录整理和工作区共享日记。
任务与习惯 树形任务、列表、看板、日历、甘特图 / 时间轴、依赖关系、重复规则、提醒和模板;支持 My Day、标签、保存视图、预估时长、时间块、Inbox、快速捕获、离线任务 / 习惯,以及 Android 原生任务提醒调度,并补齐创建端时区、全天截止与服务端解析一致性。
协作、权限与分享 Yjs + WebSocket 实时协作、工作区角色、目录级 ACL、Restricted 受限模式、显式允许 / 拒绝规则、权限继承、所有权转移、分享密码与有效期、访客评论、公开知识空间,以及富文本 / Markdown 划词批注。
导入、导出与迁移 支持 Markdown、Word / DOCX、网页 URL、微信公众号、SingleFile HTML、思源、Obsidian、小米笔记等;支持选择导入为 Markdown 或富文本,并提供后台任务、进度、重试、远程图片本地化和 Markdown 图片 / 脚注导出。
附件与存储 本地附件按 YYYY/MM 归档;支持缩略图、引用检查、孤儿扫描 / 清理、已有附件复用、手动上传文件保护,以及本地磁盘、S3、R2、MinIO,并强化移动端图片 / 视频文件身份与 multipart 上传稳定性。
备份与恢复 本地自动备份、完整 ZIP、邮件备份、凭据加密的 WebDAV 远程备份、Docker 在线升级前备份与失败回滚检查。
多端访问 Web、Electron(Windows / macOS / Linux)、Android、iOS 工程、HarmonyOS 工程,以及 Docker / NAS 部署;支持绿联 UGOS、飞牛 fnOS,客户端可通过 IPv4、IPv6 或域名远程连接并登录 NAS 服务;Android 支持应用内图片手势预览。
开放能力 OpenAPI 3.0、TypeScript SDK、CLI、Webhook、插件系统、Personal API Token、MCP Server 和浏览器剪藏扩展。

AI 问答与隐私

Nowen Note 的知识库问答采用 RAG 检索增强方式,不会在每次提问时把全部笔记内容都发送给大模型

  • 知识库模式:先在本地索引中检索相关笔记和附件,再发送匹配到的片段。
  • 当前笔记模式:只使用当前打开的笔记。
  • 选中文本模式:只使用当前选择或粘贴的文本。
  • 本地模型:使用 Ollama 等本地服务时,可让问答内容留在自己的设备或服务器中。

使用在线 Embedding 或在线大模型时,建立索引或回答问题所需的相关文本会发送给你自行配置的服务商。身份证、密码、API Key、助记词等高度敏感信息仍不建议以明文保存。

让 AI 客户端连接 Nowen Note

Nowen Note 支持 MCP Server,可让 Claude Code、Cursor、VS Code 等 AI 客户端在授权范围内搜索、读取、创建和更新笔记。

当前正式可用方式为源码构建:安装 Node.js 20+,构建 packages/nowen-mcp,在 Nowen Note 创建 restricted Personal API Token,再把 dist/scoped-entry.js 的绝对路径配置到客户端。

v1.4.10 重点更新

编辑器与检索

  • 标题录入新增重复前缀警示:输入过程中即可发现与现有标题的重复前缀,确认后恢复正常标题样式;超长标题会根据编辑区域自动换行。
  • Markdown 查找 / 替换继续优化,搜索面板在窄宽度下可正确换行,并新增当前目录范围的笔记搜索。
  • 富文本跨笔记复制默认保留格式与文字颜色,减少粘贴后重新排版的成本。

图片、附件与移动端

  • 图片查看器加入旋转和独立复原操作,并修复全屏预览后的旋转状态保持问题。
  • 移动端图片 / 视频上传保留原始 File 身份,稳定 DataTransfer、上传队列、进度映射与 multipart 上传链路,同时校验视频实际字节大小。
  • 紧凑移动工具栏加入图片和视频入口,短屏设备上的笔记菜单与设置页关闭按钮也进一步适配。
  • 离线附件增加 Blob 有效性校验、损坏缓存隔离和恢复信号,异常离线数据不会继续污染在线渲染。

知识树、模板与导入导出

  • 知识树支持拖拽改变节点层级,并继续收紧加密目录内容的展示边界。
  • 笔记模板支持保存模板、从模板新建、移动端入口和应用内保存弹窗,同时保护模板附件不被清理任务误删。
  • 修复 Markdown 附件 ZIP 往返导入,完善思源导入的拖拽识别、恢复目录持久化和无响应提示。

任务、备份与桌面体验

  • 任务提醒补齐创建端时区、服务端解析、全天截止语义和 PostgreSQL 字段 / 迁移一致性,快速捕获与普通创建保持相同行为。
  • 备份保留策略统一 db-only 清理逻辑,并持久化停用配置,减少自动与手动备份行为差异。
  • 桌面编辑器新增原生文本右键菜单;本地 Office 等附件可直接交给系统默认程序打开。
  • 下载页增强 GitHub Release 资产回退与平台分组,国内 / 网络受限场景下更容易找到正确安装包。

完整记录请查看 CHANGELOG.mdv1.4.10 Release

截图

桌面端

AI 写作助手 AI 服务商配置
桌面 AI 写作 AI 设置

移动端

侧边栏 笔记列表 编辑器
移动端侧边栏 移动端列表 移动端编辑器

官网与在线体验

演示账号仅用于体验,数据可能被定期重置。请勿存放敏感或重要内容。

快速部署

Docker Compose(推荐)

要求已安装 Docker Engine 与 Docker Compose v2。

git clone https://github.com/cropflre/nowen-note.git
cd nowen-note
docker compose up -d

打开 http://<服务器IP>:3001

默认管理员账号:

用户名:admin
密码:admin123

首次登录后请立即修改默认密码。公网部署还应配置 HTTPS、备份、正确的公开访问地址,并按需收紧 CORS。

绿联 NAS / 飞牛 NAS 远程连接登录

Nowen Note 支持部署在 绿联 NAS(UGOS / UGOS Pro)飞牛 NAS(fnOS) 上。可使用 Releases 中对应的 .upk / .fpk 安装包,也可以直接通过 Docker Compose 部署。

部署并启动服务后:

  • 局域网访问:浏览器打开 http://<NAS局域网IP>:3001
  • 远程访问:在 Web、桌面端或 Android 客户端中填写 NAS 的公网域名、IPv4 或 IPv6 服务地址并登录。
  • 公网使用建议配置 HTTPS 反向代理,不建议直接暴露未加密的 HTTP 服务。

查看各平台安装包:GitHub Releases

查看运行状态和日志:

docker compose ps
docker compose logs -f --tail=200 nowen-note

从旧版本升级

升级前先在管理后台创建完整备份,并确认数据库与附件目录已经持久化。

docker compose pull
docker compose up -d

需要固定当前稳定版本时:

NOWEN_IMAGE_TAG=v1.4.10 docker compose up -d

v1.4.10 重点改善标题与 Markdown 编辑、知识树层级拖拽、移动端媒体上传、离线附件恢复和跨时区任务提醒。升级后建议重点检查登录、笔记编辑、图片 / 视频上传、离线附件、任务提醒、模板、导入导出和备份。镜像回滚不等于数据库回滚,生产环境必须保留独立备份。

Docker 在线升级(可选)

在线升级仅支持仓库内的官方 docker-compose.yml,且默认关闭。主应用容器不会挂载 Docker Socket;只有独立、内网隔离并受限运行的 updater 容器拥有 Docker Engine 权限。

cp .env.example .env
printf '\nNOWEN_UPDATER_TOKEN=%s\n' "$(openssl rand -hex 32)" >> .env
NOWEN_IMAGE_TAG=v1.4.10 docker compose --profile updater up -d

启用后,管理员可在「设置 → 关于 → 版本信息」执行升级前检查、完整备份、升级、健康验证和失败回滚。

完整说明见 Docker 在线升级与恢复

仅运行主应用

docker run -d \
  --name nowen-note \
  --restart unless-stopped \
  -p 3001:3001 \
  -e TZ=Asia/Shanghai \
  -v /opt/nowen-note/data:/app/data \
  cropflre/nowen-note:v1.4.10

数据、备份与配置

持久化目录

容器内的持久化根目录是 /app/data,不是 /data。默认 Compose 使用名为 nowen-note-data 的 Docker Volume。

/app/data/
├── nowen-note.db
├── attachments/
├── backups/
├── fonts/
└── .jwt_secret
  • 默认生产数据库为 SQLite,主文件是 /app/data/nowen-note.db
  • 附件默认存储在 /app/data/attachments,新文件按 YYYY/MM 分目录。
  • 自动备份默认位于 /app/data/backups
  • 生产环境建议把 BACKUP_DIR 映射到独立物理磁盘,并遵循 3-2-1 备份原则。
  • PostgreSQL 适配和迁移仍在验证中,当前正式部署与恢复流程继续以 SQLite 为默认基线。

常用环境变量

完整模板见 .env.example

变量 默认值 用途
NOWEN_PORT 3001 Compose 对外暴露端口
TZ Asia/Shanghai 容器时区,会影响任务日期与日记自然日期判断
PUBLIC_WEB_ORIGIN 反向代理或公网域名,用于生成正确的分享链接
JWT_SECRET 自动生成并持久化 登录、会话与部分加密回退;多实例部署时必须统一配置
BACKUP_DIR /app/data/backups 自动备份目录
BACKUP_WEBDAV_ENCRYPTION_KEY 回退到 JWT_SECRET 加密保存 WebDAV 凭据,生产环境建议单独配置
CORS_ORIGINS 内置原生客户端来源 额外允许的网页 Origin,逗号分隔
MAX_ATTACHMENT_SIZE_MB 100 单个附件大小上限
ATTACHMENT_STORAGE local 设为 s3 后可接入 S3 / R2 / MinIO
NOWEN_UPDATER_TOKEN 启用 Docker 在线升级代理

客户端与平台状态

平台 获取 / 构建方式 状态说明
Web / Docker Docker Hub 或源码构建 推荐部署方式;镜像可构建 amd64arm64 或多架构版本
Windows / macOS / Linux GitHub Releasesnpm run electron:build Electron 客户端可连接远程服务,也可使用本地后端
Android Releases APK 或在 frontend/ 下使用 Capacitor 构建 正式维护;支持系统分享导入、Markdown 导入、沉浸式编辑、移动端知识树、图片手势预览、系统原生任务提醒,以及远程连接 NAS 服务登录
iOS Capacitor 工程与 GitHub Actions / TestFlight 流程 需要 Apple 签名与开发者账号,详见 iOS 发布指南
HarmonyOS 使用 DevEco Studio 打开 nowen-harmony/ ArkTS + ArkWeb MVP;部分原生能力仍在完善
fnOS Releases 中的 .fpk 支持飞牛 NAS 安装;当前 .fpk 主要面向 x86_64,部署后可通过局域网或公网地址远程连接登录
绿联 UGOS Releases / 构建脚本中的 .upk 支持绿联 NAS 安装,依赖具体设备架构与应用安装能力;部署后可通过局域网或公网地址远程连接登录
其他 NAS Docker Compose 群晖、威联通、极空间等可按 Docker 方式部署

各平台实际发布的安装包以 GitHub Releases 为准。

本地开发

要求 Node.js 20+、npm、Git。Electron 和原生依赖构建还需要对应平台的编译工具链。

git clone https://github.com/cropflre/nowen-note.git
cd nowen-note
npm install
npm run install:all
npm run dev

也可以分别启动:

npm run dev:backend
npm run dev:frontend

访问 http://localhost:5173

常用命令:

npm run build:all                 # 构建前端与后端
npm run electron:dev              # Electron 开发
npm run electron:build            # Electron 打包
(cd backend && npm test)          # 后端测试
(cd frontend && npm run test:run) # 前端测试

Android:

cd frontend
npm run cap:build
npx cap open android

Capacitor 8 的 Android 发布工具链要求 Node.js 22+;日常 Web / Electron 开发仍可使用项目当前 Node.js 20+ 基线。

iOS:

npm run cap:sync:ios
npm run cap:open:ios

技术架构

主要技术
前端 React 18、TypeScript、Vite 5、Tailwind CSS、Tiptap 3、CodeMirror 6、Yjs、IndexedDB
后端 Node.js 20、Hono 4、WebSocket、better-sqlite3、FTS5、sqlite-vec、sharp
桌面端 Electron 33、electron-builder、electron-updater
移动端 Capacitor 8(Android / iOS)、ArkTS + ArkWeb(HarmonyOS)
存储与备份 SQLite、本地附件、S3 / Cloudflare R2 / MinIO、邮件与 WebDAV;PostgreSQL 处于适配验证阶段
开放能力 OpenAPI 3.0、TypeScript SDK、CLI、MCP Server、Webhook

项目结构

nowen-note/
├── frontend/       # React Web 与 Capacitor 客户端
├── backend/        # Hono API、数据库、同步与后台任务
├── electron/       # Electron 主进程与打包配置
├── packages/       # SDK、CLI、MCP 等开发者包
├── nowen-harmony/  # HarmonyOS ArkTS / ArkWeb 客户端
├── docs/           # 部署、教程与设计文档
└── scripts/        # 构建、迁移、打包与发布脚本

文档导航

当前边界

  • 数据库:SQLite 是当前默认且完整支持的生产方案;PostgreSQL 已有适配器、Schema 和部分双库测试,但尚未开放正式切换。
  • 格式互转:Markdown 与富文本互转会尽量保留主要结构,但高度定制的 HTML、复杂扩展节点或第三方语法仍可能需要人工检查。
  • AI 隐私:使用在线 Embedding 或在线大模型时,相关文本会发送到用户自行配置的服务商;敏感信息建议使用本地模型或不要存储。
  • WebDAV:用于上传已经完成的备份文件,不是实时同步、数据库运行目录或附件在线存储后端。
  • Docker 在线升级:只支持官方 Compose 受管部署,不支持任意容器、任意镜像或 NAS 应用包。
  • macOS:安装包若未经过 Apple 公证,首次打开可能需要执行 xattr 解除隔离,详见 桌面端教程
  • 移动端:Android 维护最完整;iOS 与 HarmonyOS 的分发、签名和部分原生桥接能力仍受平台工具链限制。
  • 快速迭代:功能和安装包更新较快,请以 Releases、应用内版本信息和 CHANGELOG.md 为准。

版本与更新

README 维护稳定的产品定位、能力范围、近期版本和部署方式;完整提交历史请查看更新日志。

参与贡献

欢迎提交 Issue、功能建议和 Pull Request。提交代码前建议至少完成:

npm run build:all
(cd backend && npm test)
(cd frontend && npm run test:run)

反馈入口:

支持作者

如果 Nowen Note 对你有帮助,欢迎扫码请作者喝杯咖啡。感谢每一份支持,它会帮助项目持续维护和迭代。

微信赞赏 支付宝赞赏
微信赞赏码 支付宝赞赏码

也可以阅读 作者感言

License

Nowen Note 基于 GNU General Public License v3.0 开源。

About

开源自托管笔记与私有知识库,支持 Markdown/富文本、AI 写作、思维导图、任务管理、全文搜索、多级笔记本和 Docker 一键部署。

Topics

Resources

Stars

429 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages