# 个人知识管理系统 - 命令行版本 (PKM CLI) 这是一个基于Java的个人知识管理系统,提供完整的命令行界面来管理你的笔记和知识库。 ## 项目结构 ``` PKM/ ├── pom.xml # Maven配置文件 ├── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── example/ │ │ ├── App.java # 主应用程序入口 │ │ ├── cli/ │ │ │ └── CommandParser.java # 命令解析器 │ │ └── model/ │ │ └── ExportFormat.java # 导出格式枚举 │ └── test/ │ └── java/ │ └── com/ │ └── example/ │ └── AppTest.java # 测试类 ├── target/classes/ # 编译输出目录 ├── pkm.bat # PKM快捷启动脚本 ├── run.bat # 运行脚本 ├── clean.bat # 清理脚本 └── README.md # 项目说明文件 ``` ## 功能特性 ### 核心命令 - `new` - 创建新笔记 - `list` - 列出所有笔记(支持标签过滤) - `view` - 查看笔记详情 - `edit` - 编辑笔记内容 - `delete` - 删除笔记 ### 标签管理 - `tag` - 为笔记添加标签 - `untag` - 从笔记移除标签 ### 搜索功能 - `search` - 按关键词搜索笔记 ### 导出功能 - `export` - 导出单个笔记 - `export-all` - 导出所有笔记 - 支持格式:TXT、JSON ### 其他 - `help` - 显示帮助信息 - `exit/quit` - 退出程序 ## 如何运行 ### 前提条件 - 安装Java 17或更高版本 - 确保Java在系统PATH中 ### 快速启动 使用PKM快捷脚本(推荐): ```bash # 交互模式 pkm.bat # 命令模式 pkm.bat help pkm.bat new "我的笔记" "笔记内容" pkm.bat list --tag java ``` ### 手动编译运行 ```bash # 编译项目 javac -cp src\main\java -d target\classes src\main\java\com\example\*.java src\main\java\com\example\cli\*.java src\main\java\com\example\model\*.java # 运行程序 java -cp target\classes com.example.App [命令] ``` ### 使用run.bat脚本 ```bash # 自动编译并运行 run.bat ``` ## 使用示例 ### 交互模式 ```bash > pkm.bat 欢迎使用个人知识管理系统 (CLI版) 输入 help 查看可用命令 pkm> new "Java学习笔记" "今天学习了面向对象编程..." 创建笔记: Java学习笔记 内容: 今天学习了面向对象编程... pkm> list 列出所有笔记: [1] Java笔记 (2023-10-01) [编程, 学习] [2] 设计模式笔记 (2023-10-05) [编程, 架构] pkm> exit 感谢使用个人知识管理系统! ``` ### 命令模式 ```bash # 创建笔记 pkm.bat new "Python学习" "学习Python基础语法" # 列出笔记 pkm.bat list # 按标签过滤 pkm.bat list --tag programming # 搜索笔记 pkm.bat search "设计模式" # 导出笔记 pkm.bat export 123e4567 txt my-note.txt # 查看帮助 pkm.bat help ``` ## 开发状态 当前版本实现了完整的命令行界面和命令解析功能。后续开发计划: - [ ] 笔记存储和管理 - [ ] 标签系统 - [ ] 搜索功能 - [ ] 导出功能 - [ ] 配置管理 ## 技术栈 - Java 17 - Maven 3.x - JUnit 5 (用于测试) ## 许可证 此项目仅用于学习和演示目的。