# 审计 — 推送搜索历史 + 终端搜索回中间

**Changelog**:
- `docs/changelog/2026-06-12-push-server-search-history.md`
- `docs/changelog/2026-06-12-terminal-search-center-empty-state.md`

## 范围（文件清单）

| 文件 | 变更 |
|------|------|
| `server/utils/server_search_history.py` | push 上下文，上限 5 |
| `server/api/servers.py` | push-search-history API |
| `frontend/src/composables/useServerSearchHistory.ts` | scope 参数 |
| `frontend/src/composables/push/usePushServers.ts` | 推送搜索历史 |
| `frontend/src/composables/push/usePushPage.ts` | 加载历史 |
| `frontend/src/components/push/PushServerGrid.vue` | combobox |
| `frontend/src/pages/PushPage.vue` | 绑定历史 |
| `frontend/src/pages/TerminalPage.vue` | 中间空态搜索 |
| `frontend/src/components/terminal/TerminalArea.vue` | empty-picker 插槽 |
| `frontend/src/components/terminal/TerminalServerPicker.vue` | 侧栏无搜索 |
| `tests/test_server_search_history.py` | push 上限与 API |

## Step 3 规则扫描

| H | 规则 | 结论 |
|---|------|------|
| H1 | 安全 | PASS — 按 admin 隔离偏好 |
| H2 | 无静默吞错 | PASS |
| H3 | 无新密钥 | PASS |
| H4 | CUD | N/A — 仅 UI 偏好 |

## Closure

| H | 判定 | 依据 |
|---|------|------|
| H1–H4 | PASS | 复用 admin_ui_preferences |

## DoD

- [x] type-check
- [x] pytest test_server_search_history
- [ ] 生产 `#/push` / `#/terminal` 验证

## 验证

推送：combobox 最近 5 条。终端：无会话时中间搜索，右侧仅列表。
