mirror of
https://github.com/ILoveBingLu/CipherTalk.git
synced 2026-05-16 17:29:30 +08:00
2.0 KiB
2.0 KiB
项目核心上下文 (Context)
项目概述
项目名称: 密语 (CipherTalk) 核心功能: 微信聊天记录查看、分析与导出工具。支持从 Android 设备(模拟器)中提取并解密微信数据库,提供现代化的查看界面。 技术栈:
- 前端: React 19, TypeScript, Zustand, SCSS
- 后端/桌面: Electron 39, NodeJS
- 打包: Vite, electron-builder
- 关键依赖:
better-sqlite3: 数据库操作sherpa-onnx-node,sense-voice: 离线语音转文字silk-wasm: 语音解码dom-to-image-more,html2canvas: 图片生成echarts: 数据可视化jieba-wasm: 中文分词
目录结构
src/: React 前端源码pages/: 页面 (Welcome, DataManagement, Chat, etc.)stores/: 状态管理 (useStore)components/: UI 组件services/: 前端服务逻辑
electron/: Electron 主进程与 Workermain.ts: 主入口transcribeWorker.ts: 语音转写子线程
scripts/: 构建与辅助脚本
核心业务流程
- 启动与解密:
- 用户提供数据库路径与密钥 (或自动扫描)。
- 使用 SQLCipher (通过
better-sqlite3或 DLL) 解密EnMicroMsg.db。 - 解密图片/语音等多媒体文件。
- 聊天记录查看:
- 加载会话列表。
- 渲染消息气泡 (文本、图片、语音、表情)。
- 虚拟滚动优化长列表。
- 高级功能:
- 语音转文字 (本地 SenseVoice 模型)。
- 聊天记录导出。
- 数据统计与可视化。
关键配置与规范
- 语言: 中文优先 (代码注释、Commit 信息)。
- 样式: SCSS 模块化,使用 CSS 变量管理主题。
- 状态管理: Zustand store 存放全局状态(当前会话、数据库连接状态等)。
- IPC 通信: Electron 主进程与渲染进程通过 IPC 交换数据(如数据库查询结果、文件操作)。
当前开发重点
- 提升应用的健壮性与错误处理。
- 优化长列表和大量数据下的性能。
- 完善 CI/CD 和自动化工作流。