智能笔记管理系统 一个功能强大的智能笔记管理系统,支持Markdown编辑、全文搜索、知识图谱可视化等高级功能。 项目简介 智能笔记管理系统是一个基于Python开发的桌面应用程序,专为知识工作者设计。它提供了完整的笔记管理功能,包括Markdown编辑、分类管理、标签系统、全…
智能笔记管理系统 一个功能强大的智能笔记管理系统,支持Markdown编辑、全文搜索、知识图谱可视化等高级功能。 项目简介 智能笔记管理系统是一个基于Python开发的桌面应用程序,专为知识工作者设计。它提供了完整的笔记管理功能,包括Markdown编辑、分类管理、标签系统、全…
一个功能强大的智能笔记管理系统,支持Markdown编辑、全文搜索、知识图谱可视化等高级功能。
智能笔记管理系统是一个基于Python开发的桌面应用程序,专为知识工作者设计。它提供了完整的笔记管理功能,包括Markdown编辑、分类管理、标签系统、全文搜索和知识图谱等,帮助用户高效地组织和管理个人知识库。
git clone https://github.com/yourusername/smart-notes.git
cd smart-notespip install -r requirements.txtpython gui.pyCtrl+NCtrl+S 保存# 一级标题
## 二级标题
**粗体** *斜体* ~~删除线~~
- 无序列表
1. 有序列表
[链接](https://example.com)
`代码` 或
```python
def hello():
print("Hello World")
```
| 表格 | 列 |
|------|-----|
| 内容 | 内容 |搜索范围:
Python, 编程, 学习导入笔记:
导出笔记:
| 功能 | 快捷键 |
|---|---|
| 新建笔记 | Ctrl+N |
| 保存笔记 | Ctrl+S |
| 搜索 | Ctrl+F |
| 撤销 | Ctrl+Z |
| 重做 | Ctrl+Y |
project1/
├── config.py # 配置管理模块
├── note_model.py # 笔记数据模型和管理
├── markdown_parser.py # Markdown解析器
├── search_engine.py # 搜索引擎和知识图谱
├── gui.py # 图形用户界面
├── build.py # 打包脚本
├── count_lines.py # 代码统计工具
├── requirements.txt # 项目依赖
├── README.md # 项目说明
└── LICENSE # MIT许可证关键方法:
create_note() # 创建笔记
update_note() # 更新笔记
delete_note() # 删除笔记
search_notes() # 搜索笔记
get_statistics() # 获取统计信息关键功能:
parse_to_html() # 转换为HTML
extract_headings() # 提取标题
extract_links() # 提取链接
get_word_count() # 字数统计
create_toc() # 生成目录搜索流程:
图谱功能:
build_graph() # 构建图谱
get_connected_notes() # 获取关联笔记
get_central_notes() # 获取中心笔记
get_communities() # 社区发现本项目遵循以下编码规范:
使用PyInstaller将应用程序打包为可执行文件:
python build.py生成的可执行文件位于 dist 目录中。
pyinstaller --name=SmartNotes --windowed --onefile gui.py程序会在用户目录下创建 .smart_notes 文件夹:
.smart_notes/
├── notes.db # 笔记数据库(JSON格式)
├── notes/ # 笔记文件目录
│ ├── xxx.md # 单个笔记文件
│ └── ...
├── attachments/ # 附件目录
├── exports/ # 导出文件目录
├── config.json # 配置文件
└── search_index.json # 搜索索引位置:
C:\Users\用户名\.smart_notes/Users/用户名/.smart_notes/home/用户名/.smart_notesA: 笔记数据存储在 .smart_notes 目录中,直接复制该文件夹即可备份。
A: 支持标准Markdown语法,包括标题、列表、链接、图片、代码块、表格等。
A: 尝试使用"工具 → 重建索引"功能重建搜索索引。
A: 可以将Markdown文件放入 .smart_notes/notes 目录,然后重启程序。
A: 当前版本不支持,但可以手动将 .smart_notes 文件夹同步到云盘。
欢迎贡献代码、报告问题或提出建议!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 许可证。详见 LICENSE 文件。
感谢以下开源项目:
应用支持将旧的 JSON(notes.db) + 逐文件 .md 数据迁移到 SQLite 后端:
python migrate.py # 迁移默认 ~/.smart_notes 数据(迁移前自动备份)
python migrate.py --no-backup迁移幂等(已迁移的笔记不会重复导入);当 .md 与 JSON 内容不一致时以 .md 为准并在报告中计数。迁移后可设置 SMARTNOTES_BACKEND=sqlite 或 config.storage_backend="sqlite" 启用 SQLite 后端。
pyproject.toml / requirements.txt 中的运行时依赖采用区间约束(下限保证所需特性、上限防止破坏性大版本),不钉死到补丁号。uv.lock 负责锁定。安装时用 uv sync 即可获得与锁文件一致的环境。pyproject.toml 中的区间(如有必要);uv lock --upgrade(或 uv lock --upgrade-package <name>)刷新锁文件;pytest 与 ruff check . 验证后提交更新后的 uv.lock。No open issues yet, or sync has not completed.