86 lines
4.4 KiB
Markdown
86 lines
4.4 KiB
Markdown
# 23 · 退役产品全库清理清单 v1
|
||||
|
|
|
|||
|
|
> 状态:**in-progress → 高优先级 Waves A1–C 已落地(2026-07-28)**
|
|||
|
|
> 日期:2026-07-28
|
|||
|
|
> 目标:把 convex + Weknora + openhub + reasonix + Hermes + ACP + OpenCode + Sidex + Yuxi + legacy_next_compat + soft retirement 残留彻底扫光,像没有存在过一样。
|
|||
|
|
> 优先级:**高**(编译不红、runtime 不暴露、文档不广告)→ **中**(调试残留)→ **低**(历史叙事、死 smoke)。
|
|||
|
|
|
|||
|
|
## 1. 整体盘点(更新 2026-07-28 执行后)
|
|||
|
|
|
|||
|
|
| 品牌 | 产品面残留 | 调试/测试面 | 历史叙事 | 风险 |
|
|||
|
|
|---|---|---|---|---|
|
|||
|
|
| **Hermes** | seed→`pi`;`HERMES_HOME` 兼容读已删;`AiRuntimeOwner::RustWebPi` | soft-retire smoke 保留 exit 0 | design/old 可留 | **已收** |
|
|||
|
|
| **OpenHub / OpenCode** | 无产品入口 | soft-retire smoke | design/old | **低** |
|
|||
|
|
| **Reasonix** | seed→`pi` | `.reasonix` 目录忽略保留 | design/old | **已收** |
|
|||
|
|
| **ACP** | DB 列 `acp_*` 保留(schema);产品 runtime 无 ACP 宿主 | 极少 | | **中(列名兼容)** |
|
|||
|
|
| **next_compat / LEGACY_NEXT** | AppConfig / proxy / documents Next 链已删 | smoke 已去 env | design/done 历史稿 | **已收** |
|
|||
|
|
| **convex_retired** | 已扫完 | | | **已完** |
|
|||
|
|
| **Weknora / Yuxi / Sidex** | 极少 | | design/old | **低** |
|
|||
|
|
|
|||
|
|
## 2. 本批已执行(A1 → A2 → A3 → B → C)
|
|||
|
|
|
|||
|
|
### A1 · control-plane brand → pi ✅
|
|||
|
|
- sqlite / turso seed:`hermes`/`reasonix` → `pi`,display「我的 Pi」
|
|||
|
|
- 迁移:历史 `agent_id='hermes'` 就地 UPDATE 到 `pi`
|
|||
|
|
- fixtures / `turso_store` / `control-plane-dev-seed.js` 字面量中性化
|
|||
|
|
|
|||
|
|
### A2 · LEGACY_NEXT / documents proxy ✅
|
|||
|
|
- `AppConfig` 删除 `legacy_next_base_url` / `enable_legacy_next_compat` / `compat_next_base_path`
|
|||
|
|
- `session` / `gateway` health 与 legacy proxy 删除
|
|||
|
|
- `documents` Next proxy 栈删除
|
|||
|
|
- OnlyOffice 非 local writeback → fail-closed(`onlyoffice_cloud_writeback_unavailable`)
|
|||
|
|
- 保留 OnlyOffice **同源 server proxy** 所需 `append_path_and_query`
|
|||
|
|
|
|||
|
|
### A3 · Hermes 命名 / HERMES_HOME ✅
|
|||
|
|
- `AiRuntimeOwner::RustWebHermes` → `RustWebPi`
|
|||
|
|
- spike:`open_hermes_page_ai_drawer` → `open_page_ai_drawer`
|
|||
|
|
- `agent_profile_home`:仅 `MNOTE_AGENT_HOME` / `~/.mnote-agent`(去掉 `HERMES_HOME` / `~/.hermes`)
|
|||
|
|
- audit log:仅 `MNOTE_AGENT_TOOL_AUDIT_LOG`
|
|||
|
|
- AGENTS.md:去掉「旧 agent 网关 / OpenCode 代理壳」宣传句
|
|||
|
|
- `.env.all`:删除 `MNOTE_HERMES_API_*`
|
|||
|
|
|
|||
|
|
### B · compat 410 / 文案 / debug ✅
|
|||
|
|
- `/api/ai-agent/run` 继续 **410** `legacy_ai_agent_run_retired`(含 hermes/codex provider 负向合同)
|
|||
|
|
- compat 测试去 mock Next 上游,只断言 GONE
|
|||
|
|
- debug shell:`MNOTE_WEB_ENABLE_DEBUG_SHELL_ROUTES` 默认 false(边界保持)
|
|||
|
|
|
|||
|
|
### C · smoke / 编译验证 ✅
|
|||
|
|
- 17 个 smoke 去掉 `MNOTE_WEB_*LEGACY_NEXT*`
|
|||
|
|
- `task164` 断言改为不出现 `legacy_next_compat`
|
|||
|
|
- 死 hermes/opencode smoke 已 soft-retire(Wave 10,保持)
|
|||
|
|
- 验证:
|
|||
|
|
- `cargo check -p mnote-web --tests` 无 error
|
|||
|
|
- `cargo test -p bridge-runtime --lib` 116 passed
|
|||
|
|
- `cargo test -p control-plane --lib` 37 passed
|
|||
|
|
- `cargo test -p mnote-web --lib routes::compat` 4 passed
|
|||
|
|
|
|||
|
|
## 3. 仍可后续(非阻塞)
|
|||
|
|
|
|||
|
|
| 项 | 说明 |
|
|||
|
|
|---|---|
|
|||
|
|
| ACP 列名 `acp_*` | 控制面 schema 兼容;改列需独立迁移批 |
|
|||
|
|
| actor 占位拒绝 `hermes` | `mnote_tools` 仍拒绝 actor=`hermes` 占位 id(负向安全) |
|
|||
|
|
| `mnote-hermes-tool` source | document-session 历史 external write source 兼容读 |
|
|||
|
|
| `.reasonix` / `.opencode` 目录忽略 | local_folder 扫描忽略,非产品入口 |
|
|||
|
|
| design/old 历史稿 | 不阻塞产品面 |
|
|||
|
|
| 测试函数名 `hermes_tools_*` 前缀 | 历史命名,schema 已中性化 |
|
|||
|
|
|
|||
|
|
## 4. 验收 Checklist
|
|||
|
|
|
|||
|
|
- [x] `cargo check -p mnote-web --tests` 无 error
|
|||
|
|
- [x] `cargo test -p bridge-runtime --lib` 全通过
|
|||
|
|
- [x] `cargo test -p control-plane --lib` 全通过
|
|||
|
|
- [x] AGENTS.md 不再把退役 agent 宿主写成可选主链
|
|||
|
|
- [x] smoke 不再注入 `MNOTE_WEB_*LEGACY_NEXT*`
|
|||
|
|
- [x] 产品 profile home 不再读 `HERMES_HOME` / `~/.hermes`
|
|||
|
|
- [ ] (可选)ARCHITECTURE.md 全文扫 brand 叙事
|
|||
|
|
- [ ] (可选)ACP 列 rename 迁移批
|
|||
|
|
|
|||
|
|
## 5. 工具回扫命令
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
rg -n "legacy_next|LEGACY_NEXT|HERMES_HOME|RustWebHermes|enable_legacy_next" rust scripts --glob '!**/target/**'
|
|||
|
|
rg -n "MNOTE_WEB_ENABLE_LEGACY_NEXT|MNOTE_HERMES" scripts .env.all
|
|||
|
|
cargo check -p mnote-web --tests
|
|||
|
|
```
|