BookmarkWall 是一个 Manifest V3 浏览器扩展,用海报墙的方式整理 Chrome / Edge 原生书签。它会把书签展示成可搜索、可筛选、可移动的卡片,并在用户明确同意后为网页生成真实截图海报。
English summary: BookmarkWall is a local-first Chrome/Edge bookmark organizer that turns native bookmarks into a searchable poster wall with optional real webpage screenshots and optional OpenAI-compatible AI suggestions.
- 原生书签管理:读取浏览器书签树,支持搜索、排序、文件夹筛选、最近添加、未分类和重复书签检测
- 海报墙视图:统一 16:9 或竖向海报卡片,优先展示本地预览,授权后生成真实网页截图
- 整理操作:多选、拖拽移动、编辑标题/URL、删除、撤销和批量移动
- 安全备份:首次引导和设置页都提供全部书签 HTML / JSON 导出
- 截图管线:支持增强 CDP 后台截图、手动临时窗口补拍、公开网页封面、本地设计海报兜底
- 并发控制:截图队列支持 1-63 并发,可停止,并显示进度
- 可选 AI:支持 OpenAI-Compatible API,默认关闭,建议必须预览确认后才会应用
- 本地优先:书签、截图缓存、设置和 API Key 保存在本机扩展存储中,设置导出默认脱敏 API Key
- 无构建依赖:原生 HTML / CSS / JavaScript,无前端框架和远程运行时依赖
| 首次引导 | 海报墙主页 |
|---|---|
![]() |
![]() |
| 设置页 | AI 预整理 |
|---|---|
![]() |
![]() |
- 下载或克隆本仓库
- 打开
chrome://extensions/或edge://extensions/ - 开启“开发者模式”
- 点击“加载已解压的扩展程序”
- 选择项目根目录
- 点击扩展图标打开 BookmarkWall
首次进入时,扩展会先显示引导页。确认前它不会读取完整书签树、不会访问书签网页,也不会启动截图队列。勾选截图授权并点击开始后,才会为当前可见书签生成真实海报。
如果你已经有发布包,可以在扩展管理页选择解压后的 ZIP 内容目录。可安装包应至少包含:
manifest.json
index.html
background.js
src/
assets/
docs/
README.md
LICENSE
package.json
项目不需要构建步骤。修改文件后,在扩展管理页点击刷新即可重新加载。
npm run verify脚本说明:
npm run check:检查主要 JavaScript 文件语法npm test:运行工具函数、Manifest 和 UI 配置相关测试npm run verify:依次运行语法检查和全部测试,GitHub Actions 也使用这个命令npm run package:生成本地发布 ZIP 到dist/
目录结构:
.github/ GitHub issue / PR 模板和 CI workflow
assets/ 扩展图标和首次引导预览图
docs/ 文档索引、结构、开发、测试、隐私、发布和上架材料
scripts/ 本地维护脚本,例如发布 ZIP 打包
src/ 主应用逻辑、工具函数和样式
tests/ Node.js 自动测试
完整说明见 项目结构。
可以生成本地测试包:
npm run package输出文件位于 dist/bookmarkwall-<version>.zip。建议不要把 dist/、本地调试目录和参考素材提交到 GitHub。发布前请参考 Release Checklist。
BookmarkWall 申请的权限都用于本地书签整理和海报生成:
bookmarks:读取、移动、重命名和删除浏览器原生书签storage/unlimitedStorage:保存设置、截图缓存、AI 建议和本地状态tabs/activeTab:创建截图标签页、恢复原标签页、打开或切回主页面,并执行备用截图tabGroups:把批量截图临时标签页收进折叠的“BookmarkWall 截图工作区”,减少标签栏干扰scripting:截图前滚动页面到顶部,减少截到中间位置的概率debugger:通过 Chrome DevTools Protocol 生成真实网页截图,按需请求http://*/*/https://*/*:访问用户书签对应网页,用于截图或读取公开封面,按需请求
- 扩展不会把书签、截图缓存、设置或 API Key 上传到开发者服务器
- 真实网页截图只在用户同意后生成,并保存到本地扩展存储
- AI 预整理默认关闭,只有用户主动配置并触发时才会发送必要书签信息
- AI 请求默认只包含标题、域名、URL 路径、当前文件夹和可选目标文件夹列表;网页 meta description 与正文摘要只有在用户单独开启后才会读取并发送
- AI 可分批处理当前范围的全部书签,结果按置信度预览;用户允许时可在确认应用阶段新建建议文件夹、移动书签和优化标题,整批操作可撤销
- 用户可以随时导出书签备份、按最近缓存瘦身、清除截图缓存和清除 AI 推荐记录
欢迎提交 issue 和 pull request。开始之前建议先阅读 CONTRIBUTING.md,并至少运行:
npm run check
npm test由于这是浏览器扩展,涉及书签、截图、权限和可选 AI 数据发送,任何改动都应优先保证用户知情、可撤销、本地优先。
本项目使用 MIT License。



