SuperAPI AI 工具集

dev-session-debug

测试与质量

查看项目

更新于 10-15 21:53

技能介绍

用途:调试 Capsem 的会话数据库与遥测管线。每个 Capsem VM 会话在会话目录生成账本(临时 VM 位于 ~/.capsem/run/sessions/<id>/,持久化位于 ~/.capsem/run/persistent/<name>/),由两个文件组成:session.db(SQLite,含全部遥测表与正文索引)和 session.bodies(仅追加的正文归档,约 1 MiB 分块压缩)。两者必须成对复制、分叉或删除;单独的任一个都无用。全局 ~/.capsem/sessions/main.db 聚合各会话统计。会话账本无迁移:旧版本写入的 session.db 会明确报错而非原地升级。

主要能力:快速列出会话(list_sessions.py,支持 -n、--with-model、--with-db、--with-net、--with-tools、--min-cost 等过滤,输出 ID、创建时间、时长、成本、网络事件、token、工具调用、文件系统事件);深度完整性检查(check_session.py,含页面完整性 PRAGMA quick_check、表存在与行数、正文归档校验、工具生命周期、AI 提供商关联、NULL 检测,账本损坏时退出码为 1);跨表关联 model_calls、model_items、tool_calls、tool_responses、net_events 等;正文归档校验通过 event_body_blobs/body_blocks 与 session.bodies 逐条核对 body_hash。

使用方式:示例命令形如 python3 build_system/scripts/doctor/list_sessions.py、python3 build_system/scripts/doctor/check_session.py --verify-bodies;Python 指构建系统环境 uv run --project build_system --frozen python ...。

关键不变量:session id 为不透明 VM id,用于路由、DB 句柄键、目录名、CAPSEM_VM_ID 与 UI 标签路由;显示别名只能放在 name 字段,调用前须把名称解析为 VM id,切勿用持久注册名作 SandboxInfo.id 或按显示名键控 session_db_handles。关联口径:一个 turn_id 可含多个 model_call_id,一个 model_call_id 可发出多个 tool_call_id,工具响应必须复用同一 call_id;MCP 活动须归入 origin='mcp' 的 tool_calls 或增强既有逻辑调用,不另立第二账本。

限制:正文字节不存于 SQLite;路由就绪检查只验模式形状不扫描页面;具体收费、平台支持等资料未提供。