Redis AI Challenge 参赛项目,展示如何用 Redis 8 新缓存能力优化 LLM 摘要生成的实时性能。
这是一个参加 Redis AI 挑战赛「实时 AI 创新者」的作品。
PageMind 是一款 Chrome 扩展,通过 AI 驱动的摘要与实时协作,彻底改变团队获取和分享网页内容的方式。PageMind 专为展示 Redis 8 作为实时 AI 数据层的能力而构建,能将缓慢、昂贵的 AI 操作转化为快如闪电的协作体验。
信息过载:团队难以跟上海量网页内容的更新速度
重复的 AI 成本:多名团队成员对同一内容生成摘要,会浪费 API 调用
缺乏协作:传统摘要工具彼此孤立,无法协同工作
语言障碍:全球化团队需要使用自己偏好的语言阅读内容
即时摘要:Redis 缓存将响应时间从 3~5 秒缩短至不足 50ms
团队房间:使用 Redis 数据结构实时分享摘要
智能缓存:借助智能 Redis 缓存,将 AI API 调用量减少 90%
多语言:可即时获取 7 种语言的缓存摘要
历史记录导航:一键访问此前生成过摘要的页面
GitHub 仓库:depapp / pagemind
实时协作式网页摘要
🧠 PageMind——实时协作式网页摘要
DEV.to 文章中的完整说明
🚀 功能
⚡ 快如闪电的摘要:Redis 缓存将响应时间从 3~5 秒缩短至不足 50ms
👥 团队协作:创建房间并实时分享摘要
🌍 多语言支持:生成 7 种不同语言的摘要
💰 经济高效:借助智能缓存,将 AI API 调用量减少 90%
📊 智能历史记录:一键访问此前生成过摘要的页面
🎨 精美 UI:简洁、现代的界面,支持 Markdown 渲染
🏗️ 架构
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Chrome 扩展 │ HTTP │ Node.js 后端 │ Redis │ Redis Cloud │
│ ├────────▶│ ├────────▶│ │
│ PageMind UI │ │ Express + AI │ │ 缓存层 │
└─────────────────┘ └──────────────────┘ └─────────────────┘
📦 项目结构
pagemind/
├── pagemind-extension/ # Chrome 扩展
│ ├── manifest.json # 扩展配置
│ ├── popup/ # 扩展 UI
│ ├── background/ # Service worker
│ └── content/…
在 GitHub 上查看
DEV.to 文章中的完整说明
⚡ 快如闪电的摘要:Redis 缓存将响应时间从 3~5 秒缩短至不足 50ms
👥 团队协作:创建房间并实时分享摘要
🌍 多语言支持:生成 7 种不同语言的摘要
💰 经济高效:借助智能缓存,将 AI API 调用量减少 90%
📊 智能历史记录:一键访问此前生成过摘要的页面
🎨 精美 UI:简洁、现代的界面,支持 Markdown 渲染
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Chrome Extension│ HTTP │ Node.js Backend │ Redis │ Redis Cloud │
│ ├────────▶│ ├────────▶│ │
│ PageMind UI │ │ Express + AI │ │ Cache Layer │
└─────────────────┘ └──────────────────┘ └─────────────────┘
pagemind/
├── pagemind-extension/ # Chrome extension
│ ├── manifest.json # Extension configuration
│ ├── popup/ # Extension UI
│ ├── background/ # Service worker
│ └── content/
PageMind 利用 Redis 8 的高级功能,打造无缝的实时体验:
// Intelligent URL-based caching using Redis Hashes
const urlHash = hashUrl(url); // Deterministic hashing
const summaryKey = `summary:${urlHash}`;
// Store structured data with Redis Hashes
await redisClient.hSet(summaryKey, {
url,
title,
summary,
keyPoints: JSON.stringify(keyPoints),
timestamp: new Date().toISOString(),
summaryLength,
language
});
// Automatic expiration for cache management
await redisClient.expire(summaryKey, 7 * 24 * 60 * 60); // 7 days
以 O(1) 时间复杂度访问字段,支持局部更新
以结构化方式存储复杂的摘要数据
适合大规模部署,内存使用效率高
// Room creation with Redis Sets and Hashes
await redisClient.hSet(`room:${roomId}`, {
created: timestamp,
creator: userId,
apiKey: encryptedKey // Secure API key storage
});
// Member management with Sets
await redisClient.sAdd(`room:${roomId}:members`, userId);
// Chronological summary storage with Sorted Sets
await redisClient.zAdd(`room:${roomId}:summaries`, {
score: Date.now(), // Timestamp as score
value: urlHash
});
Hashes:存储房间元数据和摘要
Sets:以 O(1) 操作管理房间成员
Sorted Sets:维护按时间排序的摘要历史记录
// Real-time metrics with atomic counters
await redisClient.incr('metrics:cache_hits');
await redisClient.incr('metrics:cache_misses');
await redisClient.incr('metrics:ai_calls');
// Track cache effectiveness
const cacheHitRate = cacheHits / (cacheHits + cacheMisses) * 100;
// Result: 85-95% cache hit rate in production
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Chrome Extension│ │ Node.js Backend │ │ Redis Cloud │
│ │ HTTP │ │ Redis │ │
│ • Content.js ├────────▶│ • Express API ├────────▶│ • Hashes │
│ • Background.js│ │ • Redis Client │ │ • Sets │
│ • Popup UI │ │ • Gemini AI │ │ • Sorted Sets │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
│ Only on
│ cache miss
▼
┌──────────────────┐
│ Gemini AI API │
│ (Expensive Call) │
└──────────────────┘
Redis 优先设计:在进行任何 AI 调用前先检查缓存
确定性哈希:同一个 URL 始终生成相同的哈希值
基于房间的隔离:每个房间分别维护自己的摘要历史记录
优雅降级:即使 Redis 暂时不可用,系统仍能正常工作
协作智能层:首款将 AI 与 Redis 结合起来实现团队协作的 Chrome 扩展,将个人 AI 工具转变为团队共享资源
首款将 AI 与 Redis 结合起来实现团队协作的 Chrome 扩展
将个人 AI 工具转变为团队共享资源
智能缓存策略:基于 URL 为所有用户统一去重;与语言无关的缓存机制,同一个 URL 可对应多种语言
基于 URL 为所有用户统一去重
与语言无关的缓存机制:同一个 URL 支持多种语言
即时回放历史记录:点击历史记录 → 打开页面 → 自动显示缓存摘要;由 Redis 的亚毫秒级响应时间提供支持
点击历史记录 → 打开页面 → 自动显示缓存摘要
由 Redis 的亚毫秒级响应时间提供支持
经济高效的扩展能力:Redis 缓存将 AI 成本降低 90%,让原本成本高到难以落地的功能成为可能
Redis 缓存将 AI 成本降低 90%
让原本成本高到难以落地的功能成为可能
使用 Redis Streams 实现实时活动信息流
使用 Vector Search 实现语义化摘要检索
使用 RedisJSON 构建更丰富的摘要结构
使用 Pub/Sub 实现实时协同编辑
使用 Redis ML 提供个性化摘要推荐
PageMind 不只是又一款 AI 摘要工具——它展示了 Redis 8 如何将缓慢、昂贵、仅供单人使用的 AI 工具,转变为快速、经济且支持协作的平台。通过利用 Redis 的实时能力,我们打造了一款能够让整个团队使用 AI,同时将成本降低 90% 的工具。
Redis 带来的差异清晰可见:原本需要数秒完成的任务,现在只需几毫秒;原本需要花费数美元的操作,现在只需几美分;原本只能服务一个人的工具,现在可以赋能更多人。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。