Engram 是一款专为 AI 用户(DeepSeek, ChatGPT, Qwen 等)设计的 Chrome 侧边栏插件,旨在将碎片化的 AI 对话沉淀为结构化的本地个人知识库。
- 前端框架: React + TypeScript + Tailwind CSS。
- 本地存储: Dexie.js (IndexedDB),支持大数据量下的高性能查询。
- UI 风格: 深度适配 Flexoki 配色,追求“无边框、高密度、沉浸式”的阅读体验。
- 核心组件体系:
GlobalHeader: 全局控制与全局搜索。Sidebar: 导航与统计。DetailView: 包含ChatSpine(侧边导航脊柱)和DetailToolbar(操作工具栏)的沉浸式详情页。
- 多平台适配: 架构已解耦,目前支持 DeepSeek、Qwen、Google AI Studio、ChatGPT 等平台的数据抓取与显示。
- 多语言系统 (i18n): 建立了一套类型安全的翻译系统,支持中英文一键切换,并能持久化用户偏好。
- 交互式搜索热力图: 在详情页侧边脊柱(
ChatSpine)实现了“搜索热力图”,关键词匹配的消息点会以橙黄色呼吸灯效果显示,方便快速定位长对话信息。 - 极简导出: 支持将单篇对话导出为标准的
.md文件,保留原始 Markdown 语法、图片链接和代码块,完美对接 Notion/Obsidian。 - UI 细节优化:
- 主题切换(深色/浅色模式)已移至设置页面,解决底部导航栏误触问题。
- 详情页自动滚动到底部,支持公式(KaTeX)渲染。
- 针对数据库批量写入导致的乱序问题,通过微偏移时间戳算法彻底修复。
- 数据安全: 实现了“安全锁”机制,在抓取内容少于本地记录时提示用户,防止数据误覆盖。
- 性能挑战: 当本地存储达到数千条消息时,需考虑引入虚拟列表渲染。
- 同步功能: 探索加密的云端备份或多设备同步方案。
- 智能分析: 利用本地模型对抓取的对话进行自动摘要或分类标签化。
注:详细的原子级改动记录请查阅 read.md。此文件作为新对话的上下文起点。
不许删!刚刚成功使用git的“交互式重命名”功能实现了改名提交记录,避免了直接修改历史记录的风险。这玩意确实复杂。