Commit Graph
199 Commits
Author SHA1 Message Date
ljq 48123646bc fix(l4): deduplicate history lines in first-occurrence order 2026-11-03 14:35:18 +08:00
ljq 3f66861d93 fix(l4): suffix colliding session filenames before writing 2026-11-03 14:19:20 +08:00
Liang Jiaqing 9fb4eadc47 docs(vision): document opt-in image resizing 2026-11-02 20:57:51 +08:00
Liang Jiaqing 2eab21c1a9 fix(vision): preserve image resolution by default 2026-11-02 20:57:27 +08:00
Liang Jiaqing 5ec4b12b63 ga: map Bash/PowerShell tool calls to code_run; conductor: restrict CORS/WS origin & trusted host to localhost; mem SOP: prune stale facts, L2 keeps file pointers 2026-11-02 10:11:21 +08:00
ljq e4d956f020 Clarify self-descriptive SOP indexing rule 2026-10-27 15:24:49 +08:00
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
ljq 847ca3cd20 Configure macOS native OCR and document mydsv41f vision 2026-10-27 14:31:33 +08:00
Liang Jiaqing b70079dce7 fix: simplify OCR CUDA initialization and clarify memory rules 2026-10-21 19:44:38 +08:00
Liang Jiaqing 5205f4080f Simplify memory maintenance and remove legacy plan mode 2026-10-18 09:47:34 +08:00
Liang Jiaqing f308ee7eb0 memory distill prompt rework; bump claude-cli UA 2.1.280; subagent hub note; memory_cleanup L3 audit principles 2026-09-30 17:52:52 +08:00
Liang Jiaqing 96be94586f docs: update verified default vision backend 2026-09-14 10:21:54 +08:00
nianyucatfish f6e5657fbe docs(ganet): cover macOS in the PC device-link setup SOP (#791)
GAnet 0.5.0 ships macOS sidecars, so the SOP no longer stops on non-Windows
desktops. The flow itself is unchanged; the edits are the platform facts GA
needs to follow it on a Mac:

- default component location moves to ~/.genericagent/components/GAnet on
  every platform; a checkout under the GA root's temp/ is wiped by the temp
  rewind mechanism
- launcher is ganet.cmd on Windows and ganet.sh on macOS; the bound Python
  shim is ga_python.cmd / ga_python.sh
- sidecar data lives in %LOCALAPPDATA%\GenericAgent\GAnet or
  ~/Library/Application Support/GenericAgent/GAnet; login autostart is the
  HKCU Run entry or a LaunchAgent; both are removed by remove_environment()
- release entries for macOS use platform "darwin", and verify_release checks
  Mach-O as well as PE
- on macOS, setup and upgrades request the screen-recording permission at the
  end and report it in screen_access; it is advisory and never blocks
- macOS needs no sudo; git/python placeholders without Xcode CLT must not be
  invoked
2026-09-03 14:37:00 +08:00
Liang Jiaqing 71cf559fab fix: str() session_id/tab_id; bump UA to 2.1.251; trim subagent.md 2026-09-02 08:20:29 +08:00
nianyucatfish 7ad2162f30 docs(ganet): add PC device-link setup SOP (#786)
Adds the standalone Windows GAnet device-link setup and removal SOP.

Known review risks accepted by maintainer.
2026-08-28 22:18:18 +08:00
Liang Jiaqing 308153b1c9 reflect: hub connect for put_task; llmcore: softer trim interval, rate-limit as ConnectionError, slower backoff; L3: no project-specific facts 2026-08-10 14:02:51 +08:00
Liang Jiaqing 400c9ef34f feat(stapp): empty-key boot and portal hot-reload wait
Allow GenericAgent to start with empty mykey, watch subscription
portal writes via list_llms, and app-rerun so sidebar LLM select
refreshes without a manual click. Also harden mykey reimport and
note the fastest tmwebdriver autofill login path.
2026-07-22 20:33:37 +08:00
Jiaqing Liang 8a75b39bf8 docs(memory): deprecate plan mode and index project mode 2026-07-22 15:48:13 +08:00
Jiaqing Liang caa41dd08e refactor(tmwebdriver): remove legacy DOM bridge and guard HTTP origin 2026-07-22 15:48:12 +08:00
Jiaqing Liang 5e31b4d59a docs(project_mode): clarify cwd is ./temp to avoid nested temp/ paths 2026-07-13 15:11:43 +08:00
Liang Jiaqing d910b689be rename verify_sop -> deliverable_audit_sop (避免名字过宽导致主agent小任务误触发验证审计SOP); ga.py: file_patch/file_write 保持原文件换行符, 修复LF文件被污染成CRLF; _arg 类型强转修复字符串false等 2026-07-12 15:09:34 +08:00
Liang Jiaqing 9d99e9fc74 fix: isolate project mode per agent instance 2026-07-10 17:31:52 +08:00
Liang Jiaqing 3f6fb9c63b fix: persist UI history and retain recent L4 sessions 2026-07-10 14:56:36 +08:00
Liang Jiaqing 15853775c9 Add model extra system prompt config support 2026-07-07 18:52:35 +08:00
Liang Jiaqing 94d1e2e907 Add background ljqCtrl tool and GUI SOP guardrails 2026-06-30 18:33:52 +08:00
Liang Jiaqing b636a8df61 Refine UltraPlan orchestration workflow 2026-06-30 17:22:16 +08:00
Liang Jiaqing 6c775def61 fix httpapp output auth and update ultraplan docs 2026-06-28 19:17:02 +08:00
Liang Jiaqing f573b8f397 add ga_httpapp, update ga_ultraplan, whitelist ultraplan_sop 2026-06-26 18:01:00 +08:00
Liang Jiaqing 5bc4945dcb feat: --func pure function mode for subagent; merge bg launch; refine SOP 2026-06-26 12:03:36 +08:00
Liang Jiaqing 8c3522fb8b ljqCtrl: Add SetProcessDPIAware; FindBlock returns raw max_val float 2026-06-20 16:40:11 +08:00
Liang Jiaqing d30701c07e cleanup_sop: 补充触发词判定标准+归位≠移出L1+幽灵审计+禁值存储 2026-06-19 19:53:04 +08:00
Liang Jiaqing 0ca5811e24 docs: clarify ui_detect OmniParser model 2026-06-18 17:14:10 +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
Liang Jiaqing 21158fff43 Update agent docs and task help 2026-06-16 11:27:31 +08:00
Liang Jiaqing b267ce8dd3 Update supervisor SOP and execution reminders 2026-06-15 21:35:28 +08:00
Liang Jiaqing 9405d3fe09 docs(vision): add GA bootstrap hints to vision_api template
Annotate config block to guide new GA instances: enumerate candidate
mykey.py variable names and experimentally probe which config works;
only print var/field names, model, apibase host/path, status codes and
error types (never full dict or apikey/token); include a config format
example. Also flag that apibase/endpoint may differ per provider/proxy
at the two request-building sites.
2026-06-15 10:01:08 +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
weijia dab1b1a242 feat(memory): add macOS port of ljqCtrl with AX accessibility support (#606)
- macljqCtrl.py: macOS implementation of mouse/keyboard/screenshot/window
  enumeration mirroring ljqCtrl API, plus AX accessibility control tree
  (AXElements/AXFind/AXPress) as the macOS equivalent of UIA
- computer_use.md: add section 3 documenting the macOS platform branch
- .gitignore: whitelist memory/macljqCtrl.py
2026-06-14 09:14:06 +08:00
Liang Jiaqing de501f785b Fix truncation warning placement and untrack skill_search 2026-06-12 14:33:03 +08:00
weijia 90d5002d1f feat(project-mode): pid-keyed anchor — auto-deactivate on GA exit, multi-instance isolation (#592)
- Anchor file becomes temp/.active_project.<host pid>: dies with the GA process,
  so closing GA auto-deactivates; re-activation requires user confirmation per SOP
- Multiple GA instances each keep their own active project, no cross-talk
- Startup sweep removes only legacy unsuffixed anchors and own-pid leftovers
  (pid reuse); anchors of other pids are never touched — deliberately no
  liveness probe, because os.kill(pid, 0) on Windows terminates the process
2026-06-10 14:57:48 +08:00
weijia 1945b27a03 feat: project mode plugin — cross-session project memory via two-layer injection (#591)
Activate a project with a file anchor (temp/.active_project); every turn
the agent_before hook appends an L1 context (rules + memory file pointer
+ wrap-up discipline) to the latest user message, while the full project
memory (L2) stays on disk for the model to read on demand.

Zero core changes: plugin + SOP + gitignore whitelist only.
2026-06-10 13:18:38 +08:00
Liang Jiaqing 432b2a6570 memory: subagent.md 更新fork/cwd共享约定 2026-06-10 11:14:31 +08:00
Liang Jiaqing 98cf8ef9d7 docs: update mobile computer use notes 2026-06-08 19:39:11 +08:00
Jiaqing Liang 0107f6c6ce Update LLM user agent handling and incubator notes 2026-06-08 15:05:47 +08:00
Liang Jiaqing 8ec764a87e Update agent hints and UI SOP note 2026-06-08 09:28:05 +08:00
Liang Jiaqing 529f3226e6 Refine computer_use window diagnostics 2026-06-05 22:21:20 +08:00
Liang Jiaqing 62bd570f47 Add computer_use SOP for UI operations 2026-06-05 22:15:54 +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