docs: correct main send status and plan

This commit is contained in:
zhaoyilun
2026-07-12 01:22:56 +08:00
parent 3b01d94088
commit 341f08b7be
10 changed files with 179 additions and 28 deletions

View File

@@ -2,7 +2,7 @@
This runbook is for the first Go MCP phase of `isphere-ai-bridge`. It lets an operator build and verify the Windows helper and the Go MCP server without reading the source code.
Current scope: expose four WinHelper observation operations, four business read tools, and two preview-only send tools through Go MCP. Read tools are `isphere_receive_messages`, `isphere_search_contacts`, `isphere_search_groups`, and `isphere_receive_files` list mode plus download preview/blocked status. Send tools are `isphere_send_message` and `isphere_send_file` preview/dry-run only; production send/file upload is blocked. Read tools use an empty default message source unless `ISPHERE_PACKET_LOG_FILE` points to an operator-local encrypted PacketReader log-line file or `ISPHERE_PACKET_LOG_DIR` points to an operator-local directory of encrypted PacketReader `.log`/`.txt` files. Contact/group display names can also be optionally enriched from an operator-local copied `MsgLib.db` through the bounded read-only `MsgLibReadSidecar`; receive messages can use copied DB rows only when the caller explicitly passes `source_preference="msglib_readonly"`.
Current scope: expose four WinHelper observation operations, four business read tools, one message-send tool, and one preview-only file-send tool through Go MCP. Read tools are `isphere_receive_messages`, `isphere_search_contacts`, `isphere_search_groups`, and `isphere_receive_files` list mode plus download preview/blocked status. `isphere_send_message` is preview/dry-run by default; when explicitly configured with `ISPHERE_SEND_CONNECTOR_MODE=uia_rpa` it can perform a UI write/click action against a configured chat HWND, but online business delivery is still unverified. `isphere_send_file` remains preview/dry-run only and production file upload is blocked. Read tools use an empty default message source unless `ISPHERE_PACKET_LOG_FILE` points to an operator-local encrypted PacketReader log-line file or `ISPHERE_PACKET_LOG_DIR` points to an operator-local directory of encrypted PacketReader `.log`/`.txt` files. Contact/group display names can also be optionally enriched from an operator-local copied `MsgLib.db` through the bounded read-only `MsgLibReadSidecar`; receive messages can use copied DB rows only when the caller explicitly passes `source_preference="msglib_readonly"`.
## 1. Prerequisites
@@ -563,7 +563,8 @@ Current short answer:
- 已完成:搜索联系人、搜索群组、收消息基础读取、收文件列表。
- 可预览:发消息 preview、发文件 preview。
- 阻断:生产发消息、真实文件下载、生产发文件
- A-route 已具备 UI 动作能力:显式配置后可以对聊天窗口写入文本并点击发送按钮;本地还可打开真实离线 `frmP2PChat` 验证窗口/输入框/按钮定位
- 阻断:在线业务送达、真实文件下载、生产发文件。离线点击不等于服务端发送成功。
The two online evidence packages to send to an internal/logged-in operator are:
@@ -590,6 +591,17 @@ Expected output includes helper version `0.5.0` and:
{"synthetic_uia_send_action":"uia_send_message"}
```
The project also has a real offline chat-window opener:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\open-offline-real-frmP2PChat.ps1 -RuntimeMode Deps -ShowWindow -HoldSeconds 1
```
That script opens the real `frmP2PChat` without login and confirms the key UIA
ids `frmP2PChat`, `rtbSendMessage`, `btnSend`, and `rtbRecvMessage`. The window
is still offline and will show the client-side “cannot send while offline”
message.
To enable A-route in a logged-in desktop session, configure the MCP server environment before startup:
```powershell
@@ -603,6 +615,11 @@ $env:ISPHERE_SEND_UIA_HELPER_PATH = "E:\coding\codex\isphere-ai-bridge\runs\win-
Then call `isphere_send_message` with `execution_mode="production"`. The connector will set the send editor text and invoke the send button through UI Automation. Response metadata uses `connector_mode="uia-rpa"`; the audit still stores hashes and metadata, not the raw message body or raw idempotency key.
Important status boundary: helper fields such as `clicked_ui=true` or
`sent_message=true` mean the UI action ran. They do not prove server acceptance,
receiver delivery, or a sent-record match. Online/logged-in evidence is still
required before this can be called business-level send.
Standard `scripts\verify-go-mcp.ps1` clears all A-route env vars so the deterministic smoke remains preview/blocked by default.
## 19. Troubleshooting