Chatbox本地聊天记录全攻略:保存路径+误删恢复技巧

一、Chatbox是什么?为什么需要关注本地数据?

Chatbox(示例版本v1.9.8)是一款开源的本地化AI对话管理工具,支持连接多种大语言模型。其核心优势在于:

  • 离线可用性:无需依赖互联网连接即可运行,适合网络不稳定或需要隔离内网的场景
  • 隐私保护:数据处理和计算可以本地完成,避免敏感信息(如企业数据、个人对话)上传至第三方服务器
  • 一站式管理:在同一界面切换不同模型( OpenAI 、DeepSeek 、通义千问等),无需多个平台切换。
  • 快速迭代:支持新模型快速接入

二、本地存储路径

聊天记录存储在C:\Users\[你的用户名]\AppData\Roaming\xyz.chatboxapp.app\config.json文件中,AppData文件夹是隐藏的,需要显示隐藏才能看到,win11的隐藏文件夹开启方法如下图所示。

⚠️警告:直接修改json文件可能导致数据损坏,建议操作前复制文件进行备份

三、备份机制解析

Chatbox采用周期备份的方式备份对话(最多备份50份),聊天框开启时每10分钟生成格式如下的备份文件:

config-backup-2025-02-13T23_50_13.161Z.json

时间戳解读:

  • 2025-02-13:年月日
  • T23_50_13:时分秒(UTC时间)
  • .161Z:毫秒级精度

四、误删恢复指南

4.1. 简单恢复法(适用于刚刚误删且最近几分钟聊天内容可以舍弃的用户)

❗️注意:导入操作会覆盖现有数据,操作之前务必将现有config.json复制一份当做备份

1. 定位备份文件 :按时间信息找到想恢复的备份(可以使用记事本打开config-backup-xxxxxx.json文件查看聊天内容)

2. 导入备份文件:设置 → 其他 → 数据备份与恢复 → 数据恢复 → 导入与恢复 → 输入备份文件路径 → 选择备份文件 → 点击打开,此时chatbox会重启然后恢复为之前的聊天记录

 4.2. 复杂恢复法(适用于懂得json结构、误删很久且完全不想舍弃从误删到现在为止聊天内容的用户)

⚠️警告:直接修改json文件可能导致数据损坏,建议操作前复制文件进行备份

聊天的存储是按照会话排列的,即会话的内容在一个层级的{}内

		{
			"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
			"name": "测试2",
			"type": "chat",
			"messages": [
				{
					"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
					"role": "system",
					"content": "You are a helpful assistant.",
					"timestamp": 1739518513994,
					"tokenCount": 13
				},
				{
					"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
					"content": "测试2:请回答2",
					"role": "user",
					"timestamp": 1739518519353,
					"wordCount": 7,
					"tokenCount": 15
				},
				{
					"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
					"content": "回答2:2",
					"role": "assistant",
					"timestamp": 1739518520134,
					"generating": false,
					"wordCount": 4,
					"tokenCount": 13,
					"aiProvider": "custom",
					"model": "通义千问-MAX(qwen-max-2025-01-25)",
					"status": [],
					"firstTokenLatency": 613,
					"reasoningContent": "",
					"tokensUsed": 35
				},
				{
					"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
					"content": "测试2:请回答4",
					"role": "user",
					"timestamp": 1739518545874,
					"wordCount": 7,
					"tokenCount": 15
				},
				{
					"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
					"content": "回答4:4",
					"role": "assistant",
					"timestamp": 1739518546634,
					"generating": false,
					"wordCount": 4,
					"tokenCount": 13,
					"aiProvider": "custom",
					"model": "通义千问-MAX(qwen-max-2025-01-25)",
					"status": [],
					"firstTokenLatency": 612,
					"reasoningContent": "",
					"tokensUsed": 57
				}
			],
			"threadName": "测试对话"
		},

将需要恢复的会话内容从config-backup-xxxxxx.json中拷贝出来,然后粘贴至config.json(注意缩进),保存之后再打开chatbox即可,效果如下图所示。

五、清除敏感信息指南

当需要清除敏感会话时:

1. 查看目标会话创建日期;

2. 在Chatbox界面删除目标会话;

