Commit Graph

429 Commits

Author SHA1 Message Date
Shen Hao
222a144858 config: update mykey_template.py with new configuration examples 2026-04-15 03:54:42 +08:00
Liang Jiaqing
97560a4fba feat: publish ocr_utils, vision_sop, ui_detect to public repo 2026-04-15 00:00:14 +08:00
Liang Jiaqing
d0a9b5de08 fix: use script_dir for cwd path instead of relative path 2026-04-14 23:38:32 +08:00
Liang Jiaqing
d18c8438d3 refactor: use with statement for requests.post in NativeClaudeSession 2026-04-14 23:35:51 +08:00
Liang Jiaqing
74abb77a0b refactor: rename default_model->model, add thinking_type support, fix pet urlopen error handling 2026-04-14 21:14:05 +08:00
Liang Jiaqing
0551967a7e style: arrange 3 QR code images horizontally in a table row 2026-04-14 18:47:00 +08:00
LJQ
2e0be429d9 Merge pull request #63 from JinyiHan99/docs/add-group-qr-codes
docs: add community group QR codes to README
2026-04-14 15:12:39 +08:00
Jinyi Han
9f004c059d docs: add community group QR codes to README 2026-04-14 15:08:22 +08:00
Liang Jiaqing
793bb3f1b8 refactor(pet): extract PetBase, deduplicate _start_server/safe wrappers, add singleton guard 2026-04-14 12:05:55 +08:00
LJQ
fae778bb51 Merge pull request #62 from shenhao-stu/main
docs: add Linuxdo links
2026-04-14 11:13:37 +08:00
Shen Hao
5179fb2fac Merge branch 'lsdefine:main' into main 2026-04-14 11:10:31 +08:00
Shen Hao
7cb3982d89 docs: add friendly links section to README
Added a section for friendly links and community support.
2026-04-14 11:09:49 +08:00
Liang Jiaqing
0b54df85be feat: desktop pet v2 with 8 skins and state notifications 2026-04-14 11:07:58 +08:00
Shen Hao
3cc05be36b docs: add links to LinuxDo and support section
Added links to LinuxDo community and support section.
2026-04-14 11:07:38 +08:00
Liang Jiaqing
acb0f93d5f refactor: reorder mykey_template, add name field to native configs 2026-04-13 22:48:51 +08:00
Liang Jiaqing
127a4e631c feat: add /session.key=value system command to set LLM params at runtime 2026-04-13 22:44:17 +08:00
Liang Jiaqing
499f0119bb refactor llm session params and thinking parsing 2026-04-13 20:20:31 +08:00
Liang Jiaqing
0da9bd15c9 refactor: turn_end_callback + desktop pet + keychain
- agent_loop: next_prompt_patcher -> turn_end_callback with full context
- agent_loop: exit logic unified (break + callback), no early return
- ga: summary extraction moved from tool_after_callback to turn_end_callback
- ga: _turn_end_hooks support for external subscribers
- stapp: desktop pet button with HTTP status push
- keychain: XOR-masked secret storage with SecretStr
- gitignore: whitelist keychain.py
2026-04-13 18:27:17 +08:00
LJQ
9da32c07ce docs: update README recent highlights and group image (#59)
docs: update README recent highlights and group image
2026-04-13 16:20:56 +08:00
Xinyi Wang
c80cc2d823 docs: update README recent highlights and group image 2026-04-13 16:05:04 +08:00
Jiaqing Liang
086599a5d6 fix: scroll ghost height reflow via overflow toggle; extend cache markers to last 2 user msgs; simplify cursor & merge JS fixes 2026-04-13 14:59:38 +08:00
Liang Jiaqing
ecb8ac9a80 fix(stapp): eliminate ghost duplicate of last text block on new message
Root cause: stream loop emitted a bare st.empty() heartbeat per tick, accumulating
dozens of empty slots under chat_message. On the next rerun the history replay
path had no such slots, so Streamlit's incremental DOM diff misaligned and left
the previous render of the last text block as a grayed-out ghost.

Fix: unify streaming and history replay under the same shell
(slot = st.empty(); with slot.container(): render_segments(...)). Heartbeat now
re-enters the same slot each tick; when response is unchanged Streamlit's diff
is a no-op (no flicker), but the container() call still lets StopException
propagate so abort keeps working. Simplified render_segments from 5 params
(placeholders/rendered_cache/force_text) to 2 (segments, suffix).

Net: +19 -20 lines. Verified: no ghost, abort interrupts mid-stream, per-turn
fold-collapse preserved.
2026-04-12 15:22:56 +08:00
Liang Jiaqing
d94e404f64 fix: use local var for claude tools conversion, avoid mutating self.tools 2026-04-12 14:46:45 +08:00
Liang Jiaqing
142de0c45b refactor: remove claude_tools_format flag, auto-convert tools in NativeClaudeSession.raw_ask 2026-04-12 14:43:46 +08:00
Liang Jiaqing
2b5cbff7be feat: --verbose flag, lazy mykeys loading, temperature config support
- agentmain: add --verbose arg for subagent monitoring mode
- llmcore: lazy-load mykeys/proxies via module __getattr__
- llmcore: fix auto_make_url regex for trailing slash cases
- llmcore: support temperature override from session config
- docs: update subagent.md with --verbose usage note
2026-04-12 14:29:32 +08:00
Liang Jiaqing
9e03a675ae fix: MixinSession copy before override & add no-tools warning; refine subagent SOP 2026-04-11 18:50:26 +08:00
Liang Jiaqing
946c239c03 refactor: rename mem_scanner→procmem_scanner, add L4 layer, remove make_prompts.py 2026-04-11 18:30:00 +08:00
Liang Jiaqing
6f1585e88f fix: comment out MixinSession copy to prevent tools not propagating to original session 2026-04-11 18:25:54 +08:00
Liang Jiaqing
62ac73c773 feat: task模式干预机制 _stop/_keyinfo/_intervene + consume_file 2026-04-11 17:14:35 +08:00
Liang Jiaqing
3531146792 fix: restore stop signal detection broken by render_segments cache optimization
- stapp.py: add st.empty() after render_segments to force Streamlit StopException check on every iteration (incl. heartbeat)
- agentmain.py: fix nround type check, fix timeout comment
2026-04-11 16:25:19 +08:00
Liang Jiaqing
de8adf76a9 feat: L4 session archiver + scheduler cron integration
- Add compress_session.py: compress raw model_responses into L4 archives
- Integrate 12h silent cron into scheduler.check() (runs before TASKS dir check)
- Whitelist compress_session.py in .gitignore (archives excluded)
- llmcore: refactor SSE warn handling, max_retries default 2->1
- scheduler: remove unused health_check(), INTERVAL 60->120
2026-04-11 15:55:35 +08:00
Liang Jiaqing
a737523f0a llmcore: remove runtime model param, upgrade Claude beta headers, softer backoff 2026-04-11 14:34:27 +08:00
Liang Jiaqing
7bfd6e43e6 fix: _fix_messages for Claude API compliance, raw_ask simplify, no_tool orphan fix, summary extraction improvement 2026-04-11 13:24:33 +08:00
Liang Jiaqing
5e28902cb4 cleanup: rm user.js, untrack copilot_proxy.pyw; ljqCtrl: DPI via GDI + GrabWindow(hwnd) 2026-04-10 22:17:24 +08:00
Jiaqing Liang
5a1d3a41da fix: handle window object serialization in CDP bridge; improve file_write error msg; minor llmcore style cleanup 2026-04-10 14:04:41 +08:00
Liang Jiaqing
4b18ad683f Fix tool call conversion and working checkpoint result 2026-04-10 10:45:00 +08:00
Liang Jiaqing
cc283a96f3 fix: verbose logic & insight wording & file_read anchor skip 2026-04-10 09:56:22 +08:00
Liang Jiaqing
2977be33c6 Update llmcore truncation, adb_ui parsing, stapp regex, and subagent docs 2026-04-09 18:43:20 +08:00
Liang Jiaqing
6628a3d987 tune: read_timeout 60s, simphtml print/newTabs fix, remove obsolete iframe sop 2026-04-08 20:45:06 +08:00
Liang Jiaqing
1c561db0b9 feat: enhance CDP bridge management and fix JS falsy returns
- background.js: Add management API, auto-return for JS, refactor new tab capture
- simphtml.py: Fix falsy return value bug, flatten return structure
- agent_loop.py: Simplify UI icons
- manifest.json: Add management permission
- tools_schema: Optimize prompts for web tools
- tmwebdriver_sop.md: Update documentation
2026-04-08 18:28:33 +08:00
LJQ
813eb29692 Merge pull request #57 from YangChen-pro/fix/restore-native-compat
修复 /restore 的日志路径兼容,并支持 Native 日志恢复
2026-04-08 15:45:15 +08:00
YangChen-pro
520550a2b9 Fix /restore path and native log compatibility 2026-04-08 10:16:55 +08:00
Liang Jiaqing
f4eec277c5 docs: fuzzy numbers in README (3K/~100/9 tools) 2026-04-07 22:18:18 +08:00
Liang Jiaqing
1e39032c67 refactor: optimize non-verbose output - tool icons, compact args, clean content 2026-04-07 19:03:43 +08:00
Jiaqing Liang
25fe3e42fd fix: popup.js action->cmd; add disable_dialogs.js with toast; update manifest 2026-04-07 12:17:18 +08:00
Liang Jiaqing
b525684378 fix: hoist filter should not catch sticky elements or oversized containers
- Remove position:sticky from hoist criteria (sticky is scroll-following, not popup)
- Add cover < 1.0 upper bound (real dialogs do not exceed viewport area)
2026-04-07 10:17:55 +08:00
Liang Jiaqing
054674baa1 simphtml: elementFromPoint弹窗修复 + findMainList评分优化 + _ljq ID注入 + smart_truncate重写 2026-04-07 10:10:27 +08:00
Liang Jiaqing
b4741a9a39 Optimize: force aggressive tag compression before history truncation to save context 2026-04-06 22:50:23 +08:00
Liang Jiaqing
53a859058a Refactor: simplify smart_format to string-only and enhance tool output truncation limits 2026-04-06 22:50:23 +08:00
LJQ
f44c05931c Merge pull request #55 from JinyiHan99/update-wechat-group-image
Update wechat_group.jpg
2026-04-06 21:57:09 +08:00