## PRD: Chrome 书签管理扩展
### 1. 产品概述
开发一个 Chrome 扩展,帮助用户管理书签,支持死链检测、分类管理、WebDAV 同步,并通过集成大语言模型(如 OpenAI GPT)为书签生成描述和标签,提升书签的可读性和组织性。
---
### 2. 目标用户
- 普通用户:需要高效管理大量书签的用户。
- 开发者:需要快速访问技术文档和资源的用户。
- 研究人员:需要分类和标记大量参考链接的用户。
- 跨设备用户:需要在不同设备间同步书签的用户。
---
### 3. 核心功能
#### 3.1 书签管理
- 增删改查:
- 添加书签:用户可以通过表单输入标题和 URL 添加书签。
- 删除书签:用户可以通过按钮删除书签。
- 编辑书签:用户可以通过按钮修改书签的标题和 URL。
- 查看书签:书签以列表形式展示,支持点击链接跳转。
#### 3.2 死链检测
- 自动检测书签中的死链(无法访问的链接)。
- 死链以特殊样式(如红色文字)标记,并提供删除选项。
#### 3.3 书签分类管理
- 用户可以为书签添加分类标签(如“工作”、“学习”、“娱乐”)。
- 支持通过分类标签过滤书签。
#### 3.4 大语言模型集成
- 配置页:
- 用户可以在配置页中输入大语言模型的 API 密钥。
- 配置信息会保存到 Chrome 的本地存储中。
- 书签描述和标签生成:
- 调用大语言模型 API,为每个书签生成简短的描述和标签。
- 描述和标签展示在书签下方。
#### 3.5 WebDAV 同步
- 配置 WebDAV:
- 用户可以在配置页中输入 WebDAV 服务器的 URL、用户名和密码。
- 配置信息会保存到 Chrome 的本地存储中。
- 同步功能:
- 用户可以选择手动或自动同步书签到 WebDAV 服务器。
- 书签数据以 JSON 格式存储,文件名为
#### 3.6 新标签页
- 扩展会替换 Chrome 的新标签页,展示用户的书签列表。
- 书签列表包括标题、链接、描述、标签和分类。
---
### 4. 功能详细描述
#### 4.1 书签管理
- 添加书签:
- 用户在新标签页的表单中输入标题和 URL,点击“Add Bookmark”按钮添加书签。
- 书签会保存到 Chrome 的书签栏中。
- 删除书签:
- 每个书签右侧有一个“Delete”按钮,点击后删除书签。
- 编辑书签:
- 每个书签右侧有一个“Edit”按钮,点击后弹出提示框,用户可以修改标题和 URL。
- 查看书签:
- 书签以列表形式展示,点击链接即可跳转到目标页面。
#### 4.2 死链检测
- 检测逻辑:
- 每次加载新标签页时,扩展会尝试访问每个书签的 URL。
- 如果 URL 返回的状态码为 404 或其他错误,则标记为死链。
- 展示方式:
- 死链以红色文字标记,并在右侧显示“Dead Link”提示。
- 用户可以选择删除死链。
#### 4.3 书签分类管理
- 添加分类:
- 用户可以在添加或编辑书签时选择分类标签。
- 支持自定义分类标签。
- 过滤书签:
- 在新标签页顶部添加分类过滤器,用户可以选择特定分类查看书签。
#### 4.4 大语言模型集成
- 配置页:
- 用户可以通过扩展的配置页输入大语言模型的 API 密钥。
- 配置信息会保存到 Chrome 的
- 书签描述和标签生成:
- 每次加载新标签页时,扩展会调用大语言模型 API,为每个书签生成描述和标签。
- 描述和标签展示在书签下方。
#### 4.5 WebDAV 同步
- 配置 WebDAV:
- 用户可以在配置页中输入 WebDAV 服务器的 URL、用户名和密码。
- 配置信息会保存到 Chrome 的
- 同步功能:
- 手动同步:用户点击“Sync Now”按钮,将书签数据上传到 WebDAV 服务器。
- 自动同步:每次书签发生变化时,自动将书签数据上传到 WebDAV 服务器。
- 书签数据以 JSON 格式存储,文件名为
#### 4.6 新标签页
- 扩展会替换 Chrome 的新标签页,展示用户的书签列表。
- 书签列表包括:
- 标题
- 链接
- 描述(由大语言模型生成)
- 标签(由大语言模型生成)
- 分类标签
- 编辑按钮
- 删除按钮
---
### 5. 技术实现
#### 5.1 文件结构
#### 5.2 技术栈
- 前端:HTML、CSS、JavaScript
- Chrome API:
- WebDAV 客户端:使用
- 大语言模型 API:OpenAI GPT(或其他兼容 API)
#### 5.3 关键实现
- 书签管理:
- 使用
- 死链检测:
- 使用
- 分类管理:
- 使用
- 大语言模型集成:
- 使用
- WebDAV 同步:
- 使用
- 书签数据以 JSON 格式存储,文件名为
---
### 6. 用户界面设计
#### 6.1 新标签页
- 顶部:
- 标题“My Bookmarks”。
- 分类过滤器(下拉菜单或按钮组)。
- 中部:
- 添加书签的表单(标题输入框、URL 输入框、分类选择框、添加按钮)。
- 底部:
- 书签列表,每个书签包括:
- 标题和链接
- 描述(由大语言模型生成)
- 标签(由大语言模型生成)
- 分类标签
- 编辑按钮
- 删除按钮
#### 6.2 配置页
- 顶部:标题“Configuration”。
- 中部:
- API 密钥输入框和保存按钮。
- WebDAV 配置(URL、用户名、密码)和保存按钮。
- 底部:状态提示(如“Configuration saved!”)。
---
### 7. 测试计划
#### 7.1 功能测试
- 书签管理:
- 测试添加、删除、编辑和查看书签的功能。
- 死链检测:
- 测试死链的检测和标记功能。
- 分类管理:
- 测试分类标签的添加和过滤功能。
- 大语言模型集成:
- 测试配置页的 API 密钥保存和加载功能。
- 测试书签描述和标签的生成功能。
- WebDAV 同步:
- 测试 WebDAV 配置的保存和加载功能。
- 测试手动和自动同步功能。
- 新标签页:
- 测试新标签页的书签展示和跳转功能。
#### 7.2 兼容性测试
- 测试扩展在不同版本的 Chrome 浏览器中的兼容性。
#### 7.3 性能测试
- 测试扩展在大量书签情况下的性能表现。
---
### 8. 发布计划
- Alpha 版本:实现书签管理功能。
- Beta 版本:集成死链检测、分类管理、大语言模型和 WebDAV 同步。
- 正式版本:优化 UI 和性能,发布到 Chrome 网上应用店。
---
### 1. 产品概述
开发一个 Chrome 扩展,帮助用户管理书签,支持死链检测、分类管理、WebDAV 同步,并通过集成大语言模型(如 OpenAI GPT)为书签生成描述和标签,提升书签的可读性和组织性。
---
### 2. 目标用户
- 普通用户:需要高效管理大量书签的用户。
- 开发者:需要快速访问技术文档和资源的用户。
- 研究人员:需要分类和标记大量参考链接的用户。
- 跨设备用户:需要在不同设备间同步书签的用户。
---
### 3. 核心功能
#### 3.1 书签管理
- 增删改查:
- 添加书签:用户可以通过表单输入标题和 URL 添加书签。
- 删除书签:用户可以通过按钮删除书签。
- 编辑书签:用户可以通过按钮修改书签的标题和 URL。
- 查看书签:书签以列表形式展示,支持点击链接跳转。
#### 3.2 死链检测
- 自动检测书签中的死链(无法访问的链接)。
- 死链以特殊样式(如红色文字)标记,并提供删除选项。
#### 3.3 书签分类管理
- 用户可以为书签添加分类标签(如“工作”、“学习”、“娱乐”)。
- 支持通过分类标签过滤书签。
#### 3.4 大语言模型集成
- 配置页:
- 用户可以在配置页中输入大语言模型的 API 密钥。
- 配置信息会保存到 Chrome 的本地存储中。
- 书签描述和标签生成:
- 调用大语言模型 API,为每个书签生成简短的描述和标签。
- 描述和标签展示在书签下方。
#### 3.5 WebDAV 同步
- 配置 WebDAV:
- 用户可以在配置页中输入 WebDAV 服务器的 URL、用户名和密码。
- 配置信息会保存到 Chrome 的本地存储中。
- 同步功能:
- 用户可以选择手动或自动同步书签到 WebDAV 服务器。
- 书签数据以 JSON 格式存储,文件名为
bookmarks.json。#### 3.6 新标签页
- 扩展会替换 Chrome 的新标签页,展示用户的书签列表。
- 书签列表包括标题、链接、描述、标签和分类。
---
### 4. 功能详细描述
#### 4.1 书签管理
- 添加书签:
- 用户在新标签页的表单中输入标题和 URL,点击“Add Bookmark”按钮添加书签。
- 书签会保存到 Chrome 的书签栏中。
- 删除书签:
- 每个书签右侧有一个“Delete”按钮,点击后删除书签。
- 编辑书签:
- 每个书签右侧有一个“Edit”按钮,点击后弹出提示框,用户可以修改标题和 URL。
- 查看书签:
- 书签以列表形式展示,点击链接即可跳转到目标页面。
#### 4.2 死链检测
- 检测逻辑:
- 每次加载新标签页时,扩展会尝试访问每个书签的 URL。
- 如果 URL 返回的状态码为 404 或其他错误,则标记为死链。
- 展示方式:
- 死链以红色文字标记,并在右侧显示“Dead Link”提示。
- 用户可以选择删除死链。
#### 4.3 书签分类管理
- 添加分类:
- 用户可以在添加或编辑书签时选择分类标签。
- 支持自定义分类标签。
- 过滤书签:
- 在新标签页顶部添加分类过滤器,用户可以选择特定分类查看书签。
#### 4.4 大语言模型集成
- 配置页:
- 用户可以通过扩展的配置页输入大语言模型的 API 密钥。
- 配置信息会保存到 Chrome 的
chrome.storage.sync 中。- 书签描述和标签生成:
- 每次加载新标签页时,扩展会调用大语言模型 API,为每个书签生成描述和标签。
- 描述和标签展示在书签下方。
#### 4.5 WebDAV 同步
- 配置 WebDAV:
- 用户可以在配置页中输入 WebDAV 服务器的 URL、用户名和密码。
- 配置信息会保存到 Chrome 的
chrome.storage.sync 中。- 同步功能:
- 手动同步:用户点击“Sync Now”按钮,将书签数据上传到 WebDAV 服务器。
- 自动同步:每次书签发生变化时,自动将书签数据上传到 WebDAV 服务器。
- 书签数据以 JSON 格式存储,文件名为
bookmarks.json。#### 4.6 新标签页
- 扩展会替换 Chrome 的新标签页,展示用户的书签列表。
- 书签列表包括:
- 标题
- 链接
- 描述(由大语言模型生成)
- 标签(由大语言模型生成)
- 分类标签
- 编辑按钮
- 删除按钮
---
### 5. 技术实现
#### 5.1 文件结构
bookmark-manager-extension/
│
├── manifest.json
├── background.js
│
├── newtab/
│ ├── newtab.html
│ ├── newtab.js
│ └── newtab.css
│
├── config/
│ ├── config.html
│ ├── config.js
│ └── config.css
│
├── assets/
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
│
└── README.md#### 5.2 技术栈
- 前端:HTML、CSS、JavaScript
- Chrome API:
chrome.bookmarks、chrome.storage- WebDAV 客户端:使用
dav 库(https://github.com/OpenMarshal/npm-WebDAV-Client)- 大语言模型 API:OpenAI GPT(或其他兼容 API)
#### 5.3 关键实现
- 书签管理:
- 使用
chrome.bookmarks API 实现增删改查功能。- 死链检测:
- 使用
fetch 检测书签 URL 的可访问性。- 分类管理:
- 使用
chrome.storage.sync 保存分类标签。- 大语言模型集成:
- 使用
fetch 调用大语言模型 API,生成书签描述和标签。- WebDAV 同步:
- 使用
dav 库实现 WebDAV 客户端功能。- 书签数据以 JSON 格式存储,文件名为
bookmarks.json。---
### 6. 用户界面设计
#### 6.1 新标签页
- 顶部:
- 标题“My Bookmarks”。
- 分类过滤器(下拉菜单或按钮组)。
- 中部:
- 添加书签的表单(标题输入框、URL 输入框、分类选择框、添加按钮)。
- 底部:
- 书签列表,每个书签包括:
- 标题和链接
- 描述(由大语言模型生成)
- 标签(由大语言模型生成)
- 分类标签
- 编辑按钮
- 删除按钮
#### 6.2 配置页
- 顶部:标题“Configuration”。
- 中部:
- API 密钥输入框和保存按钮。
- WebDAV 配置(URL、用户名、密码)和保存按钮。
- 底部:状态提示(如“Configuration saved!”)。
---
### 7. 测试计划
#### 7.1 功能测试
- 书签管理:
- 测试添加、删除、编辑和查看书签的功能。
- 死链检测:
- 测试死链的检测和标记功能。
- 分类管理:
- 测试分类标签的添加和过滤功能。
- 大语言模型集成:
- 测试配置页的 API 密钥保存和加载功能。
- 测试书签描述和标签的生成功能。
- WebDAV 同步:
- 测试 WebDAV 配置的保存和加载功能。
- 测试手动和自动同步功能。
- 新标签页:
- 测试新标签页的书签展示和跳转功能。
#### 7.2 兼容性测试
- 测试扩展在不同版本的 Chrome 浏览器中的兼容性。
#### 7.3 性能测试
- 测试扩展在大量书签情况下的性能表现。
---
### 8. 发布计划
- Alpha 版本:实现书签管理功能。
- Beta 版本:集成死链检测、分类管理、大语言模型和 WebDAV 同步。
- 正式版本:优化 UI 和性能,发布到 Chrome 网上应用店。
---