16 Commits
Author SHA1 Message Date
ljq 2bacbf6a33 Fix macOS key modifiers and clarify computer-use SOP 2026-10-27 15:22:26 +08:00
ljq 695147f34a Document verified macOS input and click verification pitfalls 2026-10-27 14:58:07 +08:00
ljq 0763061a48 Use in-process Quartz for macOS screenshots 2026-10-27 14:51:37 +08:00
weijia b006a84b7c fix(macljqCtrl): add CropToScreen helper + crop-origin coord hints (#614)
On macOS the screenshot path lacked a counterpart to win32's
ClientToScreen. Detecting a target inside a cropped GrabScreen(bbox)
image and feeding the in-image (px,py) straight to Click silently
mis-clicks because the crop-origin offset is dropped.

- add CropToScreen(bbox, x, y): in-crop coords -> absolute physical
  coords (pure crop-origin add, no scaling)
- GrabScreen docstring: warn about the crop-origin trap and not to
  hand-roll screencapture -R (it takes logical points)
- Click 0%-pixel-change warning now names the common causes
- ljqCtrl_sop.md: add macOS subsection mirroring the win32 trap note
2026-06-17 20:15:16 +08:00
weijia 05d9dba08a feat(memory): enhance macOS AX control (resolve_pid fix, enabled field, AXClick)Feat/macos ax enhancements (#611)
* feat(memory): enhance macOS AX control (resolve_pid fix, enabled field, AXClick)

- _resolve_pid: fix bundle_id branch (used un-imported AppKit), 3-tier match (bundle id > app name exact > substring)
- AXElements: collect 'enabled' field (SOP: check disabled before click)
- AXClick: AXPress-first then fallback to physical-coord Click, honest success判定 via pixel diff
- AXFind: add enabled_only filter, refactor if-forest into _hit helper

* docs(ljqCtrl): tighten macOS AX guidance, drop boilerplate & app-specific detail

- collapse 5-line cross-platform import boilerplate to one line
- generalize control-identifier tip (remove app-specific identifiers)
2026-06-15 09:00:45 +08:00
Liang Jiaqing 8ec764a87e Update agent hints and UI SOP note 2026-06-08 09:28:05 +08:00
Jiaqing Liang e089ef50aa feat: 新增飞书(lark)conductor IM插件 + UI/插件体系完善
- conductor_im_plugins: 新增 lark.py(飞书收消息插件,无状态轮询)、email.py、_TEMPLATE.py
- wechat.py/config.local.json 经gitignore排除(含个人会话ID)
- conductor.html/py: UI重构(grid/可折叠卡片/console/approvals)、action与pool化重构
- stapp.py: 移除_js_scroll_fix
- ljqCtrl_sop: 补充Click点歪诊断/DPI坐标陷阱/文本输入经验
2026-06-05 15:03:41 +08:00
Liang Jiaqing 73c0ccc9d9 ljqCtrl: add Activate/GetForeground/Click check; SOP精简39行; ui_detect物理坐标提醒 2026-05-27 19:02:10 +08:00
Liang Jiaqing 9e72234222 refactor: hive_sop restructure, GrabWindowBg, ui_detect unified API, worker rule9, incubator_sop 2026-05-26 10:02:51 +08:00
Liang Jiaqing ffbde98952 Refactor: 统一消息格式和Session架构重构
核心改动:
- 统一所有Session内部使用Claude content-block格式
- 引入BaseSession基类,简化代码结构
- tool_results从字符串改为结构化字典列表
- NativeClaudeSession增强:支持cr_token、metadata、thinking提取
- ToolClient简化:删除structured分支,统一使用protocol prompt
- MixinSession支持按名称选择session
- ljqCtrl_sop增加DPI坐标陷阱警告
2026-04-01 22:20:18 +08:00
Liang Jiaqing 0b3c3ba38a code_run自动注入常用import+memory路径; ljqCtrl_sop补充文本输入方法 2026-03-24 00:00:20 +08:00
Liang Jiaqing 0b8ebedc0b ljqCtrl: 兼容RDP断开场景的屏幕尺寸/DPI获取; ljqCtrl_sop: ClientToScreen避坑; .gitignore清理 2026-03-01 23:18:36 +08:00
Jiaqing Liang 9ae045c93c launch: auto port discovery; simphtml: init newTabs; SOP docs update 2026-02-25 12:56:40 +08:00
Jiaqing Liang 07a53889fb fix: ljqCtrl Press list bug, update SOPs (must call working_mem), agentmain round-end marker 2026-02-24 16:43:05 +08:00
Liang Jiaqing df478d81e1 improve update_working_mem tool description; adb_ui u2 priority; autonomous_operation framework lock 2026-02-16 11:31:58 +08:00
Liang Jiaqing 3a9a5ee2aa fix(mem_scanner): fix context_size logic and update sops 2026-02-09 18:32:15 +08:00