Commit Graph
77 Commits
Author SHA1 Message Date
Liang Jiaqing 8b7d4e0a82 stapp: drop index= on keyed LLM selectbox; session-state-only avoids streamlit default-value warning spam on every rerun 2026-10-13 11:19:50 +08:00
Liang Jiaqing e29587dfb8 stapp: keep sidebar LLM widget state in sync with external (hub/phone) channel switch; stale session_state silently rolled it back 2026-10-13 10:17:01 +08:00
Liang Jiaqing 418c28a7bb stapp: fold long answers - last 50 steps individual, older grouped per 30 with lazy-load toggle + TOC 2026-09-30 17:52:52 +08:00
Liang Jiaqing a275570fc6 stapp: unbound starlette ws send queue (500-msg cap caused fake disconnect -> stuck RUNNING) 2026-09-30 17:52:52 +08:00
Liang Jiaqing 13eef203f7 fix(stats): compute decode TPS at stream end 2026-08-25 11:36:25 +08:00
Liang Jiaqing 3327a6c88b fix stream recovery and runtime metrics 2026-08-25 10:16:19 +08:00
Liang Jiaqing 30b24ad31d fix(stapp): own stream bubble inside fragment for cross-version rerun safety 2026-08-21 14:21:27 +08:00
Liang Jiaqing b0d270394d fix(stapp): repaint stream host fully each tick for Streamlit 1.62 wrapper reset
Streamlit >=1.62 resets a fragment's outside-container wrapper cursor to 0
on every fragment rerun and GCs children not re-emitted, so incremental
appends (_stream_frozen) lost folded expanders mid-stream. Merge _stream_ls
into the single _stream_fh host and repaint expanders + live tail every
tick; the unconditional write also claims the slot on the initial run
(no 'could not reserve a stable position') and removes the empty
placeholder that pushed the first reply's bubble down.
2026-08-20 22:20:39 +08:00
Liang Jiaqing d6403d9783 ui: idle fragment tick 5s + streamlit>=1.62; fix !!!Error tail check 2026-08-20 12:31:06 +08:00
Liang Jiaqing 0c54d5c0bc stapp: unify hub input path via _inject_prompt (single entry for user/auto/hub) 2026-08-08 12:20:15 +08:00
Liang Jiaqing a1e470bb11 stapp: all_outputs stream + single 1s tick; llmcore: null-safe usage
stapp:
- stream paints agent.all_outputs[-1].outputs (queue is doorbell+done only)
- drop partial_response / mount_main_stream / multi 1s fragments
- one always-on _tick: stream | detached salvage | hub wake | loop/auto
- RUNNING badge projects agent.is_running; history still fold_turns

llmcore:
- coerce null/bad usage token fields to int in _record_usage
  (dict.get default skips explicit JSON null)
2026-08-03 18:16:09 +08:00
Liang Jiaqing c59410855d stapp: soft-import slash cmd modules so main chat runs without them
- wrap chatapp_common/continue_cmd/btw_cmd/export_cmd in one try/ImportError
- guard /new /continue /btw; /export help+all still work via agent.log_path
2026-08-03 16:49:37 +08:00
Liang Jiaqing 284b33216a hub: split bus/panel ports, token-auth the panel
- bus port (19736): WebSocket only, all HTTP returns 404
- panel port (GA_HUB_WEB_PORT, default 19737): token via ?t= or cookie, /ws rejected
- token from GA_HUB_TOKEN or random 6 chars, printed on startup
- drop dead /api/ev HTTP endpoint (zero callers; bus ev goes over WS)
- pet: inline single-instance lock; CJK-aware title width
2026-08-03 16:24:23 +08:00
Liang Jiaqing d8d90eef8c fix: abort sets should_stop before close; llmcore skip retry on user stop; hub serve-on-connect + stapp hub optional 2026-08-03 11:44:34 +08:00
Liang Jiaqing 41e1fcebe8 hub: WS peer hub (frontends/hub.py + hub.html) with composer, busy-reject and abort; stapp adopts hub tasks as real bubbles; agentmain tracks all_outputs/_current_queue 2026-08-02 23:18:35 +08:00
Liang Jiaqing 6bed654dce feat: improve conductor files and runtime handling 2026-07-31 21:56:27 +08:00
Liang Jiaqing b913a89ace stapp: show active model in runtime stats 2026-07-30 00:16:04 +08:00
Liang Jiaqing a3a626af89 stapp: stabilize long-session streaming and add runtime stats 2026-07-29 18:25:46 +08:00
Liang Jiaqing fb9ea53c3a stapp: lazy-render chat history (tail 6 + i18n toggle) to fix gray/RUNNING freeze on long sessions 2026-07-29 12:31:06 +08:00
Liang Jiaqing b4597a067b stapp: non-blocking fragment-based stream polling + loop epoch guard; RUNNING badge; conductor SOP subdir hint; agent_loop verbose simplification 2026-07-28 23:15:18 +08:00
Liang Jiaqing a1f7368f81 feat: wechat conductor forwarding mode with /switch 2026-07-25 13:39:39 +08:00
Liang Jiaqing 733615d889 fix: sticky llm_no on reload, portal UX, mainland install without Git
- agentmain: keep current LLM across mykey hot-reload by backend.name
- stapp: fix DeltaGenerator leak from ternary, update reopen_page wording
- ga_install: mainland mode skips PortableGit, use NJU python mirror + --no-bin
- ga: block start_long_term_update before turn 10
2026-07-22 23:38:10 +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
Liang Jiaqing facbca6b7d feat(stapp): improve missing-key UX and sidebar controls
- Optional helper hook when available; warn reopen if used

