feat(desktop-wake): add WeCom UIA warm-tree and ship n2-wake in 1.2.3
All checks were successful
Publish Python Package to Gitea / publish (push) Successful in 29s
All checks were successful
Publish Python Package to Gitea / publish (push) Successful in 29s
Expose ensure_ui_ready via DuiLib GetAccessible inject path; package x86 native helpers for host/skill consumers. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
90
src/jiangchang_desktop_wake/ACCEPTANCE.md
Normal file
90
src/jiangchang_desktop_wake/ACCEPTANCE.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# jiangchang_desktop_wake 验收(阶段 A:ensure 主路径)
|
||||
|
||||
正式对外路径是 **`ensure`**(内部:`activate` → `desktop-wake --mode n2-wake` → `probe`)。
|
||||
`c2` / `inject` 仅诊断用。
|
||||
|
||||
## 0. 编译(企微先完全退出,含托盘)
|
||||
|
||||
```powershell
|
||||
cd D:\OpenClaw\client-jiangchang\jiangchang-platform-kit
|
||||
$env:PYTHONPATH = ".\src"
|
||||
powershell -File src\jiangchang_desktop_wake\native_src\build.ps1
|
||||
```
|
||||
|
||||
期望产物(仅这两个二进制进包):
|
||||
|
||||
- `src\jiangchang_desktop_wake\native\desktop-wake.exe`
|
||||
- `src\jiangchang_desktop_wake\native\wecom_wake.dll`(约 119KB;勿残留 `_b/_c/...`)
|
||||
|
||||
然后**再打开企微并登录**。
|
||||
|
||||
---
|
||||
|
||||
## A. 冷基线
|
||||
|
||||
退出影刀;若刚暖过请**重启企微**。
|
||||
|
||||
```powershell
|
||||
cd D:\OpenClaw\client-jiangchang\jiangchang-platform-kit
|
||||
$env:PYTHONPATH = ".\src"
|
||||
python -m jiangchang_desktop_wake probe --profile wecom
|
||||
```
|
||||
|
||||
| 期望 | 说明 |
|
||||
|---|---|
|
||||
| `warm=false` | 必须是冷树 |
|
||||
| `findall_count` | 通常 2~3 |
|
||||
|
||||
---
|
||||
|
||||
## B. 主路径 ensure(必验)
|
||||
|
||||
```powershell
|
||||
python -m jiangchang_desktop_wake ensure --profile wecom
|
||||
echo ExitCode=$LASTEXITCODE
|
||||
type $env:TEMP\jiangchang_desktop_wake_provider.txt
|
||||
type $env:TEMP\jiangchang_desktop_wake_subclass.txt
|
||||
python -m jiangchang_desktop_wake probe --profile wecom
|
||||
```
|
||||
|
||||
### 通过标准
|
||||
|
||||
| 检查项 | 通过 |
|
||||
|---|---|
|
||||
| ensure 退出码 | **0** |
|
||||
| JSON `warm` | **true** |
|
||||
| `probe_after.findall_count` | **≥ 80**(常见 300+) |
|
||||
| markers | 含 `con_op`、`searchedit` |
|
||||
| 企微 UI | 可点,无「未响应」 |
|
||||
| provider | `done=1` `subclass=1` `dui=1` `lr_client≠0` |
|
||||
| subclass | `method=SetWindowLongPtr`,`ok=1`,`userdata≠0` |
|
||||
|
||||
### 失败时
|
||||
|
||||
| 现象 | 含义 |
|
||||
|---|---|
|
||||
| `ERROR:WINDOW_NOT_FOUND` | 企微未开或未登录出主窗 |
|
||||
| `skipped:native_helper_missing` / 仍冷 | 未编译 native 或 PYTHONPATH 不对 |
|
||||
| provider 只有 `nudge=1` 无 `findall=` | 跑到了旧 DLL,退出企微后重编 `wecom_wake.dll` |
|
||||
| UI「未响应」 | 停测;勿用 `--mode n2-hook` |
|
||||
|
||||
---
|
||||
|
||||
## C. 单测(不依赖企微窗)
|
||||
|
||||
```powershell
|
||||
cd D:\OpenClaw\client-jiangchang\jiangchang-platform-kit
|
||||
$env:PYTHONPATH = ".\src"
|
||||
python -m unittest discover -s tests/desktop_wake -v
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## D. 诊断命令(非主路径)
|
||||
|
||||
```powershell
|
||||
python -m jiangchang_desktop_wake inject --profile wecom
|
||||
python -m jiangchang_desktop_wake c2 --profile wecom
|
||||
```
|
||||
|
||||
禁止默认使用:`desktop-wake.exe ... --mode n2-hook`。
|
||||
Reference in New Issue
Block a user