feat: add explicit multi-account window binding
This commit is contained in:
@@ -13,14 +13,15 @@
|
||||
| 能力 | 入口 | 结果 |
|
||||
|---|---|---|
|
||||
| 服务/微信诊断 | `GET /api/v1/status` | HTTP 200;`serviceOnline=true`、`wechatAvailable=true`、`sessionAvailable=true`、`windowFound=true`,错误为空 |
|
||||
| 会话列表 | `GET /api/v1/sessions` | HTTP 200;返回可见会话,含 automationId |
|
||||
| 会话当前/精确搜索 | `/api/v1/sessions/current`、`/search?exactOnly=true` | HTTP 200;当前会话和“文件传输助手”精确匹配均返回稳定 automationId |
|
||||
| 账号发现 | `GET /api/v1/accounts` | HTTP 200;返回数据库指纹;UI 绑定保持 false |
|
||||
| 联系人只读 | `GET /api/v1/contacts` | HTTP 200;返回稳定联系人 ID;未输出密钥 |
|
||||
| 会话列表 | `GET /api/v1/sessions?accountId=...` | HTTP 200;返回可见会话,含 automationId;未携带 accountId 拒绝执行 |
|
||||
| 会话当前/精确搜索 | `/api/v1/sessions/current?accountId=...`、`/search?accountId=...&exactOnly=true` | 需要显式绑定账号;当前锁屏环境不作为真机成功证据 |
|
||||
| 账号发现/窗口目标 | `GET /api/v1/accounts`、`GET /api/v1/ui-targets` | HTTP 200;返回数据库指纹、绑定状态和当前窗口目标 |
|
||||
| 显式账号绑定 | `POST /api/v1/accounts/bind` | 已实现身份匹配、PID+HWND 持久化和冲突拒绝;锁屏环境未执行成功绑定 |
|
||||
| 联系人只读 | `GET /api/v1/contacts?accountId=...` | 需要显式账号;返回稳定联系人 ID;未输出密钥 |
|
||||
| 群成员只读 | `GET /api/v1/groups/{accountId}/{group}/members` | HTTP 200;显式账号范围与测试群 `消息测试专用群组`,返回稳定成员 ID |
|
||||
| SSE 单帧 | `GET /api/v1/events` | HTTP 200;真实 `id/event/data` 帧,正文不进入事件;默认仍需显式 opt-in |
|
||||
|
||||
| 可见消息摘要 | `GET /api/v1/messages` | HTTP 200;返回 fingerprint/type/summary,正文为 null |
|
||||
| 可见消息摘要 | `GET /api/v1/messages?accountId=...` | 需要显式绑定账号;返回 fingerprint/type/summary,正文为 null |
|
||||
| MCP | `/mcp` initialize、`tools/list` | HTTP 200;同一 Bearer Token;工具 schema 可加载 |
|
||||
| Web 静态入口 | `/` | HTTP 200;静态资源随发布包部署 |
|
||||
|
||||
@@ -36,14 +37,20 @@
|
||||
|
||||
## 自动化证据
|
||||
|
||||
- `dotnet test tests/WxAgent.Core.Tests -c Release`:150 passed。
|
||||
- `dotnet test tests/WxAgent.Service.Tests -c Release`:11 passed。
|
||||
- `dotnet test tests/WxAgent.Core.Tests -c Release`:153 passed。
|
||||
- `dotnet test tests/WxAgent.Service.Tests -c Release`:12 passed。
|
||||
- `dotnet build WxAgent.sln -c Release -p:EnableWindowsTargeting=true`:成功,0 warning/0 error。
|
||||
- self-contained `win-x64` publish:成功,包含 `wwwroot` 与 MCP 依赖。
|
||||
|
||||
## 本轮多账号绑定验证
|
||||
|
||||
- Windows API 实例在锁屏/非交互 SSH 会话下返回 1 个脱敏 PID+HWND 目标和 1 个 `Unbound` 数据库账号;身份字段保持空值,未猜测绑定。
|
||||
- 缺少 `accountId` 的 sessions/contacts/messages 请求分别返回 HTTP 400 `AccountIdRequired`。
|
||||
- `doctor`/`inspect-ui`/`smoke` 在当前会话返回 `SessionLocked`/`WindowNotFound`;未把锁屏结果当作绑定成功证据。
|
||||
|
||||
## 未完成/不宣称
|
||||
|
||||
- 未执行发送、联系人/群管理、朋友圈、语音等写操作;`send-text`、`group-at-all` 和 deferred 项保持禁用。
|
||||
- 未完成 60 分钟/20 条消息监听、断线补齐和多客户端慢消费者真机验收;SSE 与服务端监听源已实现,默认配置 `EnableListenerEvents=false`。自动化高频探针已中止,不作为验收证据;后续真机消息验证上限 3 条。
|
||||
- 未完成窗口绑定成功和 60 分钟/20 条消息监听、断线补齐和多客户端慢消费者真机验收;SSE 与服务端监听源已实现,默认配置 `EnableListenerEvents=false`。自动化高频探针已中止,不作为验收证据;后续真机消息验证上限 3 条。
|
||||
- 未完成外部主机直接访问验收(防火墙未开放);不将 HTTP 鉴权描述为网络加密。
|
||||
- 远程验证任务已停止并清理;不再自动发送测试消息,后续真机消息验证上限为 3 条。
|
||||
|
||||
Reference in New Issue
Block a user