用途:在本地仓库中调用真实的规范化与聚类库,处理操作者自行提供的 X 形状帖子数据,生成确定性的 bug 聚类结果。不抓取 X 帖子,不推断事实真伪,也不提供打包好的端到端运行器。
主要能力:parseCandidate() 做基于正则的提取、分类、脱敏与打分;deduplicateCandidates() 用 trigram 与 token-Jaccard 相似度对相似文本分组,默认阈值 0.70;clusterCandidates() 将 cluster 与 cluster-post 行写入 SQLite,仅对四类可聚类分类族聚类,跳过不可聚类分类。
使用方式:需在仓库内使用 Bun 并安装依赖;提供 X 形状帖子对象,不要传入密钥或未脱敏的私有导出;选择一次性或明确批准的 SQLite 数据库,用 bun run db:migrate 初始化,非一次性数据库在聚类前备份。用 parseCandidate(post, runId, approvedAccounts, sourceType?) 解析,检查 raw_text_redacted 与 pii_flags;把 { post_id, text, public_metrics } 传给 deduplicateCandidates();先插入 triage run 与获批候选,再调用 clusterCandidates(db, candidates, runId, threshold?)。输出输入、解析、转发、跳过、抑制计数,重复组与阈值,新增/更新聚类标识,数据库路径及是否为一次性,以及残留敏感内容、弱分类、缺失字段等警告。
限制:无外部认证,仅读本地数据并写操作者选定的 SQLite 路径。脱敏只覆盖已配置模式,不保证覆盖所有敏感值;分类器是固定正则/关键词启发式,不是 ML 模型;分数是确定性启发式,不是已验证的 bug 事实;报告者可靠性不等于身份验证或事实真相。输入非 X 形状 JSON 应停止并报告缺失字段;脱敏后仍含敏感文本的候选不得持久化;数据库未明确选择时用一次性路径或请求路径;候选引用不存在的 run 时先插入 run 或停止;库调用抛错时回滚调用方管理的批次并报告具体阶段。未经明确批准不得运行 bun run db:reset,它会删除配置的数据库。修改库行为后应运行相关 Bun 测试。