Skip to content

Latest commit

 

History

History
643 lines (544 loc) · 43.4 KB

File metadata and controls

643 lines (544 loc) · 43.4 KB

Chatlog Session 文档中心

项目全部文档索引,共 321 篇。归档文档见 external-docs/_archive/。


生态系统架构总览

Chatlog 生态由多个子项目协同工作,共同实现微信聊天记录的读取 → 查看 → 搜索 → 发送 → 自动化全链路能力。

graph TB
    subgraph 用户层["👤 用户层"]
        Browser["Chatlog Session<br/>Vue 3 前端 (浏览器)"]
    end

    subgraph 服务层["⚙️ 服务层"]
        ChatlogAPI["Chatlog API<br/>Golang 后端 (:5039)<br/>聊天记录读取 & 解密"]
        SendMsg["wechat-sendmsg<br/>Python 服务 (:8765)<br/>消息发送 (GUI 自动化)"]
        CFWorker["CF Worker Proxy<br/>Cloudflare Worker<br/>多媒体资源代理"]
    end

    subgraph 数据层["💾 数据层"]
        WeChatDB["微信本地数据库<br/>contact.db / message.db / session.db<br/>(SQLCipher 加密)"]
        IndexedDB["浏览器 IndexedDB<br/>本地缓存 & 离线支持"]
    end

    subgraph 自动化层["🤖 自动化层"]
        Butler["WeChat Butler<br/>微信消息自动化管家<br/>规则引擎 + 自动回复"]
        WeChatClient["微信桌面客户端<br/>Win / Mac / Linux"]
    end

    Browser -->|"HTTP API<br/>会话/消息/联系人"| ChatlogAPI
    Browser -->|"HTTP API<br/>发送消息/图片/文件"| SendMsg
    Browser -->|"代理请求<br/>图片/视频/语音"| CFWorker
    ChatlogAPI -->|"SQLCipher 解密<br/>读取本地数据库"| WeChatDB
    SendMsg -->|"GUI 自动化<br/>pyautogui + 剪贴板"| WeChatClient
    Butler -->|"规则匹配<br/>消息处理"| WeChatClient
    Browser -->|"本地持久化<br/>缓存 & 离线"| IndexedDB

    style Browser fill:#42b883,stroke:#2c3e50,color:#fff
    style ChatlogAPI fill:#00ADD8,stroke:#2c3e50,color:#fff
    style SendMsg fill:#3776AB,stroke:#2c3e50,color:#fff
    style CFWorker fill:#F38020,stroke:#2c3e50,color:#fff
    style WeChatDB fill:#9B59B6,stroke:#2c3e50,color:#fff
    style IndexedDB fill:#E67E22,stroke:#2c3e50,color:#fff
    style Butler fill:#E74C3C,stroke:#2c3e50,color:#fff
    style WeChatClient fill:#27AE60,stroke:#2c3e50,color:#fff
Loading

数据流架构

flowchart LR
    subgraph 数据读取流["📖 数据读取流"]
        A1["微信本地数据库<br/>(SQLCipher)"] -->|"解密读取"| A2["Chatlog API<br/>(Golang :5039)"]
        A2 -->|"HTTP JSON"| A3["Chatlog Session<br/>(Vue 3 前端)"]
        A3 -->|"IndexedDB<br/>缓存"| A4["本地缓存层"]
    end

    subgraph 消息发送流["📤 消息发送流"]
        B1["SendBox 组件<br/>用户输入"] -->|"HTTP POST"| B2["wechat-sendmsg<br/>(Python :8765)"]
        B2 -->|"消息队列<br/>SQLite 持久化"| B3["GUI 自动化<br/>pyautogui"]
        B3 -->|"剪贴板+快捷键"| B4["微信桌面客户端"]
    end

    subgraph 多媒体流["🖼️ 多媒体流"]
        C1["腾讯 CDN<br/>图片/视频/语音"] -->|"CF Worker<br/>代理转发"| C2["Chatlog Session<br/>前端展示"]
    end

    subgraph 自动化流["🤖 自动化流"]
        D1["WeChat Butler<br/>规则引擎"] -->|"消息匹配<br/>& 自动回复"| D2["微信桌面客户端"]
    end
