# oseditor **Repository Path**: small-high-cold/oseditor ## Basic Information - **Project Name**: oseditor - **Description**: 基于electron、vue开发的一款文章编辑器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-22 - **Last Updated**: 2026-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: Electron, Vue, Ant-Design ## README # OS Editor 一个现代化的TXT书籍编辑器,专为作家和编辑人员设计,提供直观的章节管理和编辑体验。 ## 📋 项目简介 OS Editor是一个基于Vue 3和Electron的桌面应用程序,专注于TXT书籍的编辑和管理。它提供了以下核心功能: - 书籍管理:创建、导入、删除书籍 - 章节管理:新建卷、章节,重命名、删除章节 - 内容编辑:实时编辑章节内容 - 树形结构:直观的章节导航和管理 - 数据持久化:自动保存编辑状态 - 导出功能:将编辑好的内容导出为TXT文件 ## 🛠 技术栈 | 技术 | 版本 | 用途 | |------|------|------| | Vue 3 | ^3.5.28 | 前端框架 | | TypeScript | ~5.9.3 | 类型系统 | | Electron | ^40.6.0 | 桌面应用框架 | | Ant Design Vue | ^4.2.6 | UI组件库 | | Pinia | ^3.0.4 | 状态管理 | | Vite | ^7.3.1 | 构建工具 | | Less | ^4.5.1 | CSS预处理器 | ## ✨ 功能特性 ### 1. 书籍管理 - **新建书籍**:创建新的书籍项目 - **导入TXT**:导入现有的TXT文件并自动分析章节结构 - **书籍列表**:查看所有已创建的书籍 - **删除书籍**:移除不需要的书籍 ![书籍管理页面](./public/书籍管理.png) ### 2. 章节管理 - **树形结构**:以树形结构展示书籍的卷和章节 - **新建卷**:在书籍中添加新的卷 - **新建章节**:在指定卷下添加新的章节 - **重命名**:修改卷和章节的标题 - **删除**:移除不需要的卷或章节 ### 3. 内容编辑 - **实时编辑**:编辑章节内容并实时保存 - **章节切换**:在不同章节之间快速切换 - **标题编辑**:修改章节标题 ![章节编辑界面](./public/章节编辑.png) ### 4. 数据持久化 - **自动保存**:编辑内容自动保存到本地 - **状态恢复**:重新打开应用时恢复上次的编辑状态 ### 5. 导出功能 - **导出TXT**:将编辑好的内容导出为TXT文件 ## 📁 项目结构 ``` oseditor/ ├── .vscode/ # VS Code配置 ├── dist-electron/ # Electron构建输出 ├── electron/ # Electron主进程代码 │ ├── main.ts # 主进程入口 │ └── preload.ts # 预加载脚本 ├── public/ # 静态资源 ├── src/ # 源代码 │ ├── components/ # 组件 │ │ ├── chat/ # AI聊天相关组件 │ │ ├── editor/ # 编辑器相关组件 │ │ ├── ChapterTree.vue # 章节树组件 │ │ ├── Editor.vue # 编辑器组件 │ │ ├── NavMenu.vue # 导航菜单组件 │ │ ├── Sidebar.vue # 侧边栏组件 │ │ └── StatusBar.vue # 状态栏组件 │ ├── router/ # 路由配置 │ ├── store/ # 状态管理 │ ├── types/ # TypeScript类型定义 │ ├── utils/ # 工具函数 │ ├── views/ # 页面 │ │ ├── BookPage.vue # 书籍管理页面 │ │ ├── ProjectPage.vue # 项目编辑页面 │ │ ├── SearchPage.vue # 搜索页面 │ │ └── SettingsPage.vue # 设置页面 │ ├── App.vue # 应用根组件 │ ├── electron.d.ts # Electron类型声明 │ └── main.ts # 应用入口 ├── .gitignore # Git忽略文件 ├── README.md # 项目文档 ├── package.json # 项目配置 ├── tsconfig.json # TypeScript配置 └── vite.config.ts # Vite配置 ``` ## 🚀 安装与运行 ### 环境要求 - Node.js ^20.19.0 或 >=22.12.0 - npm 或 yarn ### 安装依赖 ```bash npm install ``` ### 开发模式运行 ```bash npm run dev ``` ### 构建应用 ```bash npm run build ``` ## 📖 使用指南 ### 1. 书籍管理 #### 新建书籍 1. 在书籍管理页面点击"新建书籍"按钮 2. 填写书籍名称和作者名称 3. 点击确定创建书籍 #### 导入TXT文件 1. 在书籍管理页面点击"导入图书"按钮 2. 选择要导入的TXT文件 3. 系统会自动分析文件内容并生成章节结构 #### 导入TXT文件格式要求 - 支持标准TXT格式 - 文件名使用 "文章名称 - 作者名称.txt" - 文件内容使用 首行"第X卷 卷名 第X章 章名"、第二行"内容" - 后续会支持更多txt格式 #### 示例TXT文件 您可以使用以下示例文件进行测试: - [玄夜破晓 - 小高冷.txt](./public/玄夜破晓%20-%20小高冷.txt) ### 2. 章节管理 #### 新建卷 1. 在项目编辑页面的文件名上右键点击 2. 选择"新建卷" #### 新建章节 1. 在项目编辑页面的卷节点上右键点击 2. 选择"新建章节" #### 重命名章节 1. 在项目编辑页面的章节节点上右键点击 2. 选择"重命名" 3. 输入新的章节标题 #### 删除章节 1. 在项目编辑页面的章节节点上右键点击 2. 选择"删除" ### 3. 内容编辑 1. 在左侧章节树中选择要编辑的章节 2. 在右侧编辑器中修改章节内容 3. 编辑完成后,系统会自动保存 ### 4. 导出TXT 1. 在项目编辑页面中完成编辑 2. 点击导出按钮 3. 选择保存位置 ## 🔧 核心功能模块 ### 1. 章节树组件 (ChapterTree.vue) - 展示书籍的章节结构 - 支持右键菜单操作 - 提供章节的新建、重命名、删除功能 ### 2. 编辑器组件 (Editor.vue) - 提供章节内容的编辑功能 - 支持实时保存 - 显示当前编辑的章节标题 ### 3. 状态管理 (store/index.ts) - 使用Pinia管理应用状态 - 处理书籍的导入、保存、加载等操作 - 管理章节树和章节数据 ### 4. TXT分析工具 (utils/txtAnalyzer.ts) - 分析TXT文件内容 - 自动生成章节结构 - 支持卷和章节的识别 ### 5. 树操作工具 (utils/treeUtils.ts) - 提供章节树的各种操作 - 支持节点的添加、重命名、删除 - 维护章节树的一致性 ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 🐛 发现的问题 1. **TXT导入格式支持有限**:目前只支持特定格式的TXT文件导入,对其他格式的支持不够完善 2. **章节树操作体验**:右键菜单操作有时响应不及时,需要优化交互体验 3. **编辑器功能bug**:回撤功能需要多次点击才能生效、一次修改会产生多条历史记录、AI写作未对接接口,功能不能正常使用、取名助手名字生成过于固定 4. **导出功能单一**:目前只支持导出为TXT格式,缺少其他格式的支持 5. **性能优化**:在处理大型书籍时,应用响应速度较慢 ## 📅 后续计划 1. **增强TXT导入功能**:支持更多格式的TXT文件导入,提高导入成功率 2. **优化章节树操作**:改进右键菜单响应速度 3. **修复编辑器bug**:回撤实时响应、每次修改只生产一条历史记录、完善AI功能、完善取名助手功能 4. **拓展功能**:添加回收站功能、支持批量操作、添加章节标签功能、支持自定义章节格式、支持撤销删除的章节功能、添加全局书籍章节内容搜索功能 5. **增加导出格式**:支持导出为EPUB、PDF等常见电子书格式 6. **性能优化**:优化大型书籍的处理速度,减少内存占用、优化本地持久化方式,提高数据读写效率 7. **添加备份功能**:实现自动备份和手动备份功能,防止数据丢失 8. **云同步**:实现书籍数据的云同步功能,方便跨设备编辑 9. **不同屏幕支持**:优化界面布局,适配不同屏幕尺寸 10. **手机端支持**:后续会考虑添加移动应用版本,方便在手机上编辑书籍 --- **OS Editor** - 让写作变得更简单!