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>
2.4 KiB
2.4 KiB
jiangchang_desktop_wake 验收(阶段 A:ensure 主路径)
正式对外路径是 ensure(内部:activate → desktop-wake --mode n2-wake → probe)。
c2 / inject 仅诊断用。
0. 编译(企微先完全退出,含托盘)
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.exesrc\jiangchang_desktop_wake\native\wecom_wake.dll(约 119KB;勿残留_b/_c/...)
然后再打开企微并登录。
A. 冷基线
退出影刀;若刚暖过请重启企微。
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(必验)
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. 单测(不依赖企微窗)
cd D:\OpenClaw\client-jiangchang\jiangchang-platform-kit
$env:PYTHONPATH = ".\src"
python -m unittest discover -s tests/desktop_wake -v
D. 诊断命令(非主路径)
python -m jiangchang_desktop_wake inject --profile wecom
python -m jiangchang_desktop_wake c2 --profile wecom
禁止默认使用:desktop-wake.exe ... --mode n2-hook。