Loading

子项目概览

子项目 定位 技术栈 端口 核心能力
Chatlog Session 微信聊天记录查看器 Vue 3 + TS + Vite + Pinia 会话浏览、消息查看、联系人管理、全文搜索、消息发送、数据导出
Chatlog API 聊天记录读取 & 解密服务 Golang + SQLCipher :5039 数据库解密、会话查询、消息分页、联系人读取、多媒体代理
wechat-sendmsg 微信消息发送工具 Python + FastAPI + pyautogui :8765 文本/图片/文件发送、消息队列持久化、重试机制、MCP 协议
CF Worker Proxy 多媒体资源代理 Cloudflare Workers 腾讯域名白名单代理、CORS 头注入、来源验证
WeChat Butler 微信消息自动化管家 规划中 规则引擎、消息匹配、自动回复、系统集成

Chatlog Session 前端架构

graph TB
    subgraph Views["视图层 (Views)"]
        Chat["Chat<br/>聊天消息"]
        Contact["Contact<br/>联系人"]
        Search["Search<br/>搜索"]
        Settings["Settings<br/>设置"]
        Dashboard["Dashboard<br/>仪表盘"]
        Onboarding["Onboarding<br/>引导页"]
    end

    subgraph Stores["状态层 (Pinia Stores)"]
        SessionStore["session<br/>会话列表"]
        ChatStore["chatMessages<br/>消息数据"]
        ContactStore["contact<br/>联系人"]
        SettingsStore["settings<br/>配置"]
        SearchStore["search<br/>搜索"]
        NotificationStore["notification<br/>通知"]
    end

    subgraph API["API 层"]
        ChatlogAPI["chatlog.ts<br/>聊天记录 API"]
        SessionAPI["session.ts<br/>会话 API"]
        ContactAPI["contact.ts<br/>联系人 API"]
        MediaAPI["media.ts<br/>多媒体 API"]
        SendmsgAPI["sendmsg.ts<br/>消息发送 API"]
    end

    subgraph Components["组件层"]
        ChatComponents["chat/<br/>MessageBubble, SendBox..."]
        LayoutComponents["layout/<br/>MainLayout, Sidebar..."]
        CommonComponents["common/<br/>LoadingProgress..."]
    end

    subgraph Composables["组合式函数"]
        AutoRefresh["useAutoRefreshManager"]
        MessageCache["useMessageCache"]
        MobileGesture["useMobileGesture"]
        KeyboardShortcuts["useKeyboardShortcuts"]
    end

    Views --> Stores
    Stores --> API
    Views --> Components
    Views --> Composables
    Stores --> Composables
Loading

技术栈全景

graph LR
    subgraph 前端["Chatlog Session (前端)"]
        Vue["Vue 3"]
        TS["TypeScript"]
        Vite["Vite 8"]
        EP["Element Plus"]
        Pinia["Pinia 3"]
        VueRouter["Vue Router 5"]
        VueUse["VueUse"]
        VirtualScroller["vue-virtual-scroller"]
        Marked["marked"]
        Dayjs["dayjs"]
        Pinyin["pinyin-pro"]
        DOMPurify["DOMPurify"]
    end

    subgraph 后端["Chatlog API (后端)"]
        Go["Golang"]
        SQLCipher["SQLCipher"]
        HTTP["net/http"]
    end

    subgraph 发送["wechat-sendmsg"]
        Python["Python"]
        FastAPI["FastAPI"]
        PyAutoGUI["pyautogui"]
        SQLite["SQLite"]
    end

    subgraph 代理["CF Worker Proxy"]
        CF["Cloudflare Workers"]
    end

    Vue --- TS --- Vite
    Go --- SQLCipher
    Python --- FastAPI --- PyAutoGUI
