專業的 ChatGPT 記憶管理 Chrome 擴充套件 - React + TypeScript 重構版
- 智能檢測: 自動檢測 ChatGPT 記憶容量狀態
- 一鍵匯出: 支援 Markdown 和純文字格式匯出
- 歷史記錄: 完整的匯出歷史管理
- 自動提醒: 記憶已滿時的視覺增強提示
- 設定管理: 可自訂的擴充套件行為
- ✅ React 18 UI: 現代化的使用者介面
- ✅ TypeScript: 完整的類型安全
- ✅ 智能去重: 基於內容 hash 的去重算法
- ✅ 快速建置: esbuild 驅動,建置時間 < 100ms
- ✅ Manifest V3: 符合最新 Chrome Extension 標準
-
Clone 專案
git clone https://github.com/s123104/ChatGPT-Memory-Toolkit.git cd ChatGPT-Memory-Toolkit -
安裝依賴
pnpm install # 或 npm install -
建置擴充套件
node build.mjs
-
載入到 Chrome
- 開啟
chrome://extensions/ - 啟用「開發者模式」
- 點擊「載入未封裝項目」
- 選擇
dist/資料夾
- 開啟
目前版本尚未上架,請使用方法 1
擴充套件會自動在 ChatGPT 頁面檢測記憶狀態:
- 🟢 正常: 記憶容量充足
- 🔴 已滿: 記憶容量已達上限,會顯示視覺提示
- 點擊擴充套件圖示開啟 Popup
- 點擊「📥 匯出記憶」按鈕
- 擴充套件會自動:
- 導航到 ChatGPT Personalization 設定
- 讀取所有記憶內容
- 儲存到歷史記錄
- 點擊「📋 歷史記錄」查看所有匯出記錄
- 每筆記錄顯示:日期時間、使用量、記憶數量
- 可刪除單筆記錄或清空全部
點擊「⚙️ 設定」可調整:
- ✅ 記憶已滿時自動開啟視窗
- ✅ 自動清理舊記錄
- 📊 保留歷史記錄數量上限(10-200 筆)
- 🔧 開發者模式(顯示詳細日誌)
前端框架: React 19 + TypeScript
建置工具: esbuild
樣式: CSS3 (模組化)
Chrome API: Manifest V3
儲存: chrome.storage.local
ChatGPT-Memory-Toolkit/
├── build.mjs # 自定義建置腳本
├── dist/ # 建置輸出
│ ├── background.js # Service Worker
│ ├── content/
│ │ └── chatgpt-memory.js # Content Script
│ ├── popup/
│ │ ├── index.html # Popup HTML
│ │ ├── index.js # React Popup (bundled)
│ │ └── index.css # Popup 樣式
│ └── manifest.json # Extension Manifest
├── pages/
│ ├── content/src/
│ │ └── chatgpt-memory.ts # Content Script 原始碼
│ └── popup/src/
│ ├── Popup-simple.tsx # React Popup 組件
│ ├── Popup.css # Popup 樣式
│ └── index.tsx # React Entry Point
├── packages/
│ └── storage/
│ └── lib/impl/
│ └── memory-storage.ts # Storage Manager
├── chrome-extension/
│ ├── manifest.ts # Manifest 配置
│ └── src/background/
│ └── index.ts # Background Script
└── dev/ # 開發文檔
├── BUILD-SUCCESS.md
├── CHROME-TESTING-GUIDE.md
├── MIGRATION-COMPLETE.md
└── ...
- 記憶歷史管理
- 設定持久化
- 智能去重算法
- 儲存空間監控
- DOM 操作與檢測
- 自動導航
- 視覺增強
- Message Passing
- React 組件
- 狀態管理
- 使用者互動
- 資料展示
- 事件協調
- 跨 Tab 通訊
- 擴充套件生命週期管理
- Node.js 18+
- pnpm 或 npm
- Chrome 88+
# 安裝依賴
pnpm install
# 建置(開發模式)
node build.mjs
# 建置(生產模式 - 需修改 build.mjs 啟用 minify)
node build.mjs --production
# 快速重建
node build.mjs && echo "✅ Rebuilt"- 修改原始碼
- 執行
node build.mjs - 在
chrome://extensions/點擊重新載入 - 測試功能
- 重複 1-4
// Popup Console (右鍵 Popup → 檢查)
chrome.storage.local.get(null, console.log)
// Content Script Console (頁面 F12)
console.log('[Memory Manager] Debug info')
// Background Console (chrome://extensions/ → 檢查檢視)
chrome.runtime.onMessage.addListener((msg) => {
console.log('[Background]', msg);
});| 指標 | 數值 |
|---|---|
| 建置時間 | < 100ms |
| Content Script 大小 | 17.5KB |
| Background Script 大小 | 35KB |
| Popup Bundle 大小 | 1.1MB (含 React) |
| Popup 開啟時間 | < 200ms |
| 記憶體使用 | ~ 15MB |
詳細測試指南: dev/CHROME-TESTING-GUIDE.md
快速測試清單:
- 擴充套件載入無錯誤
- Popup 可正常開啟
- 設定可儲存和讀取
- Content script 正常載入
- 匯出功能可執行
- 歷史記錄管理正常
- ✅ Popup UI: 完整
- ✅ Content Script: 完整
- ✅ Storage Manager: 完整
- ⏳ 整合測試: 需實際環境驗證
重大更新:
- 🎨 完全重寫為 React + TypeScript
- ⚡ 使用 esbuild 大幅提升建置速度
- 🧹 移除不必要的模板代碼
- 📦 簡化專案結構
新功能:
- ✨ 智能去重算法
- ✨ 完整的 TypeScript 型別支援
- ✨ 現代化的 React UI
修復:
- 🐛 修復 manifest default_locale 錯誤
- 🐛 優化 Storage API 使用
- 🐛 改進錯誤處理
文檔:
- 📚 5000+ 行專業開發文檔
- 📚 完整的測試指南
- 📚 詳細的架構說明
詳見 CHANGELOG.md
歡迎提交 Issue 和 Pull Request!
- Fork 本專案
- 建立功能分支 (
git checkout -b feature/AmazingFeature) - 提交變更 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 開啟 Pull Request
本專案遵循 Linus Torvalds 實用主義:
- ✅ 簡單勝於複雜
- ✅ 實用勝於完美
- ✅ 刪除不需要的代碼
- ✅ 好品味的代碼設計
詳見: LINUS_GUIDE.md
MIT License - 詳見 LICENSE
ChatGPT Memory Toolkit Team
- GitHub: @s123104
- Project: ChatGPT-Memory-Toolkit
遇到問題?
- 查看 Issues
- 閱讀
dev/CHROME-TESTING-GUIDE.md - 提交新 Issue
- Chrome Web Store 上架
- 支援匯出為 JSON 格式
- 記憶搜尋功能
- 批次操作
- 多語言支援 (i18n)
- 自動備份到雲端
- 記憶分類功能
- 統計圖表
如果這個專案對你有幫助,請給一個 Star ⭐
Made with ❤️ by ChatGPT Memory Toolkit Team