compaction-cn:去掉压缩请求全文落盘,只保留逐条message结构日志

定位阶段用的全文落盘每次会写约55KB会话明文到~/.config/opencode,既堆积又有隐私问题;根因已定位,保留body顶层keys与逐条结构(role/长度/开头60字)即可继续观测。
This commit is contained in:
ypshidifu
2026-09-26 15:12:31 +08:00
parent 5c04f4f8b4
commit 6cda8d91b6
+2 -9
View File
@@ -238,15 +238,8 @@ export default {
if (!Array.isArray(msgs) || msgs.length === 0) return
if (msgText(msgs[msgs.length - 1]).indexOf(MARK) >= 0) return
fileLog("body 顶层keys=" + JSON.stringify(Object.keys(obj)) + " temperature=" + JSON.stringify(obj.temperature) + " model=" + JSON.stringify(obj.model))
// 诊断:把命中指纹的请求全文落盘,便于 auto/manual 逐字段比对
try {
const dump = join(LOG_DIR, "cap_" + Date.now() + ".json")
appendFileSync(dump, JSON.stringify(obj))
fileLog("已落盘请求 body → " + dump)
} catch (e: any) {
fileLog("落盘失败(不影响主流程): " + (e && e.message ? e.message : String(e)))
}
// 诊断:逐条 message 结构(role / 长度 / 开头 60 字)
// 诊断:逐条 message 结构(role / 长度 / 开头 60 字)——只记结构不落全文,
// 全文含完整会话内容,落盘既占地方又有隐私问题,定位完成后不再需要。
try {
const brief = msgs
.map((m: any, i: number) => i + ":" + String((m && m.role) || "?") + ":" + msgText(m).length + ":" + msgText(m).slice(0, 60).replace(/\s+/g, " "))