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

57 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 会话交接 · 省积分治理(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 会吞反斜杠