exception-collector 0.1.0

全项目组异常收集系统:自动捕获 panic、error 日志和 Result::Err,支持 GitHub Issue 共建上报和自研平台批量上报
Documentation

exception-collector

全项目组异常收集系统。自动捕获 panictracing::error!Result::Err,本地签名去重后写入 SQLite 缓冲区。Desktop Hub 定期扫描所有 TokenFleet 组件的异常数据,通过 LLM 语义去重后自动创建 GitHub Issue。

快速集成

use exception_collector::{ExceptionBuffer, collect_result_err};

// 每个项目一行接入
let buffer = ExceptionBuffer::with_default_dir("your-component")?;

// 在错误处捕获
if let Err(e) = fallible_operation() {
    collect_result_err(&buffer, "your-component", &e.to_string());
}

架构

各项目(写)                    Desktop Hub(读+上报)
──────────                     ────────────────────
agent-proxy-rust.db ──┐
tokenless.db ────────┼──→ collect_unreported()
rtk.db ──────────────┘       → Pipeline
                              → LLM 分类
                              → GitHub Issue

模块

模块 功能
signature SHA256 异常签名计算
normalize 错误消息脱敏归一化
buffer DashMap + SQLite 双缓冲
dedup 本地签名去重
reporter GitHub Issue / 自定义平台上报
llm LLM 语义去重分类(可选)
pipeline 上报流水线编排
collector 数据库扫描入口

License

Apache-2.0