Files
dsh_ai1net_server/.workbuddy/session-handoff/20260915-2207-省积分治理.md
admin ce8e6ceed9 chore(工作区): 纳入版本控制基线(回收 411 MB 过程产物)
回收 411 MB(470 M → 58.8 M),全部经回收站,可恢复:
- 待清理/(146.2 M,含 relay 分片 128 M 与 42 项过程目录)
- tmp/(32.4 M,按接续棒命名的过程临时区)
- .workbuddy/tmp/(39.5 M)
- 4 份 workbuddy.db 冗余副本(101 M,09-23 事故的坏副本 / 抢救产物)
- tmp/im16/gw/centrifugo 二进制(63.9 M,可重下)+ 缓存残留

入库范围:常驻规则(CODEBUDDY.md / README.md / state.py)、在途接续入口与
接续包、docs/、交付物/、交接单/、归档/、scripts/、.codebuddy/、
.workbuddy/memory/;共 398 件,其中 >60 KB 的 26 件全为文档。

排除(.gitignore):tmp/、待清理/、运行态日志与缓存、*.db 与 DB 备份整目录、
打包二进制(*.tar.gz / *.tgz)、记忆修复前备份。
2026-09-24 07:51:03 +08:00

3.8 KiB
Raw Permalink Blame History

会话交接 · 省积分治理(2026-09-15 22:0x)

用途:本会话(15ee0d4f,730 K token,已超预算 6.1 倍)按「会话预算」规则收口。 新会话只读这一份 + MEMORY.md 即可续上,无需回读长历史。

一、这件事在做什么

目标:止住 AI 会话的积分异常消耗。已定结论(不必重查):

  • 根因 = 对话历史是 append-only:工具调用输出(function_call_result)一旦生成就永久留在 messages 里、每轮全量重发。 模型无权删自己的历史 ⇒ 唯一能"去掉"的时机 = 输出被生成之前。
  • 实测数据(本机 12 会话真实转录 + 宿主日志):
    • 某会话 553 轮 × 平均 42 万 = 2.33 亿 input,output 仅 0.35%(286:1)
    • 33 次缓存全失效,每次约 50 万 token 按全价重算
    • 平台参数:contextWindow = 100 万、自动压缩阈值 90%([Compact] tokenCount=900080/1000000) —— 只是"放大器",不是根因(用户 2026-09-15 明确纠正过这一点)

二、已落地的三层机制(代码即权威,勿只看文档)

层 文件 / 常量 说明
① 硬门禁 dsh-server-docs/scripts/bash-output-guard.py PreToolUse(Bash),拦 6 类"几乎必然巨大"的读命令;soft 默认 / hard 加严 / off 急停(<工作区>/.workbuddy/bash-guard-mode);异常 fail-open
② 软告警 dsh-server-docs/scripts/stop-dialog-guard.py 每轮报「上下文体积 + 上一轮增量 + 工具次数」;阈值 BUDGET_TOKENS=120000 / BUDGET_TOOLS=80
③ 命令纪律 / 自检 同上 + MEMORY.md §三 大输出落盘只读关键行 · | head · grep -c · 脚本内聚合;四条自检见下

四条"自动发现并上报":① 成本异常 ② 门禁疑似误伤(同规则重复命中 ≥3 次)③ 钩子是否被调用(入口即留痕) ④ 路径自检(hooks 指向失效 / 配置被清空)

三、验收证据(都已实测,不必重做)

  • 门禁回放测试:今日 12 会话 4053 条真实 Bash 命令 ⇒ soft 档 DENY 2 条 = 0.05%,逐条核对均真阳性 (ls -R $B / find 扫 4 个盘盘符级根)⇒ 对 AI 正常会话 0 误拦
  • 回放工具:.workbuddy/tools/guard-replay.py(可随时复跑)
  • 诊断工具:.workbuddy/tools/sess-credit-report.py <sid前8位>、find-session-by-title.py
  • 路径自检实测 3/3:真实环境不报 / 指向不存在脚本报 / hooks 被清空报

四、当前 git 状态

  • 代码仓 D:\github\dsh_shenxian(文档库已并入,.git = 代码仓)
  • 本地领先远端 6 个提交、未 push:fff2519 88aaf98 3f141c7 c25609c(省积分与门禁) 3efd685(并入已删会话的在途成果,27 文件,未做功能验收)03c8363(省积分机制首版)
  • 工作树 0 残留;用户对"是否 push"尚未拍板

五、下一步(按优先级)

  1. (待用户定)push 那 6 个提交 —— 只有本机有,有丢失风险
  2. (待用户定 / 建议)整编 MEMORY.md —— 现 12,221 B,上限 12,288,仅剩 67 B, 新状态已写不进;需按文档库 CODEBUDDY.md 规模化约定 #8(备份 + token 回扫)
  3. 仍未自动化的缺口:提交/工作树异常 · 会话被删导致的无主成果 · 缓存失效尖峰

六、产物文件

  • 信息图(可截图/转发):会话积分问题与治理_示意图_20260915.html(工作区根)
  • 当日日志(含全部过程与踩坑):.workbuddy/memory/2026-09-15.md
  • ⚠️ 本会话踩过的坑(已修,勿回退):Python % 格式串裸 % 必须写 %%(否则静默失效); 钩子 deny 必须"写日志 + emit"双动作;Edit 是替换不是追加;bash heredoc 会吞反斜杠