3. 删除该会话创建日期之后的所有config-backup-xxxxxx.json备份文件(不要删除config.json文件

jQuery.chatbox 说明文档 特性 1.轻量级动画特效以及友好的界面 2.支持多窗口 3.完善的回调函数以实现自定义功能 4.多种调用方式 4.良好的封装以及扩展性 5.每个聊天窗对象实例以data属性的形式附加在聊天窗DOM对象上(如果你想获得某个特定插件的实例,可以直接从页面元素中获取:$('{boxId}').data('chatbox')) 配置项 配置项分为全局配置项和实例配置项 全局配置项: 参数            类型           默认值                说明 ----------------------------------------------------------------------------------------------- id              number          null                  当前用户的id,也就是发送者的id,必须是唯一值 user            string          null                  发送者的显示名称,可以是昵称用户名等,不要求唯一 debug           boolean         false                 是否打开调试功能 idPrefix        string          'chatbox_'            生成页面DOM元素的id值 实例配置项: 参数            类型           默认值                说明 ----------------------------------------------------------------------------------------------- id              number          null                  接收者的id,同时也会作为实例id,必须是唯一值 user            string          null                  接收者的显示名称,可以是昵称用户名等,不要求唯一 title           string          'Chat with ' {user}   聊天窗的标题 回调函数 回调函数也分为两种,一种是全局回调函数另一种是实例回调函数。 但是有点Javascript基础的开发者应该了解不管是哪种类型的回调函数我们都应该以传递函数引用的方式来调用,而不是对每个实例创建一个函数副本。 这样会造成内存浪费。全局回调函数不会在实例化每个聊天窗对象时重复创建副本分配给每个对象实例,而实例回调函数会。 因此在不需要为每个独立的聊天窗分配不同的回调功能时使用实例回调函数也应该以传递函数引用的方式来分配回调函数以节省内存空间。 回调函数参考: 函数名                  参数       说明 ----------------------------------------------------------------------------------------------- onChatboxCreate                     创建聊天窗时触发 onChatboxEnable                     聊天窗被启用时触发 onChatboxDisable                    聊天窗被禁用时触发 onMessageSend           msg         发送消息时触发,唯一参数:消息内容msg onMessageReceive        msg         收到消息时触发,唯一参数:消息内容msg onMessageSystem         msg         收到系统消息时触发,唯一参数:消息内容msg onChatboxDestroy                    销毁聊天窗时触发 优先级:实例回调函数优先级高于全局回调函数,也就是说实例配置项中的回调函数会覆盖全局配置项中同名的回调函数。 this指针:this指针经由apply或者call方法已经指向调用该方法的实例。 API(属性和方法) 全局API: 属性/方法名       类型       参数          说明 ----------------------------------------------------------------------------------------------- globalOptions     属性        无           保存所有聊天窗的全局配置项 getQueue()        方法        无           返回当前聊天窗的实例队列 实例API: 属性/方法名       类型      参数              说明 ----------------------------------------------------------------------------------------------- $elem             属性        无              保存着当前聊天窗实例的jQuery对象 opts              属性        无              保存着当前聊天窗实例的初始化选项 show()            方法        无              显示聊天窗 hide()            方法        无              隐藏聊天窗 enable()          方法        无              启用聊天窗 disable()         方法        无              禁用聊天窗 message()         方法        msg,type        设置接收到的消息到聊天窗,两个参数:消息内容msg、消息类型type blink()           方法        无              高亮标题栏闪烁提示 destroy()         方法        无              无 调用方式 设定全局配置项: 直接定义配置对象globalOptions,未给定的配置项依旧会使用默认值并不会被该配置对象覆盖 $.chatbox.globalOptions = {     id:10000,     user:'Jason',     debug:true,     onChatboxCreate:function(){         //要执行的代码     } } 或者以附加属性的方式 $.chatbox.globalOptions.id = 10000; $.chatbox.globalOptions.user = 'Jason'; $.chatbox.globalOptions.onChatboxCreate = function(){     //要执行的代码 }; 初始化聊天窗: $.chatbox({     id:11254,     user:'Tony',     title:'Chat with Tony',     onChatboxCreate:function(){         //要执行的代码     } }); 调用API方法: 第一种调用方式 $.chatbox({instanceId}).message({message content}); 第二种调用方式 $({boxId}).data('chatbox').message({message content}); 标签:Chatbox
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值