完整解析 Maka AI Agent 的 SQLite 存储架构:为什么 runtime.sqlite 是唯一权威
完整解析 Maka AI Agent 的 SQLite 存储架构为什么 runtime.sqlite 是唯一权威【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/makaMakaApache Incubating是一个 local-first 的 AI Agent 工作区。它把 Agent 的模型消息、工具调用、工具结果、权限决策和终止事件全部记录为一条只增不改append-only的日志——而这条日志的唯一权威载体就是工作区目录下的那个runtime.sqlite文件。本文带你快速看懂它的存储架构这个 SQLite 数据库里存了什么、为什么其他文件说不上话以及它对普通用户意味着什么。runtime.sqlite 是什么AI Agent 工作区的总账本Maka 的 Workspace 数据默认存放在 Electron 的userData目录下结构非常扁平Electron userData/workspaces/default/ runtime.sqlite ← 唯一的权威运行记录 connection-catalog.json credential-vault.json settings.json artifacts/其中runtime.sqlite承载了 Agent 运行过程中一切关键事实每一次模型请求、每一次工具调用、每一次权限判定都是账本上的一行。你可以把它理解成 Agent 世界的流水账 状态机合体。为什么它是唯一权威Single Source of Truth很多项目会把会话记录写成 JSONL 文本文件出问题后再想办法。Maka 的设计刻意反着来核心规则只有三条1️⃣ 单向导入永不回头打开 RuntimeEvent writer → 创建或迁移 runtime.sqlite → 批量、幂等导入 legacy RuntimeEvent JSONL → RuntimeEvent 只写 SQLite旧版 JSONL 只会在首次写入时被一次性导入导入完成后就退居幕后只承担遗留导入和显式导出的角色。2️⃣ 没有 backend 开关系统里根本不存在用 JSONL 还是用 SQLite的开关。runtime.sqlite一旦存在所有读取方Reader只读 SQLite绝不会再去和过期的 JSONL 合并或回退fallback。这从机制上杜绝了两个数据源各说各话的经典事故。3️⃣ 升级即边界官方文档明确说明runtime.sqlite是当前活记录更早的 JSONL transcript 和旧凭据不会导入升级后会话可能是空的。这不是 bug而是设计——权威只有一个迁移责任清晰。 相关文档runtime-resume-architecture.zh-CN.md、runtime-managed-workspace-baseline-open-v1.zh-CN.md核心表结构一览账本里到底记了什么数据库 Schema 定义在packages/storage/src/sqlite-runtime-schema.ts当前版本为12通过 12 个带编号的迁移步骤演进。核心表可以归为四类runtime_events只增不改的事件日志这是整个账本的心脏。每个事件携带event_id、session_id、run_id、turn_id和自增的event_seq并用UNIQUE (invocation_id, event_seq)约束保证同一调用内事件序号绝不重复——想篡改历史数据库层面就过不了关。tool_journal_events tool_operations工具调用状态机工具调用不是一次性的它经历调用 → 派发 → 执行 → 结果的完整生命周期。tool_journal_events记录每一步的状态流转tool_operations则保存当前状态、参数哈希canonical_args_hash和版本号。这正是崩溃后判断这个工具到底跑完没有的依据。Partial Snapshots流式输出不丢半句模型还在流式输出时进程就崩了怎么办runtime_partial_snapshots和runtime_partial_segments两张表会把已产出的部分文本分段持久化恢复时接上就能继续而不是从头再来。Continuation Claims给续跑上锁想续跑一个中断的回合必须先登记一条 continuation claim数据库用多重UNIQUE约束来源前缀摘要、目标 Run ID、边界 digest保证同一段历史只能被续跑一次从存储层防住了重复消耗 token 的续跑。此外还有工作区版本权威表runtime_workspace_epochs/runtime_workspace_versions/runtime_workspace_heads和存储根绑定表runtime_storage_root_binding确保账本与这个工作区、这一代数据的对应关系不可混淆。抗崩溃工程WAL 模式与严格持久化Schema 文件里的初始化函数configureSqliteRuntimeDatabase只有四行 pragma却处处是求稳的考量配置作用journal_mode WAL读写并发不阻塞且 WAL 模式是持久化属性老库只需校验synchronous FULL每次提交都完整落盘崩溃不丢已提交事件foreign_keys ON表间引用完整性由数据库强制busy_timeout 5000并发打开时排队等待而非直接失败配套测试如packages/storage/src/__tests__/sqlite-runtime-crash.test.ts、sqlite-recovery-concurrency.test.ts专门模拟崩溃与并发写入场景验证账本在极端情况下依然自洽。这对普通用户意味着什么✅可审计Agent 的每一步行为都能在runtime.sqlite里找到对应事件出了问题有据可查✅可恢复中断的回合可以安全续跑默认关闭设置MAKA_RUNTIME_SAFE_BOUNDARY_RESUME1后启用 Desktop 安全恢复与 CLI/resume✅可迁移账本是一个自包含的 SQLite 文件配合 Session Bundle 契约packages/storage/src/session-bundle-*.ts可以整体导出迁移⚠️注意续跑路径会重新打模型、消耗 token请按需开启。延伸阅读存储实现入口packages/storage/src/sqlite-runtime-store.tsSchema 与迁移packages/storage/src/sqlite-runtime-schema.ts事件不变量与权威校验packages/storage/src/runtime-event-invariants.ts、runtime-event-authority.ts架构总览ARCHITECTURE.zh-CN.md、隐私说明 workspace-privacy-context.md一句话总结Maka 选择用一个SQLite 文件当唯一权威牺牲了多格式兼容的灵活性换来了 Agent 运行历史在崩溃、并发和升级场景下的确定性与可恢复性——这正是 local-first AI Agent 工作区最值得学习的存储取舍。【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/maka创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

styled-css-grid开发者指南:Rollup打包、Jest样式快照测试与SSR预渲染全流程拆解

styled-css-grid开发者指南:Rollup打包、Jest样式快照测试与SSR预渲染全流程拆解

styled-css-grid开发者指南:Rollup打包、Jest样式快照测试与SSR预渲染全流程拆解 【免费下载链接】styled-css-grid 🍱 A tiny CSS grid layout for React 项目地址: https://gitcode.com/gh_mirrors/st/styled-css-grid styled-css-grid 是一个基…

2026/8/25 9:53:04 阅读更多 →
Zabbix四大核心模块实战:告警规则、自动发现、拓扑图与聚合图形

Zabbix四大核心模块实战:告警规则、自动发现、拓扑图与聚合图形

1. 这不是“装个Zabbix就能用”的事,而是监控体系落地的实操切口Zabbix不是点几下鼠标就能跑起来的告警盒子,它是一套需要你亲手调校、反复验证、持续迭代的监控神经系统。我带过三轮从零搭建Zabbix的企业级监控项目,最深的体会是&#xff1a…

2026/8/25 9:53:04 阅读更多 →
15 分钟跑通本地私有 AI 助手:Qwen-Agent 本地化部署完整避坑指南

15 分钟跑通本地私有 AI 助手:Qwen-Agent 本地化部署完整避坑指南

15 分钟跑通本地私有 AI 助手:Qwen-Agent 本地化部署完整避坑指南 【免费下载链接】Qwen-Agent Agent framework and applications built upon Qwen>3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc. 项目地址: https://…

2026/8/25 9:53:04 阅读更多 →

最新新闻

WebSocket实时通信:从协议到实现

WebSocket实时通信:从协议到实现

TL;DR 核心要点速览 Gin框架是Go最流行的Web框架 gRPC适合内部服务,REST适合对外API JWT Token是无状态认证的标准方案 Go标准库net/http可直接构建HTTP服务 Swagger/OpenAPI可自动生成API文档 本篇是Go Web开发模块,含完整项目代码 摘要:本文详细介绍从协议到实现,涵盖核心原…

2026/8/25 12:51:13 阅读更多 →
餐饮行业为何需要独立的原材料库存管理系统?

餐饮行业为何需要独立的原材料库存管理系统?

很多餐饮老板以为收银系统自带“库存管理”就够了,实际上两者存在根本性差异: 收银系统的“库存”本质是“成品/半成品数量”——它记录的是“卖了多少份红烧肉”“还剩多少瓶可乐”,目的是前台结账和出品控制。而原材料库存管理系统管的是“…

2026/8/25 12:51:13 阅读更多 →
请求验证与统一错误处理:让API固若金汤

请求验证与统一错误处理:让API固若金汤

TL;DR 核心要点速览 Gin框架是Go最流行的Web框架 gRPC适合内部服务,REST适合对外API JWT Token是无状态认证的标准方案 Go标准库net/http可直接构建HTTP服务 Swagger/OpenAPI可自动生成API文档 本篇是Go Web开发模块,含完整项目代码 摘要:本文详细介绍让API固若金汤,涵盖核心原…

2026/8/25 12:51:13 阅读更多 →
Swagger/OpenAPI文档自动生成:告别手写API文档

Swagger/OpenAPI文档自动生成:告别手写API文档

TL;DR 核心要点速览 Gin框架是Go最流行的Web框架 gRPC适合内部服务,REST适合对外API JWT Token是无状态认证的标准方案 Go标准库net/http可直接构建HTTP服务 Swagger/OpenAPI可自动生成API文档 本篇是Go Web开发模块,含完整项目代码 摘要:本文详细介绍告别手写API文档,涵盖核心…

2026/8/25 12:51:13 阅读更多 →
Go gRPC实战(二) 服务端开发与四种服务方法

Go gRPC实战(二) 服务端开发与四种服务方法

TL;DR 核心要点速览 Gin框架是Go最流行的Web框架 gRPC适合内部服务,REST适合对外API JWT Token是无状态认证的标准方案 Go标准库net/http可直接构建HTTP服务 Swagger/OpenAPI可自动生成API文档 本篇是Go Web开发模块,含完整项目代码 摘要:本文详细介绍Go gRPC实战(二) 服务端开…

2026/8/25 12:51:12 阅读更多 →
能写的未必能过检:从AIGC检测原理倒推,论文AI工具到底该怎么选

能写的未必能过检:从AIGC检测原理倒推,论文AI工具到底该怎么选

去年这个时候,我正在实验室帮师妹改她的硕士论文初稿。她把一段自己用通用大模型生成的文献综述贴给我,句子通顺得无可挑剔,但读三段就觉得“太顺了”:每段都是先定义、再转折、最后总结,专业术语堆得很整齐&#xff0…

2026/8/25 12:50:12 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →