IdeaNote 是一款基于 Electron 的跨平台桌面应用,专为创意写作者打造。它集成了先进的 AI 技术,提供智能写作辅助、富文本编辑、文档管理等功能,让创意写作变得更加高效和有趣。
作者: ideaswork
联系方式: ideaswork@qq.com
B站账号: @ideaswork
- Novel 编辑器: 基于 Tiptap 的 Notion 风格 WYSIWYG 编辑器
- AI 智能辅助: 集成 DeepSeek AI,提供文稿润色、语法检查、内容扩写等功能
- 丰富的内容类型: 支持文本、标题、列表、表格、代码块、数学公式等
- 实时预览: 支持 Markdown 渲染和数学公式显示
- 快捷命令: 通过
/命令快速插入各种内容块
- 文稿润色: 智能优化文本表达和语言风格
- 语法检查: 自动检测并修正语法错误
- 内容扩写: 根据上下文智能扩展内容
- 内容缩写: 提炼文本精华,保持核心信息
- 创意生成: 多种文案生成模板(营销文案、教程文案、课程文案等)
- 工作区管理: 灵活的工作区选择和切换
- 文件系统: 基于 JSON 的文档存储,支持创建、重命名、删除
- 搜索功能: 快速搜索和定位文档内容
- 自动保存: 实时保存编辑内容,防止数据丢失
- 现代化 UI: 基于 Tailwind CSS 的精美界面设计
- 暗色主题: 支持明暗主题切换(开发中)
- 响应式布局: 适配不同屏幕尺寸
- 快捷键支持: 丰富的键盘快捷键操作
- Electron: 跨平台桌面应用框架
- React 18: 现代化前端框架
- TypeScript: 类型安全的 JavaScript
- Vite: 快速的构建工具
- Tailwind CSS: 实用优先的 CSS 框架
- Novel: Notion 风格的富文本编辑器
- Tiptap: 可扩展的富文本编辑器框架
- ProseMirror: 强大的编辑器内核
- Radix UI: 无样式的可访问组件库
- Lucide React: 精美的图标库
- Sonner: 优雅的通知组件
- DeepSeek API: 智能文本生成和处理
- 流式响应: 实时 AI 内容生成体验
- Node.js: 16.0 或更高版本(推荐 18.0+)
- npm: 7.0 或更高版本
- Git: 用于代码管理
# 克隆项目
git clone https://github.com/ideaswork/ideanote.git
# 进入项目目录
cd ideanote
# 安装依赖
npm install
# 启动应用
npm start启动后应该能看到应用界面,首次使用会提示选择工作区目录。
git clone https://github.com/ideaswork/ideanote.git
cd ideanote
npm install# 启动开发服务器
npm start# 构建所有模块(渲染进程 + 主进程 + 预加载脚本)
npm run build
# 单独构建模块
npm run build:renderer # 仅构建渲染进程
npm run build:main # 仅构建主进程
npm run build:preload # 仅构建预加载脚本# 打包应用(生成安装包)
npm run package
# 制作安装包
npm run make
# 发布应用
npm run publish- 使用 TypeScript 进行开发,确保类型安全
- 遵循现有的代码风格和组件结构
- 在提交前运行代码检查:
npm run lint
ideanote/
├── src/ # 源代码目录
│ ├── main.ts # Electron 主进程入口
│ ├── preload.ts # 预加载脚本
│ ├── renderer.ts # 渲染进程入口
│ ├── app.tsx # React 应用主组件
│ ├── components/ # React 组件
│ │ ├── ui/ # 基础 UI 组件
│ │ ├── notion/ # 侧边栏组件
│ │ ├── settings/ # 设置组件
│ │ ├── AboutDialog.tsx # 关于对话框
│ │ ├── Footer.tsx # 底部组件
│ │ ├── Header.tsx # 头部组件
│ │ └── WelcomePage.tsx # 欢迎页面
│ ├── lib/ # 工具库
│ │ ├── api-key-storage.ts # API 密钥存储
│ │ ├── content.ts # 内容处理
│ │ ├── copyContent.ts # 文案管理
│ │ └── utils.ts # 通用工具
│ ├── hooks/ # React Hooks
│ │ ├── use-toast.ts # 通知提示
│ │ └── useCompletion.ts # AI 自动完成
│ ├── types/ # TypeScript 类型定义
│ │ └── Model.ts # 数据模型
│ ├── index.css # 全局样式
│ └── prosemirror.css # 编辑器样式
├── assets/ # 静态资源
│ ├── icon.svg # 应用图标(SVG格式)
│ └── icon.png # 应用图标(PNG格式)
├── dist/ # 构建输出目录
├── out/ # 打包输出目录
├── electron-builder.yml # 打包配置
├── vite.main.config.ts # 主进程构建配置
├── vite.preload.config.ts # 预加载脚本配置
├── vite.renderer.config.ts # 渲染进程配置
├── package.json # 项目配置
├── tsconfig.json # TypeScript 配置
├── tailwind.config.js # Tailwind CSS 配置
└── README.md # 项目说明
在 package.json 中可以修改应用信息:
{
"name": "ideanote", // 应用包名
"productName": "IdeaNote", // 显示名称
"version": "1.0.0", // 版本号
"description": "AI驱动的创意写作工具", // 描述
"author": {
"name": "ideaswork", // 作者名
"email": "ideaswork@qq.com" // 作者邮箱
}
}在 electron-builder.yml 中配置应用图标:
appId: com.ideaswork.ideanote
productName: IdeaNote
icon: assets/icon.png # 图标文件路径在应用中点击设置按钮,配置 DeepSeek API Key 以启用 AI 功能。
首次启动时会提示选择工作区文件夹,所有文档将保存在该目录下。
- 启动应用后会显示欢迎页面
- 点击"选择工作区"按钮选择文档保存目录
- 设置完成后进入主界面
- 创建文档: 点击侧边栏的 "+" 按钮或使用快捷键
Ctrl/Cmd + N - 编辑文档: 在编辑器中直接输入内容,支持 Markdown 语法
- 保存文档: 使用
Ctrl/Cmd + S快捷键或自动保存 - 删除文档: 在侧边栏右键点击文档名称选择删除
- 选中文本: 在编辑器中选择需要处理的文本
- 打开 AI 面板: 点击工具栏的 "Ask AI" 按钮
- 选择功能: 选择需要的 AI 功能(润色、扩写、缩写等)
- 查看结果: AI 处理完成后会显示结果,可选择应用或复制
- 命令面板: 输入
/打开命令面板 - 插入标题: 输入
/heading或/h1、/h2等 - 插入列表: 输入
/list或/bullet - 插入代码块: 输入
/code - 插入表格: 输入
/table
Ctrl/Cmd + S- 保存文档Ctrl/Cmd + N- 创建新文档Ctrl/Cmd + Z- 撤销Ctrl/Cmd + Y- 重做Ctrl/Cmd + A- 全选Ctrl/Cmd + C- 复制Ctrl/Cmd + V- 粘贴/- 打开命令面板
- 确保代码已提交
git add .
git commit -m "发布版本 v1.0.0"- 创建版本标签
git tag v1.0.0
git push origin v1.0.0- 访问 GitHub 仓库页面
- 点击 "Releases" → "Create a new release"
- 选择刚刚推送的标签
v1.0.0 - 填写发布标题和描述
- 上传打包好的安装包文件(
.dmg、.exe、.AppImage等) - 点击 "Publish release"
# 安装 GitHub CLI(如果未安装)
brew install gh
# 登录 GitHub
gh auth login
# 创建发布
gh release create v1.0.0 \
--title "IdeaNote v1.0.0" \
--notes "AI驱动的创意写作工具首次发布" \
./out/electron-builder/*.dmg \
./out/electron-builder/*.exe \
./out/electron-builder/*.AppImage在发布描述中包含以下内容:
- 新功能: 列出主要功能特性
- 系统要求: 支持的操作系统版本
- 安装说明: 如何安装和使用
- 已知问题: 如果有的话
- 联系方式: 如何反馈问题和建议
可以配置 GitHub Actions 实现自动发布:
- 在
.github/workflows/目录创建发布工作流 - 配置在创建标签时自动构建和发布
- 设置自动上传构建产物到 Release
欢迎提交 Issue 和 Pull Request!
- Fork 本项目 到您的 GitHub 账户
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request 到主仓库
- 使用 TypeScript 进行开发
- 遵循现有的代码风格和组件结构
- 添加必要的注释和文档
- 在提交前运行代码检查:
npm run lint - 测试功能确保稳定性
发现问题时,请通过以下方式报告:
- Issue 标题: 简明扼要描述问题
- 问题描述: 详细说明问题现象
- 复现步骤: 如何重现该问题
- 环境信息: 操作系统、Node.js版本等
- 截图或日志: 如果有的话
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- Novel - 优秀的编辑器框架
- Electron - 跨平台桌面应用框架
- Radix UI - 优秀的组件库
- DeepSeek - 强大的 AI 能力支持
- Vite - 快速的构建工具
- Tailwind CSS - 实用优先的 CSS 框架
- 作者: ideaswork
- 邮箱: ideaswork@qq.com
- B站: @ideaswork
- GitHub: ideaswork
⭐ 如果这个项目对你有帮助,请给它一个 Star!
❤️ Made with love by ideaswork
🚀 持续更新中,欢迎关注项目进展