Loading

文档目录结构

docs/
├── faq.md                                # 常见问题
├── changelog/                            # 版本变更日志 (29 篇)
│   ├── CHANGELOG_v0.2.0.md ~ v0.25.0.md
│   └── ...
└── external-docs/                        # 外部文档中心
    ├── api/                              # API 参考文档 (26 篇)
    │   ├── reference.md                  # 完整 API 接口文档
    │   ├── data-structure.md             # 数据模型和字段说明
    │   ├── http-api.md                   # HTTP API 说明
    │   ├── pagination.md                 # 分页参数和使用方法
    │   ├── session-mapping.md            # 会话数据处理
    │   ├── response-fix.md               # 常见响应问题处理
    │   └── examples/                     # API 调用示例 (21 篇)
    ├── architecture/                     # 架构设计文档 (5 篇)
    │   ├── product-design.md             # 产品需求和设计
    │   ├── core/                         # 核心架构
    │   │   ├── message-loading-flow.md           # 消息加载完整流程
    │   │   └── message-loading-quick-reference.md # 消息加载快速参考
    │   └── ui/                           # UI 架构
    │       ├── main-layout.md                    # 主布局设计
    │       └── view-switching.md                 # 视图切换机制
    ├── backend-golang/                   # Chatlog API 后端文档 (41 篇)
    │   ├── db-analysis/                  # 微信数据库结构分析 (9 篇)
    │   ├── db-copy/                      # 数据库复制与备份机制 (9 篇)
    │   ├── implementation/               # 核心功能实现细节 (4 篇)
    │   ├── optimizations/                # 性能优化方案 (7 篇)
    │   ├── refactoring/                  # 代码重构总结 (2 篇)
    │   └── ...                           # 解密、SQLCipher 迁移等
    ├── cf-worker-proxy/                  # CF Worker 代理文档
    ├── deployment/                       # 部署指南 (3 篇)
    ├── design/                           # 技术设计文档 (1 篇)
    │   └── v0.26.0-sendmsg-integration.md  # SendMsg 集成设计
    ├── examples/                         # 使用示例 (4 篇)
    ├── features/                         # 功能特性文档 (34 篇)
    │   ├── api/                          # API 相关功能
    │   ├── background/                   # 后台刷新/加载
    │   ├── contact/                      # 联系人功能
    │   ├── core/                         # 核心功能 (消息加载/缓存/滚动/虚拟消息)
    │   ├── messages/                     # 消息类型功能 (basic/media/rich)
    │   ├── notification/                 # 通知功能
    │   ├── performance/                  # 性能优化功能
    │   ├── pwa/                          # PWA 功能
    │   ├── search/                       # 搜索功能
    │   └── ui/                           # UI 增强功能 (含移动端)
    ├── fixes/                            # 问题修复文档 (10 篇)
    ├── guides/                           # 使用和开发指南 (27 篇)
    │   ├── quick-start/                  # 快速开始指南
    │   ├── developer/                    # 开发者指南 (含调试/实现/测试)
    │   ├── user/                         # 用户使用手册
    │   ├── message-types/                # 消息类型指南
    │   └── troubleshooting/              # 故障排查指南
    ├── issues/                           # 问题追踪 (4 篇)
    ├── openspec/                         # OpenSpec 变更管理 (115 篇)
    │   ├── specs/                        # 规格定义
    │   └── changes/                      # 变更记录
    │       ├── integrate-ai-panel-butler/  # AI 面板集成 (进行中)
    │       └── archive/                   # 已归档变更 (10 个)
    ├── performance/                      # 性能优化文档 (1 篇)
    ├── planning/                         # 规划文档 (4 篇)
    ├── refactoring/                      # 重构文档 (2 篇)
    ├── references/                       # 参考资料 (7 篇)
    ├── scripts/                          # 辅助脚本
    ├── troubleshooting/                  # 故障排查 (2 篇)
    ├── _archive/                         # 已归档文档 (61 篇)
    ├── 其他同类工具/                      # 同类工具对比参考 (2 篇)
    ├── CHANGELOG.md                      # 变更日志
    ├── ROADMAP.md                        # 项目路线图
    └── TODO.md                           # 待办事项

