数据都存在哪
~/.klaus 下每个目录和文件装的是什么,以及设置的两个来源。
全部在 ~/.klaus/ 下:
settings.db:设置与本地状态(SQLite,WAL 模式)。sessions/:这一个目录装了两样东西——会话记录是<创建时间戳>-<会话 id>.jsonl(所以按文件名排序就是按时间排序,找某个会话搜它的 id);同名的目录则是那个会话的工作区,只有你没给它指定项目目录时才会用到,另外__klaus__是没有项目时共用的那个锚点目录。projects/<工作目录路径,斜杠换成横线>/:按项目分的项目级记忆(memory/子目录)。会话元信息不再单独落一个 sidecar 文件,而是写在会话记录(jsonl)的头部。所以「同一个项目下的历史会话」是靠工作目录路径归拢的,换了目录名就换了一堆。agent-memory/:记忆文件。skills/、agents/、commands/、plugins/:全局技能、子代理、斜杠命令、插件。(插件的安装账本本身不在这个目录,而在config.toml的[plugins]段,见插件。)visualizations/<会话 id>/:每个会话一个目录,装它的内联可视化页面。它既是这些页面的可写根,也是预览白名单根,所以只有本会话的页面能被渲染。friends/<好友关系 id>/:每个好友的共享子目录,这个好友派来的任务以它为基础目录,见好友协作。pets/:自己导入或创建的桌宠(精灵图加pet.json),见迷你窗口与桌宠。checkpoints/<项目指纹>/:文件检查点的影子 git 仓库。工作树指着你的项目,历史却落在这里,所以你自己的.git、分支、暂存区完全不被碰(这个能力默认关着,见主界面与会话)。channels/<平台>/access.json:每个频道的门禁配置,详见频道。electron/:桌面端的运行时数据,包括重启后自动恢复任务的台账resume-ledger.json。- 日志:桌面端宿主的诊断都写进
electron-host.log,每行一条 JSON,用kind字段区分来源——定时任务的调度与投递是cron,做梦与记忆维护是memory-maintenance,频道启动失败是channel-failed/channel-startup,重启后自动续跑是resume-recovery(文件超过 10 MB 时在下次启动改名为electron-host.log.previous)。logs/下另有分项日志:频道收发channel-activity.jsonl、MCP 诊断mcp-diagnose-*.log,以及模型请求的provider-*.log。旧版本留下的cron.log、memory-maintenance.log已不再写入。桌面应用的输出到不了启动它的终端,所以这些机制一律自己写文件——排查时直接看对应那一份,比翻控制台有用。
设置本身有两个来源:大多数开关与面板状态是 settings.db 里的键值行,没写过的键不存行——所以「查不到这个设置」通常意思是它还是默认值,而不是被清空了;引擎侧的配置则落在 ~/.klaus/config.toml(引擎自己读这份文件),界面上没摆出来的引擎开关、插件账本、市场目录登记、信任记录都在那里。API Key、配对令牌这类凭据也存在这里,但不会交给模型:Klaus 自己读设置时凭据字段一律是遮蔽后的值。
从别的客户端导进来的会话记录写进 ~/.klaus/sessions/(引擎的会话存储目录),不在 projects/ 下;导入时没指定项目归属的,还会在 sessions/<会话 id>/ 建一个工作区目录。
删掉 ~/.klaus 等于把 Klaus 恢复到初装状态,登录、设置、会话、记忆一并消失。