Commit Graph
20 Commits
Author SHA1 Message Date
Liang Jiaqing a1d8304457 feat: i18n support - auto-detect system language for zh/en prompts 2026-04-16 18:47:40 +08:00
Liang Jiaqing 13d20c2d59 fix: compatible with Streamlit 1.56+ iframe API change 2026-04-16 17:48:58 +08:00
Liang Jiaqing 08ca6130ea stapp: incremental freeze rendering for streaming segments
Replace full-redraw approach with frozen/live slot pattern:
- Completed segments are frozen into individual st.empty() slots
- Only the last (active) segment is re-rendered on each tick
- Reduces flicker and improves performance for long multi-turn conversations
2026-04-16 13:10:00 +08:00
Liang Jiaqing ce72054a09 feat: multi code_run support, inline_eval logging & cwd fix, tool reinject upgrade 2026-04-16 12:56:17 +08:00
Liang Jiaqing 135f1dba17 fix: change desktop pet port 51983->41983 (avoid Hyper-V reserved range) & update wechat group QR code 2026-04-15 23:50:48 +08:00
Jiaqing Liang 731b3c7baa feat: add plan mode (enter/exit/completion check/verification gate/periodic hints) 2026-04-15 17:02:54 +08:00
Liang Jiaqing c6d8a7abea refactor: rename default_model->model, add thinking_type support, fix pet urlopen error handling 2026-04-14 21:14:05 +08:00
Liang Jiaqing 8075d5e78b feat: desktop pet v2 with 8 skins and state notifications 2026-04-14 11:07:58 +08:00
Liang Jiaqing da66c34a4a 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
Jiaqing Liang 64b22f5423 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 19704f4fc5 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 fae8c72fcf 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 973befeeca 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 28c86dd97c Update llmcore truncation, adb_ui parsing, stapp regex, and subagent docs 2026-04-09 18:43:20 +08:00
Liang Jiaqing b9a7993e8c Refactor: unify render_segments logic, add streaming cursor animation, and clean up unused container parameter 2026-04-03 12:14:08 +08:00
Liang Jiaqing 7e47e8b5fb Refactor: use native st.expander for folding turns, optimize stream trigger, and adjust window width 2026-04-03 11:47:07 +08:00
Liang Jiaqing 54171adace feat: fold_turns UI折叠 + 放宽输出限制 + 压缩history/key_info标签 + context_win调大 2026-04-03 10:43:15 +08:00
Liang Jiaqing 94a3b14b70 fix: simphtml visibility/dialog/SVG improvements & minor agent fixes
- simphtml: rewrite visibility inheritance (area-based maxC), add isVisible to childrenInfo,
  fix className SVG compat (getAttribute), expand isDialog detection, hoist deep fixed dialogs,
  clear SVG attrs, fix warning message concat
- ga: return error messages instead of None for code_run/web_execute_js failures
- stapp: disable unsafe_allow_html
- code_run_header: add excepthook hint for ImportError/AttributeError
- mykey_template: remove stale prompt_cache comment
2026-04-03 09:40:09 +08:00
Liang Jiaqing d6fc033cf7 refactor: agent loop done_hooks, inline_eval, scheduler logging & health_check
- agent_loop: for→while, _done_hooks callback mechanism, max_turns=40
- agentmain: pass self to handler, abort clears task queue
- stapp: heartbeat yield for Streamlit StopException detection
- ga: _inline_eval param for in-process eval, no_tool thresholds tuned
- scheduler: logging, max_delay_hours, weekday repeat, health_check()
2026-03-30 13:51:21 +08:00
Liang Jiaqing 28ffb0f9dc refactor: move frontend apps to frontends/ and fix path references 2026-03-22 17:45:20 +08:00