Files
jiangchang-platform-kit/src/jiangchang_desktop_wake
chendelian c75eaa701b
All checks were successful
Publish Python Package to Gitea / publish (push) Successful in 27s
feat(desktop-wake): add wecom_search profile for SearchResultWindow2 (1.2.6)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 11:59:49 +08:00
..

jiangchang_desktop_wake

桌面 UIA Provider 暖树(与 jiangchang_skill_core / jiangchang_desktop_sdk 平级)。

企微主路径:注入 wecom_wake.dll,对主窗 SetWindowLongPtr 后仅对 OBJID_CLIENT 走 DuiLib GetAccessible(1.2.5+;避免 UiaRoot/MSAA 混用崩 uiautomationcore)。

可整目录删除:src/jiangchang_desktop_wake + tests/desktop_wake。

依赖

  • Windows + 32-bit 企微
  • pip install uiautomation(probe 深遍历)
  • native/desktop-wake.exe + native/wecom_wake.dll(native_src/build.ps1)

快速试

$env:PYTHONPATH = ".\src"
powershell -File src\jiangchang_desktop_wake\native_src\build.ps1
pip install uiautomation

# 正式 API(技能 / 拾取应调这个)
python -m jiangchang_desktop_wake ensure --profile wecom

# 搜索结果浮层(先在企微搜索框输入并展开联系人列表)
python -m jiangchang_desktop_wake ensure --profile wecom_search
python -m jiangchang_desktop_wake probe --profile wecom_search
from jiangchang_desktop_wake import ensure_ui_ready, probe

r = ensure_ui_ready("wecom")  # 主窗;仍冷则抛 DesktopWakeError
print(r.warm, r.probe_after.findall_count)

# 搜索浮层 SearchResultWindow2(需已打开搜索结果)
rs = ensure_ui_ready("wecom_search")
print(rs.warm, rs.probe_after.findall_count, rs.probe_after.markers_found)
profile 窗 说明
wecom WeWorkWindow 主窗;markers=con_op,searchedit
wecom_search SearchResultWindow2 搜索联系人浮层;markers=search_result,user_item;不 Maximize
CLI 退出码
ensure 0 已暖;非 0 仍冷或异常
probe 0 暖;2 冷
inject / c2 诊断用

完整验收见 ACCEPTANCE.md。