Skip to content

Twsa/notebookllm

Repository files navigation

NotebookLLM - API可配置智能记事本

一个支持多AI模型配置的智能记事本应用,提供笔记编辑、AI聊天、笔记智能处理等功能。

功能特性

  • 📝 智能笔记编辑 - 支持Markdown的富文本编辑器
  • 🤖 多AI模型支持 - 可配置OpenAI、Claude、GLM等多种AI模型
  • 💬 AI聊天助手 - 与AI助手进行对话,获取智能建议
  • 🔍 智能搜索 - 全文搜索和智能标签
  • 🔒 本地存储 - 数据安全存储在本地IndexedDB
  • 🌙 响应式设计 - 支持亮色/暗色主题
  • 📱 移动友好 - 适配各种屏幕尺寸

技术栈

  • 前端: Next.js 14 + React 18 + TypeScript
  • UI: TailwindCSS + Tiptap编辑器
  • 存储: IndexedDB (本地存储)
  • AI集成: 多提供商API支持
  • 测试: Jest + React Testing Library + Playwright

快速开始

环境要求

  • Node.js 18+
  • npm 或 yarn

安装

  1. 克隆项目
git clone <repository-url>
cd notebook-llm
  1. 安装依赖
npm install
  1. 配置环境变量
cp .env.local.example .env.local
# 编辑 .env.local 添加你的API密钥
  1. 启动开发服务器
npm run dev
  1. 访问 http://localhost:3000

开发命令

# 开发模式
npm run dev

# 构建生产版本
npm run build

# 启动生产服务器
npm run start

# 代码检查
npm run lint

# 代码格式化
npm run format

# 类型检查
npm run type-check

# 运行测试
npm run test

# 测试覆盖率
npm run test:coverage

# 端到端测试
npm run test:e2e

项目结构

src/
├── app/                 # Next.js App Router
│   ├── api/            # API Routes
│   ├── notes/          # 笔记页面
│   ├── chat/           # AI聊天页面
│   └── settings/       # 设置页面
├── components/         # React 组件
│   ├── ui/            # 基础UI组件
│   ├── editor/        # 编辑器组件
│   ├── chat/          # 聊天组件
│   └── settings/      # 设置组件
├── lib/               # 工具库
│   ├── db/           # 数据库操作
│   ├── ai/           # AI API集成
│   └── utils/        # 通用工具
├── types/            # TypeScript类型定义
├── hooks/            # React Hooks
└── styles/           # 样式文件

配置AI模型

在设置页面中配置你的AI模型:

  1. 点击设置 → AI配置
  2. 添加新的AI配置
  3. 选择提供商 (OpenAI/Claude/Google等)
  4. 输入API密钥
  5. 选择模型和参数
  6. 测试连接并保存

数据安全

  • 所有数据存储在本地IndexedDB中
  • API密钥使用AES-GCM加密存储
  • 支持数据导入/导出
  • 可选云端同步功能

贡献

欢迎提交Issue和Pull Request!

许可证

MIT License

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages