解析Token Optimizer的SQLite会话数据库设计:15张本地表背后的完整审计追踪

发布时间:2026/10/4 3:26:11

解析Token Optimizer的SQLite会话数据库设计:15张本地表背后的完整审计追踪 解析Token Optimizer的SQLite会话数据库设计15张本地表背后的完整审计追踪【免费下载链接】token-optimizerFind the ghost tokens. Fix them. Survive compaction. Avoid context quality decay.项目地址: https://gitcode.com/gh_mirrors/toke/token-optimizerToken Optimizer是一款专为 AI 编程助手打造的本地 Token 优化工具它找到幽灵 Token、修复它们、让会话在压缩中存活下来并避免上下文质量衰减。它的核心引擎是SQLite 会话数据库——由 2 个本地数据库、15 张表构成的完整审计追踪系统。零网络调用所有数据只存在于你的机器上。这篇文章带你拆解这套 SQLite 会话数据库设计它由哪些表组成、为什么选 SQLite、以及完整审计追踪是如何一步步落地的。两个数据库会话级 趋势级Token Optimizer 用两个 SQLite 数据库支撑全部功能架构定义见 session_store.py数据库位置表数职责每会话 DB~/.claude/token-optimizer/snapshots/session-store/session.db8追踪文件读取、工具输出、命令输出、缓存内容、上下文情报事件、活动日志、决策日志、提示服务趋势 DBtrends.db~/.claude/token-optimizer/snapshots/trends.db7会话历史、每日聚合、skill/模型/子代理用量、节省事件、压缩事件两个数据库按会话 UUID 索引连接O(log n) 查找正是仪表盘、coach 模式和 30 天趋势分析背后的驱动力。每会话数据库一次调用的完整审计链每会话数据库是审计追踪的核心每张表负责记录一个环节file_reads—— 文件读取指纹路径、mtime、字节大小、读取次数、token 估算、结构骨架置信度。重读文件时靠它判定已读过只返回 difftool_outputs—— 工具输出归档完整输出的哈希、字符数、token 估算和压缩预览支持全文检索回捞command_outputs—— 命令输出去重相同命令再次运行时直接复用不重复进上下文command_run_streaks—— 命令连续执行监控检测同一条命令反复失败的 thrash 循环触发提醒cached_content—— 文件内容缓存每文件最多 50KB 的脱敏副本供 delta 对比session_meta—— 会话元数据键值对形式存储 schema 版本等context_intel_events—— 上下文情报事件压缩前把模型见过的大输出摘要存下来压缩后自动注入activity_loghint_serves—— 活动日志与跨会话提示服务记录支撑循环检测和节省计量趋势数据库把审计数据变成节省报表趋势数据库的 7 张表schema 定义在 measure.py做日级聚合session_log/session_log_aliases—— 会话历史索引按 UUID 快速定位daily_stats—— 每日 token/成本聚合趋势图的直接数据源skill_daily/model_daily/subagent_daily—— 按技能、模型、子代理三个维度拆分用量savings_events—— 每笔节省一行来自 read_cache.py 的重复读取拦截和 archive_result.py 的归档压缩compression_events—— 每次压缩事件一行与 compression_log.py 配合记录压缩前后对比关键点在于计量是因果的不是估算的每次归档 vs 重新展开、每次提示被跟从都记成可查询的行。仪表盘只是这份数据的只读视图measure.py compression-stats本质上就是一条 SQL 查询。工程细节为什么 hook 进程跑得动这个数据库这套设计能挂在 hook 上而不拖慢 AI 助手靠的是几个刻意的 SQLite 配置WAL 模式PRAGMA journal_modeWAL—— PreToolUse hook 只读、PostToolUse hook 只写不同进程并发访问不互相阻塞50ms fail-fast 超时—— 写竞争时宁可丢弃这次写入也绝不卡住 hook 进程50MB 单库上限—— 超限自动暂停新写入数据库永远不会膨胀失控48 小时自动清理—— 过期的会话 DB 连同 WAL 文件一并删除FTS5 全文检索镜像——tool_outputs表外挂一个 external-content FTS 镜像由触发器自动同步归档过的工具输出可以毫秒级全文搜回SQLite 未编译 FTS5 时自动降级为有界LIKE查询迁移逻辑见 session_store.py 第 342–469 行权限收紧—— 目录0700、文件0600数据库及其 WAL 侧车文件仅属主可读写FTS 镜像的去重与同步有专门的回归测试守护test_session_store_fts.py。隐私保证零网络、可脱敏、可彻底删除会话数据库设计把隐私放在性能之前完整说明见 contenteditable="false">【免费下载链接】token-optimizerFind the ghost tokens. Fix them. Survive compaction. Avoid context quality decay.项目地址: https://gitcode.com/gh_mirrors/toke/token-optimizer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/4 3:26:11

for循环从入门到实战:语法、应用与避坑指南

很多刚接触编程的朋友都经历过这样的阶段:想让程序输出1到100,第一反应是把print语句复制粘贴一百遍;后来学会了函数,写了个print_1_to_100(),总算不用在调用时复制粘贴了,但每次改动范围还是得改函数体里的…

2026/10/4 3:26:11

插件加载失败深度拆解:从plugins机制到排查实战

最近好几个开发者社群里都在刷同一类报错:failed to load plugins web boot: 2 entries did not activate linxin666/dsh-p。后面挂的插件名五花八门,有公司内部的组件库,有个人开发者写的开源包,也有musicfree plugins这类面向普…

2026/10/4 4:16:13

LabVIEW调用adb shell实现Android设备自动化测试实战指南

去年有段时间我一直在做手机产线的老化测试上位机。测的产品是 Android 系统的移动终端,但整个测试框架必须用 LabVIEW 搭,两边要联动:装 App、清缓存、模拟点击、抓日志、读系统版本、控制相机拍照,这些操作全都夹在整套 LabVIEW…

2026/10/4 4:16:13

插件加载失败排查指南:从原理到实战,覆盖IAR与MusicFree

"plugins"这个词,这几年几乎是所有软件都在提的东西。打开 IAR 遇到插件加载警告,跑测试框架报failed to load plugins web boot: 2 entries did not activate,就连手机上的 MusicFree 听歌软件,也要靠 plugins 才能解锁…

2026/10/4 4:16:13

双闭环PFC单相PWM整流原理与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 4:11:13

选题毫无头绪?导师力荐这几个AI写作辅助网站

写论文总感觉无从下手?选题卡壳、思路混乱、文献难找、格式不规范……这些痛点在学术圈里太常见了。其实,只要用对AI工具、走对流程,就能大幅提升效率。不少资深教授都推荐学生提前掌握合适的写作辅助工具,让论文写作事半功倍。本…

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