- Sidebar cleanup: drop auto_start, tighten hr CSS
2026-07-21 11:15:20 +08:00
Liang Jiaqing 3f6fb9c63b fix: persist UI history and retain recent L4 sessions 2026-07-10 14:56:36 +08:00
Liang Jiaqing a195bdc101 Handle Claude refusal without retry 2026-07-09 13:45:43 +08:00
Liang Jiaqing b636a8df61 Refine UltraPlan orchestration workflow 2026-06-30 17:22:16 +08:00
Liang Jiaqing 84d5bf9291 Update loop controller and service discovery 2026-06-27 14:57:10 +08:00
Liang Jiaqing 209995d87c Improve loop prompt sidebar input 2026-06-19 19:36:14 +08:00
Liang Jiaqing df025ab34f feat: loop mode + idle auto-action in stapp, cleanup launch.pyw
- stapp.py: add loop mode (auto-inject prompt after each reply)
- stapp.py: replace DOM-based idle monitor with st.fragment timer
- stapp.py: i18n for all new UI text and LLM prompts
- launch.pyw: remove inject/get_last_reply_time/idle_monitor, keep only paste hook
- agentmain/ga: raise max_turns 80->180, DANGER thresholds accordingly
- remove obsolete tool_usable_history.json
2026-06-19 19:00:44 +08:00
Liang Jiaqing 9ac89d4462 Remove legacy desktop_pet v1 (desktop_pet.pyw, pet.gif); v2 fully covers 2026-06-14 09:24:33 +08:00
Liang Jiaqing abe233b06e Fix stapp bottom input layout 2026-06-13 12:07:46 +08:00
Liang Jiaqing c883c02907 fix: chat bottom padding 7->10rem; disable forced max_tokens=64000 in NativeClaudeSession 2026-06-09 22:00:50 +08:00
Liang Jiaqing da398d91ee fix(llm): stream read_timeout 30s->40s, avoid reasoning-model long-thinking false timeout
fix(frontend): force chat_input pinned to bottom (iframe wrapper fallback); drop details scroll-fix JS
2026-06-09 22:00:50 +08:00
Jiaqing Liang 9e20e28028 fix: widen window & collapse sidebar to work around streamlit narrow-viewport bug 2026-06-09 16:43: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
Jiaqing Liang ab0919cfa7 fix mykey path, add inject-prompt button, harden reload_mykeys 2026-05-25 13:29:12 +08:00
Liang Jiaqing fff2af9c26 add supergrok_proxy 2026-05-22 10:04:40 +08:00
benemorphyandbenechen c8a9ab4b1c fix: 中文版自主行动相关按钮修复 (#442)
* 加入高危命令黑名单 Add  high-risk command blacklist

* GenericAgent Agent System Design Overview

* Subagent 集群监控,Subagents Monitor

* remove desing overview html

* skill_learn_from_cases — 案例驱动技能学习 CLI 工具

* skill_learn_from_cases — 案例驱动技能学习 CLI 工具 v001

* skill_learn_from_cases — 案例驱动技能学习 CLI 工具 v002

* skill_learn_from_cases — 案例驱动技能学习 CLI 工具 v003

* skill_learn_from_cases — 案例驱动技能学习 CLI 工具 v005

* skill_learn_from_cases 案例驱动技能学习 CLI 工具 v006

* skill_learn_from_cases 案例驱动技能学习 CLI 工具 v007

* skill\_learn\_from\_cases   案例驱动技能学习 CLI 工具 v008

* skill_learn_from_cases   案例驱动技能学习 CLI 工具 v009

* skill_learn_from_cases v010

* skill_learn_from_cases v 011

* earn_skill_from_cases v000

* fix:[开始空闲自主行动]按钮点击无反应

* 修复点击[开始空闲自主行动]按钮,无反应问题

* clean fork 0515

* clean051502

* 自主行动相关按钮修复

* learn_skill_from_cases v000

* cleaned again

---------

Co-authored-by: benechen <13817895035@126.com>
2026-05-20 21:04:50 +08:00
Liang Jiaqing cebd6a37c9 agentloop yield turn dict marker; agentmain intercepts and tracks per-turn outputs 2026-05-16 17:13:42 +08:00
nianyucatfish 2d848e9a4e feat(stapp): add /export command (clip/file/all) (#322) 2026-05-09 23:08:20 +08:00
Liang Jiaqing fe3b3441d5 fix(stapp): restore finally abort guard in agent_backend_stream 2026-05-09 18:12:09 +08:00
Shen Hao a2e1686218 feat: add /btw side-question subagent (#317)
Mirrors Claude Code's /btw: ask the agent a quick question without
interrupting the in-flight main task.

- frontends/btw_cmd.py: snapshot backend.history under lock + deepcopy →
  background-thread backend.raw_ask single-turn answer; never writes
  backend.history; never touches task_queue. Reuses backend.raw_ask +
  make_messages, no new LLM instance.
- frontends/chatapp_common.py: register /btw in HELP_COMMANDS; handle
  /btw in AgentChatMixin (sync via asyncio.to_thread); install() at
  module bottom so the slash hook is wired for any frontend that
  imports chatapp_common.
- frontends/stapp.py: persist display_queue + partial_response in
  st.session_state so the streaming bubble survives Streamlit reruns;
  new render_main_stream() helper covers both new tasks and resume;
  /btw branch uses plain st.rerun() (preserves dq) so the main task's
  remaining output renders in a follow-up bubble; non-/btw prompts
  explicitly call agent.abort() to keep the original "submit cancels"
  UX. Strip <summary> meta tags from text segments and drop dangling
  "LLM Running (Turn N) ..." markers in resumed partials to clean up
  the rendered chat.
2026-05-09 15:26:05 +08:00
Liang Jiaqing 1f99a5553b feat: fsapp reconnect loop, tui branch/rewind, simphtml flow-child fix, sop updates 2026-05-08 15:48:16 +08:00
Liang Jiaqing 6fd7e2d7a0 feat: add Textual TUI frontend + minor fixes to agentmain/llmcore/stapp 2026-05-07 17:38:58 +08:00
Jiaqing Liang f50b6507e3 Improve English UI defaults and task timeout 2026-05-06 13:23:33 +08:00
Liang Jiaqing 26d5fc6781 feat: auto-inject summary text block when model outputs thinking+tool_use without text; stapp fallback uses content preview 2026-05-03 12:22:05 +08:00
Liang Jiaqing a405a02238 add official channel disclaimer; fix scroll/wechat-md/llm-msg 2026-05-01 08:41:10 +08:00
Liang Jiaqing 3da34d2f58 cleanup: remove NextWillSummary, add supervisor_sop, fix streaming fence protection, tighten L1 rules 2026-04-29 13:29:03 +08:00
voidborne-d 6e45fd95db fix(stapp): defend autonomous_enabled init against fragment-only reruns
closes #197
2026-04-27 17:51:32 +08:00