feat: add iSphere live probe recorder

This commit is contained in:
zhaoyilun
2026-07-10 10:59:48 +08:00
parent 349fbe4a44
commit f7914a63dc
13 changed files with 2209 additions and 16 deletions

View File

@@ -158,9 +158,9 @@ WRITE_NOT_READY
VERIFY_FAILED
```
## 6. 第一阶段 op
## 6. 当前只读 helper op
第一阶段只支持四个 op
当前 helper 只支持只读探测类 op。`version``self_check``scan_windows``dump_uia` 是第一阶段窗口/UIA 基线;`probe_client_runtime` 是 C30 为 B 路线发送连接器新增的只读运行时探测
### 6.1 `version`
@@ -182,7 +182,7 @@ VERIFY_FAILED
```json
{
"helper_name": "ISphereWinHelper",
"helper_version": "0.1.0",
"helper_version": "0.3.0",
"protocol": "isphere.helper.v1",
"runtime": ".NET Framework"
}
@@ -274,6 +274,66 @@ runs/real-loggedin-lab/uia-dumps/
C# helper 文件输出通过未来 `out_path` 参数控制。
### 6.5 `probe_client_runtime`
用途:为 B 路线发送连接器做只读运行时探测,确认本机是否存在已运行的 `IMPlatformClient.exe` / iSphere 相关进程,以及进程位数、安装路径、关键模块是否加载。
这个 op 只做进程和模块枚举:
- 不发送消息;
- 不上传文件;
- 不点击、不输入;
- 不注入、不 hook
- 不读取聊天内容。
请求示例:
```json
{
"protocol": "isphere.helper.v1",
"request_id": "...",
"op": "probe_client_runtime",
"timeout_ms": 5000,
"args": {
"process_names": ["IMPlatformClient", "IMPP.ISphere", "iSphere", "importal"],
"include_modules": true,
"max_modules": 120
}
}
```
响应 data 示例:
```json
{
"probe_mode": "read_only_process_module_inventory",
"host": {
"is_64_bit_os": true,
"is_64_bit_process": true
},
"target_count": 1,
"targets": [
{
"pid": 1234,
"process_name": "IMPlatformClient",
"main_window_title": "iSphere",
"executable_path": "C:\\...\\IMPlatformClient.exe",
"bitness": "x86",
"assembly_presence": {
"IMPlatformClient.exe": true,
"smack.dll": true,
"IMPP.Interface.dll": true,
"IMPP.ServiceBase.dll": true,
"IMPP.Service.dll": true
},
"module_probe_ok": true
}
]
}
```
该 op 是 C30 的 B 路线入口检查。它暂不等于发送能力,只用于判断后续是否值得做 sidecar / in-process 调用验证。
## 7. 后续 op 扩展顺序
必须等真实登录窗口的 UIA dump 被确认后,再扩展真实动作。
@@ -344,7 +404,7 @@ native/
## 11. 验收标准
第一阶段完成后,只验收:
当前只读 helper 基线验收:
1. C# helper 能编译。
2. `version` 返回合法 JSON。
@@ -353,17 +413,20 @@ native/
5. 打开记事本后,`dump_uia` 能导出记事本控件树。
6. 用户手动登录 iSphere 后,`scan_windows` 能找到候选窗口。
7. 对 iSphere 候选窗口执行 `dump_uia` 能返回控件树。
8. 第一阶段验收聚焦窗口扫描和 UIA dump 结果。
8. `probe_client_runtime` 在无目标客户端运行时也能返回合法空结果。
9. 用户手动登录 iSphere 后,`probe_client_runtime` 能返回目标进程、位数、路径和关键模块探测结果。
10. 当前验收仍聚焦只读探测;发送、文件上传、点击、输入都不在本节验收范围内。
## 12. 下一步
建议下一步只做 C# helper 第一阶段
当前下一步是 C30 B 路线运行时探测
```text
version
self_check
scan_windows
dump_uia
probe_client_runtime
```
Go MCP 代码在后续节点实现C# helper 稳定拿到真实 iSphere 窗口结构后,再实现 Go 的 `helperclient` 和 MCP tools
Go MCP 代码已经具备基础 helper 调用能力;`probe_client_runtime` 暂不暴露为 MCP 业务工具。待真实登录客户端上的 B1/B2 探测通过后,再决定是否新增 sidecar 调用层和受控发送工具