找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

478

积分

0

好友

66

主题
发表于 8 小时前 | 查看: 1| 回复: 0

ChatLab 是一个免费、开源、本地化的聊天记录深度分析应用。它通过集成的 AI Agent 和灵活的 SQL 引擎,赋予用户自由拆解、查询乃至重构个人社交数据的能力。

该项目旨在将强大的分析能力直接置于您的本地电脑,所有数据均不涉及云端上传,以充分保护您的数据隐私。目前项目处于早期迭代阶段,若您在使用中遇到任何问题,欢迎随时反馈。

预览界面

核心特性

  • 🚀 极致性能:采用流式计算与多线程并行架构,即便是百万级别的聊天记录,也能保证流畅的交互与实时响应。
  • 🔒 保护隐私:所有聊天记录与配置文件均存储在本地数据库中,分析过程完全在本地完成(AI功能除外)。
  • 🤖 智能 AI Agent:集成超过 10 种 Function Calling 工具,支持动态调度,能够深入挖掘聊天记录中的潜在信息。
  • 📊 多维数据可视化:提供活跃度趋势、时间分布规律、成员互动排行等多个维度的直观分析图表。
  • 🧩 格式标准化:通过强大的数据抽象层,抹平不同社交平台间的格式差异,实现对任何来源聊天记录的统一分析。

系统架构

Electron 主进程

  • electron/main/index.ts 负责应用生命周期管理、窗口管理及自定义协议的注册。
  • electron/main/ipc/ 目录按功能模块拆分 IPC 通信(如窗口、聊天、合并、AI、缓存),确保进程间数据交换的安全与可控。
  • electron/main/ai/ 集成了多家大语言模型(LLM),内置了 Agent 执行管道、提示词拼装逻辑以及 Function Calling 工具的注册机制。

Worker 与数据管线

  • electron/main/worker/ 中的 workerManager 统一调度 Worker 线程,dbWorker 负责消息路由。
  • worker/query/* 承担了活跃度统计、AI 语义搜索、高级分析及 SQL 实验室等查询任务;worker/import/streamImport.ts 提供了高效的流式数据导入功能。
  • parser/ 目录采用“嗅探 + 解析”的三层架构设计,能够在恒定内存开销下处理 GB 级别的原始日志文件。

渲染进程

  • 前端采用 Vue 3 框架,配合 Nuxt UI 与 Tailwind CSS 构建可视化界面。src/pages 存放各业务页面,src/components/analysissrc/components/charts 等目录提供了可复用的分析组件与图表组件。
  • src/stores 通过状态管理库 Pinia 来管理会话、布局、AI 提示词等应用状态;src/composables/useAIChat.ts 封装了完整的 AI 对话流程。
  • 预加载脚本 electron/preload/index.ts 向渲染进程安全地暴露了 window.chatApimergeApiaiApillmApi 等接口,确保了渲染进程与主进程之间通信的安全隔离。

本地运行

启动步骤

项目运行依赖于 Node.js 环境,版本要求为 v20 及以上。

# 安装依赖
pnpm install

# 启动开发服务器
pnpm run dev

若 Electron 在启动时出现异常,可尝试使用 electron-fix 工具进行修复:

npm install electron-fix -g
electron-fix start

项目地址

项目的源代码与完整文档位于:https://github.com/hellodigua/ChatLab/blob/main/README.md




上一篇:高可用架构设计核心:数据复制策略与计算服务横向扩展实践
下一篇:TypeScript 3D地图渲染引擎FlyWave.GL:基于WebGL的高性能开源解决方案
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 18:59 , Processed in 0.171197 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表