diff --git a/docs/plans/2026-08-curator-agent-refactor.md b/docs/plans/2026-08-curator-agent-refactor.md index 3c0b5eb..bc09256 100644 --- a/docs/plans/2026-08-curator-agent-refactor.md +++ b/docs/plans/2026-08-curator-agent-refactor.md @@ -174,7 +174,7 @@ Telegram ──► TelegramGateway(薄适配器) - 检查点全通过:sha256 全部成功、归档可解开、工作树干净、37 tests OK、 `curator.service` 与 `pi-memo-telegram.service` active、`/api/health` = ok、web root 200 -### 阶段 A · 建仓与共享资产 —— 进行中 +### 阶段 A · 建仓与共享资产 —— ✅ 已完成 2026-08-27 | 步骤 | 状态 | |---|---| @@ -182,18 +182,39 @@ Telegram ──► TelegramGateway(薄适配器) | A.2 两个待验证项 + SYSTEM.md 效果实测,证据归档 `docs/evidence/` | ✅ | | A.3 四份机制文档 | ✅ | | A.4 本计划文档 | ✅ | -| A.5 `runtime/` 纳管(`models.json` → `models.json.template`,密钥进 `secrets/`) | 待办 | -| A.6 `shared/lib/py/pi_rpc.py`(提取 `gateway.py:109-240`,行为等价 + 参数化) | 待办 | -| A.7 `shared/extensions/pi-guard-base.ts`(提取 `memo-guard.ts` 的路径围栏 / 双层门禁 / 受限 read / 截断) | 待办 | -| A.8 `scenarios/memo-inbox/` **复制**迁入,`pi-diff.sh` 验零差异,**不重启服务** | 待办 | -| A.9 `scenarios/curator/` 骨架 + `profile.toml` + `.pi/SYSTEM.md` | 待办 | -| A.10 `scripts/` 部署与备份脚本 + `README.md` | 待办 | -| A.11 推送 gitea | 待办 | +| A.5 `runtime/` 纳管(`models.json` → `models.json.template`,密钥进 `secrets/`) | ✅ | +| A.6 `shared/lib/py/pi_rpc.py`(提取 `gateway.py:109-240`,行为等价 + 参数化) | ✅ | +| A.7 `shared/extensions/pi-guard-base.ts`(提取 `memo-guard.ts` 的路径围栏 / 双层门禁 / 受限 read / 截断) | ✅ | +| A.8 `scenarios/memo-inbox/` **复制**迁入,`pi-diff.sh` 验零差异,**不重启服务** | ✅ | +| A.9 `scenarios/curator/` 骨架 + `profile.toml` + `.pi/SYSTEM.md` | ✅ | +| A.10 `scripts/` 部署与备份脚本 + `README.md` | ✅ | +| A.11 推送 gitea | ✅ | **验收**:`pi-diff.sh` 对两个场景零差异;memo-inbox 未重启且行为未变; `verify-no-secrets.sh --all` 通过。 -### 阶段 0 · Curator 止血(可独立上线,约半天) +### 阶段 0 · Curator 止血 —— ✅ 已完成 2026-08-27 + +commits:`6df2f20` 解析器与意图分流 · `1580504` 适配器三态 · `0722f1a` 安全测试 · +`643cdd5` systemd 加固。测试 37 → 58。 + +实测证据:`docs/evidence/2026-08-27-curator-phase0-prompt.md`。 +端到端已在服务沙箱内用真实模型验证:「权利的游戏,库里有什么版本」→ 纠正为 +「权力的游戏」、`intent=library_query`、`explicit_action=false`、两个 Sonarr 实例 +均真实连通、回答正确区分「4K 有文件」与「普通版无匹配」。 + +**两处与原计划不同的处置**: + +1. `.pi/SYSTEM.md` 按**阶段 0 实况**写成"你没有工具",而不是原计划的七工具清单。 + 阶段 0 的 agent 确实没有工具,写上不存在的工具会诱导模型去调用。 + 工具版规格保留在 §4b。 +2. `CURATOR_HOST` **未**改为具体 LAN 地址,`IPAddressDeny=any` **未**加到主服务。 + journal 显示真实访问同时来自 LAN(192.168.50.254)与 127.0.0.1(含浏览页面), + 改绑定地址会打断其中之一;而主服务需要访问 Telegram 与 provider, + `IPAddressDeny` 会切断出网。真正的修复是鉴权(P2-6,阶段 5)。 + 已在单元文件里写明,而不是悄悄半修。 + +### 阶段 0 原始清单(供对照) | # | 动作 | 修复 | |---|---|---|