文档导航

按项目查找

Chatlog Session (前端)

类别 文档 说明
入门 快速开始 5 分钟了解项目结构
用户 用户使用手册 完整的用户使用说明
开发 开发者指南 开发环境搭建和开发流程
测试 测试指南 测试方法和最佳实践
API API 参考手册 完整的 API 接口文档
架构 主布局架构 应用布局设计
路线图 项目路线图 开发路线图和版本规划

Chatlog API (后端)

类别 文档 说明
概览 后端文档索引 后端文档导航
数据库 数据库结构分析 微信本地数据库表结构
优化 性能优化方案 各方面优化细节
实现 核心功能实现 解密、模板提取等

wechat-sendmsg (消息发送)

类别 文档 说明
设计 SendMsg 集成设计 v0.26.0 集成技术方案

WeChat Butler (自动化)

类别 文档 说明
规划 AI 面板集成变更 Butler 集成变更规格
规划 AI/MCP 集成规划 AI 集成整体规划

按主题查找

主题 关键文档
消息加载 完整流程 / 快速参考
性能优化 Contact DB 模式 / 虚拟滚动 / 拼音优化
数据管理 数据结构 / 分页机制 / 会话映射
部署运维 GitHub Pages / PWA 配置 / 故障排查
移动端 主布局 / 视图切换 / 移动端 UI

版本历程

版本 日期 里程碑
v0.26.0 2026-05-08 SendMsg 集成、微信风格 SendBox、可配置快捷键
v0.25.0 2026-05-06 链接消息、Live Photo 高清修复、Vite v8
v0.24.0 2026-04-13 收藏消息类型支持
v0.22.0 2026-03-12 Gap 置信度分级、锚点逻辑统一
v0.20.0 2026-03-11 EmptyRange 窗口探测优化
v0.16.0 2026-02-11 聊天记录导出 (JSON/CSV/TXT/Markdown)
v0.15.0 2025-12-05 会话置顶、Live Photo、Dashboard 重构、PWA
v0.14.0 2025-11-25 转发消息增强、EmptyRange/Gap/Revoke 虚拟消息
v0.10.0 2025-01-24 群聊管理、搜索、IndexedDB v3、智能消息加载
v0.9.0 2025-11-21 移动端响应式布局、keep-alive 缓存

完整版本记录见 ROADMAP.mdCHANGELOG.md


文档统计

分类 数量
总文档数 321 篇
归档文档 61 篇
API 文档 26 篇
功能特性 34 篇
架构设计 5 篇
指南文档 27 篇
后端文档 41 篇
OpenSpec 变更 115 篇
变更日志 29 篇

docs/

  • faq.md — 常见问题 (FAQ)

changelog/

docs/external-docs/

根目录/ (3 篇)

API 文档/ (26 篇)

架构设计/ (5 篇)

后端 Golang/ (41 篇)

部署指南/ (3 篇)

技术设计/ (1 篇)

示例文档/ (4 篇)

功能特性/ (34 篇)

问题修复/ (10 篇)

指南文档/ (27 篇)

问题记录/ (4 篇)

OpenSpec 变更管理/ (115 篇)

项目规划/ (4 篇)

重构文档/ (2 篇)

参考资料/ (7 篇)

故障排查/ (2 篇)

其他同类工具/ (2 篇)

performance/ (1 篇)


文档总数: 321 篇 | 归档: 61 篇 | 最后更新: 2026-05-12 | 版本: v0.26.0