Add smart ACK provider for WeChat MP replies

Replace fixed ackText with a rule-based AckProvider that picks
response templates by message type and intent (translate, summary,
rewrite, poster, ppt, mindmap, code, search, schedule). Pure sync,
zero I/O, auto-falls back to config.ackText on any error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
john
2026-06-26 15:19:03 +08:00
parent 9ed4fd48d7
commit 9b4a25799f
162 changed files with 17276 additions and 2054 deletions
+96
View File
@@ -0,0 +1,96 @@
# Memind 103 收口方案(2026-06-26
## 当前判断
`Memind` 已经接近“可以收口”的状态,但 `103` 当前运行目录已经不是一个可依赖 Git 的干净工作树。
已确认:
1. `103` 运行目录:`/Users/john/Project/Memind`
2. `103` 当前目录存在 `.release-manifest.txt`,说明至少已有发布包切换痕迹。
3. `103` 上当前 **无法直接把 `Memind` 当成 Git 工作树使用**
4. 本地 `test-memind` 是后续唯一应保留的源码主线。
## 这意味着什么
1. 以后不能再依赖“线上 `git rev-parse` 一致”来判断是否对齐。
2. `103` 只能作为运行事实来源与只读基线来源。
3. 真正要收口的动作,必须发生在本地仓库里。
## 当前差异判断
本地与 `103` 只读基线相比:
1. 业务主文件大体已经一致。
2. 本地多出了规则文档、审计脚本、运行资源、历史备份文件。
3. 这批差异里,大多数不是“线上独有必须回收”的功能逻辑。
## 收口目标
`Memind` 从“本地和线上都可能被手改”收口成:
1. 本地 `test-memind` 是唯一源码真相。
2. `103` 只接收发布包,不再手改源码。
3. 发布后通过 manifest、健康检查、业务验收确认版本一致。
## 具体执行步骤
### 第一步:冻结线上直改
1. 不再在 `/Users/john/Project/Memind` 直接改源码。
2. 不再把 `103` 当作可直接修代码的工作目录。
### 第二步:只保留只读基线
当前只读基线目录:
- `/Users/john/PycharmProjects/test/_103_baselines/Memind`
用途:
1. 对账
2. 取证
3. 回收必要热修
禁止:
1. 用它覆盖本地主开发目录
2. 把它误当主仓库继续开发
### 第三步:清理本地“非源码差异”
优先处理:
1. 历史 `.bak` 文件
2. 明显的临时日志与运行输出
3. 不应该长期存在于主仓库的临时资源
注意:
1. 先分类,再清理
2. 不要误删正在使用的真实业务资源
### 第四步:做第一次收口发布
1. 本地把必须保留的改动整理成 commit。
2.`bash scripts/release-prod.sh` 生成发布包并发布到 `103`
3. 发布后保留 `.release-manifest.txt`、备份包路径、健康检查结果。
### 第五步:建立后续一致性
以后每次发布必须满足:
1. 本地先 commit
2. 从 commit 打包
3. `103` 只收包
4. 发布后验证
5. 出问题回滚
## 何时算收口完成
满足以下条件即可视为完成:
1. `103` 上不再直接改源码
2. 本地变更都能追溯到 commit
3. 最近一次线上版本来自 `scripts/release-prod.sh`
4. 业务验收结果与 manifest 能对应到同一发布编号