Commit Graph
100 Commits
Author SHA1 Message Date
Liang Jiaqing 326354bad3 hub: keep saved pairing waiting while phone is offline 2026-10-20 10:08:35 +08:00
Liang Jiaqing eaa2e6f14b Route Hub model switches through desktop state notifications 2026-10-19 13:17:25 +08:00
Liang Jiaqing 84ec7d55af Reuse independent conductor and scheduler without owning their lifecycle 2026-10-19 10:54:38 +08:00
Liang Jiaqing 4e8029f20e Limit pending restoration to sessions reloaded from storage 2026-10-19 10:40:35 +08:00
Liang Jiaqing 4f5a928a6e Preserve replay step boundaries for GA and Hub clients 2026-10-19 10:34:29 +08:00
Liang Jiaqing e92ef58488 Restore desktop sessions lazily into GA; use disposable output projection 2026-10-19 10:18:15 +08:00
Liang Jiaqing e6ed9b3f4d Remove obsolete desktop deferred model binding tests 2026-10-19 09:42:48 +08:00
Liang Jiaqing 5b48e7b300 Connect desktop GA instances to Hub with shared submit and cancel paths 2026-10-18 15:44:36 +08:00
Liang Jiaqing 5205f4080f Simplify memory maintenance and remove legacy plan mode 2026-10-18 09:47:34 +08:00
Liang Jiaqing 9b3aff4358 Remove desktop global model default and preserve GA constructor selection 2026-10-18 09:15:16 +08:00
Liang Jiaqing a2eb5414c2 Store desktop session metadata only and replay MR or L4 history 2026-10-17 13:20:04 +08:00
Liang Jiaqing 2ba5529060 fix: synchronize live model reload and preserve config selection 2026-10-16 19:46:04 +08:00
Liang Jiaqing 7fb22a2f85 ci: remove main repository workflows; CI belongs to Desktop 2026-10-16 19:07:41 +08:00
Liang Jiaqing f7cadb6087 fix: infer shell commands when code_run type is empty 2026-10-16 14:04:14 +08:00
Liang Jiaqing 250a7c2790 ci: assemble GA source deployments from standalone desktop components 2026-10-16 13:43:12 +08:00
Liang Jiaqing 62bdce49f0 fix(bridge): remove desktop static file dependency 2026-10-16 11:55:59 +08:00
Liang Jiaqing 5a4b6fa7a4 chore(desktop): keep only private desktop placeholder 2026-10-16 11:38:19 +08:00
Liang Jiaqing a5979eac50 fix: track applied mykeys snapshot per agent 2026-10-16 09:30:02 +08:00
Liang Jiaqing 24f7d6a0dc refactor(conductor): manage model selection in agent memory only 2026-10-15 21:34:28 +08:00
Liang Jiaqing e4e610d6a1 docs: simplify mykey templates with quick-start configs first 2026-10-14 19:10:27 +08:00
Liang Jiaqing f7e4cc5a84 fix: retry malformed DSML endings when no tool was called 2026-10-14 19:10:26 +08:00
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 6e0c54f6ec docs: refresh WeChat group 23 QR code 2026-10-11 13:55:25 +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 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 c91387136a reflect: support module-level LLM to select backend by name before each trigger 2026-09-29 09:28:08 +08:00
Liang Jiaqing 9dcbf5adf0 hub: persist token to temp/.hub_token; add intervene/keyinfo inject op + hub.call/peers helper 2026-09-29 09:28:08 +08:00
Liang Jiaqing 9d1add7780 docs: update WeChat community QR code to group 23 2026-09-19 09:57:28 +08:00
Liang Jiaqing 1b6442fe4f prompt: constitution#3 dedupe (3-failure rule already in RULES); remember tool requires task success/checkpoint 2026-09-14 11:42:59 +08:00
Liang Jiaqing f07bfc57a2 abort(): register live socket at urllib3 request() so Force Stop wakes recv() even while waiting for response headers (was only after headers via active_response) 2026-09-14 11:39:06 +08:00
Liang Jiaqing 96be94586f docs: update verified default vision backend 2026-09-14 10:21:54 +08:00
Liang Jiaqing 86171aec3c hub_p2p: exponential backoff (1->60s) with jitter on reconnect failure; avoid thundering herd after relay restart 2026-09-11 10:18:38 +08:00
Liang Jiaqing 24aeead78c p2p_ws_client: fast-fail reconnect (ws ping 15/10s; Signal.expect aborts on closed/error instead of waiting full timeout) 2026-09-11 10:18:38 +08:00
Liang Jiaqing 0fd024bf8c llmcore: TTFT = first SSE event (count hidden thinking); default context_win 38000 / cut interval 8 2026-09-11 10:18:38 +08:00
Liang Jiaqing 4913a6162b hub: switch LLM channel (op llm / GET llms, POST llm) via agent.list_llms/next_llm only 2026-09-11 10:18:38 +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
Liang Jiaqing 7fa5fa4ec0 fix: prevent WeChat polling from consuming chat input 2026-09-02 08:20:28 +08:00
Liang Jiaqing 17d9f4d873 fix(wechatapp): avoid evaluating Win creationflags on Linux
_start_conductor built DETACHED_PROCESS/CREATE_NEW_PROCESS_GROUP before the
os.name=='nt' branch, causing AttributeError and crashing Conductor autostart
on Ubuntu. Keep those flags Windows-only; Linux uses start_new_session.
2026-08-27 21:44:07 +08:00
LJQ 8ea9533651 Merge pull request #779 from abraxas914/codex/react-desktop-v2-update-0827
feat(desktop): refresh compiled React Desktop 2.0 distribution
2026-08-25 18:29:05 +08:00
Liang Jiaqing 3d62523d40 fix(abort): force-wake blocked stream recv via socket _real_close; interruptible retry backoff 2026-08-25 15:55:34 +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 0c235a8068 perf: make history trimming linear 2026-08-24 13:09:31 +08:00
Liang Jiaqing 9e68c20ee9 ci(desktop): preserve LF for release byte gates 2026-08-24 12:28:17 +08:00
Liang Jiaqing 3deca04540 fix: remove stale star history & fix gaagent.ai link in license section 2026-08-24 12:26:38 +08:00
Liang Jiaqing ffe97347df fix(conductor): restore standalone model selection 2026-08-24 10:09:15 +08:00
LJQ fb91ec22fa Merge pull request #776 from abraxas914/codex/react-desktop-v2-upstream-final
feat(desktop): integrate compiled React Desktop 2.0
2026-08-24 09:52:43 +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
LJQ f6928e0101 Merge pull request #751 from ZYDMYHZ/feat/api-key-header
feat(llmcore): support api_key_header override for NativeClaudeSession
2026-08-20 10:52:02 +08:00
LJQ 6d2cf09264 docs: refresh WeChat group 22 QR code
Merge PR #769: replace the expired WeChat group 22 QR image while preserving the existing README reference.
2026-08-17 15:00:33 +08:00
Liang Jiaqing 3f39e2b980 harden hub put text type check; disable claude context_management 2026-08-15 11:30:46 +08:00
Liang Jiaqing f06d550380 fix(ga): only treat short </summary>-only replies as incomplete
Long replies ending with </summary> were false-positive retried.
Also relax L1 insight RULES: drop hard es/win32gui/git-loop mandates.
2026-08-13 10:19:48 +08:00
Liang Jiaqing e519734ab0 fix(tmwd): show real WS status on badge, click-through + lower opacity 2026-08-13 07:54:14 +08:00
Liang Jiaqing 63f9db74e6 fix(p2p): rebuild socket after signaling loss 2026-08-12 06:54:59 +08:00
Liang Jiaqing 75ac18d478 fix(p2p): keep relay available during direct upgrade 2026-08-12 05:40:30 +08:00
Liang Jiaqing e55e198dc2 refactor(wm): unify turn-summary extraction (<summary> first, else full text, skip empty) across ga/worldline/continue_cmd; fix hinfo delta slicing base for old-tree mixed lineage 2026-08-11 11:50:11 +08:00
Liang Jiaqing a6ea3fa53c fix(conductor): escape raw HTML before marked to block stored XSS
renderMd fed untrusted chat/log into marked → innerHTML; strip '<' so
scripts/on* payloads cannot navigate (e.g. /login?from=/scriptText).
Markdown links and bare URLs remain intact.
2026-08-11 08:31:03 +08:00
Liang Jiaqing 4570a63466 fix(llmcore): retry OpenAI response.failed overload like Claude
HTTP 200 SSE/body overload/rate-limit now raises ConnectionError via
shared _raise_if_retryable_overload so _stream_with_retry can backoff.
Covers OpenAI error/response.failed/json failed; Claude error reuses helper.
2026-08-10 16:17:42 +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 4e92d5d88d p2p: split peer_timeout(120s) from direct_timeout(15s) so pairing code stays usable for its full TTL 2026-08-09 00:19:44 +08:00
Liang Jiaqing 8f9732ec0c hub: /api/peers incremental via psig (unchanged list -> {same:1}, ~68% less relay bytes) 2026-08-08 14:31:41 +08:00
Liang Jiaqing d426d45e9b hub: incremental polling (since= skeleton delta, nt rewind marker, seg ?off tail fetch) to cut relay traffic 2026-08-08 12:20:15 +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 0c2b3e0d51 tune prompt tags, raise context_win defaults, simplify code_run schema desc
- ga: blank/incomplete/max_tokens retries use [ERROR]; summary tip [TIPS]; turn checkpoints [DANGER]
- llmcore: default context_win 30k->35k, deepseek 70k->80k
- tools_schema: shorten code_run.script description
2026-08-08 12:20:15 +08:00
LJQ d946498bcf Merge pull request #725 from dd3xp/main2
Add desktop workspace copy and switch action
2026-08-07 08:53:55 +08:00
LJQ 2757bdd8ef Merge pull request #735 from nianyucatfish/fix/tui-agent-worker-cleanup
fix(tui): release agent workers on close
2026-08-06 23:50:51 +08:00
Liang Jiaqing 7083b9377e p2p_ws_client: X25519 raw-bytes compat shim for old cryptography builds 2026-08-06 15:44:40 +08:00
Liang Jiaqing 89a8ab717a hub: optional P2P phone pairing sidecar (hub_p2p) + p2p_ws_client peer_left self-heal (watch peer_left -> close -> fresh handshake on reconnect) 2026-08-06 15:07:07 +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
LJQ c8136d05b3 Merge pull request #721 from chenwushuang007-stack/feat/reasoning-effort-max
feat: add max reasoning effort option
2026-08-02 21:26:53 +08:00
LJQ bd6eccd37c Merge pull request #710 from Kailigithub/fix/issue-683-scroll-bottom-on-session-switch
fix(desktop): scroll to bottom when switching to active session
2026-07-31 23:36:09 +08:00
LJQ 5a512293a8 Merge pull request #713 from wjl2023/docs/refresh-wechat-group22-qr
docs: refresh WeChat group 22 QR code
2026-07-31 23:35:39 +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 c8163dcfc3 docs: remove expired WeChat QR codes 2026-07-29 11:48:30 +08:00
Liang Jiaqing ff9a6e6451 docs: refresh WeChat group 22 QR code 2026-07-29 11:42:05 +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 7ffc95823b fix(llmcore): cap retry-after to avoid hanging on oversized values 2026-07-27 20:29:01 +08:00
Liang Jiaqing 5c3fc72da4 fix: drop empty text blocks in _fix_messages to avoid HTTP 400 2026-07-25 21:46:05 +08:00
Liang Jiaqing a1f7368f81 feat: wechat conductor forwarding mode with /switch 2026-07-25 13:39:39 +08:00
Liang Jiaqing 4086d5c858 refactor: tighten working memory tool guidance 2026-07-23 15:30:36 +08:00
Liang Jiaqing 0a54c74924 fix: handle invalid mixin placeholder on model reload 2026-07-23 14:18:37 +08:00
Liang Jiaqing 7fede5a050 feat: improve conductor controls and token import refresh 2026-07-23 13:25:22 +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
Jiaqing Liang 8a75b39bf8 docs(memory): deprecate plan mode and index project mode 2026-07-22 15:48:13 +08:00
Jiaqing Liang 022299a6ab fix(conductor): notify on user chat messages 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
Liang Jiaqing 277c4859a4 feat(desktop): optional quick-access helper hook + trim factor
- Probe optional helper availability; show button only if present

- Bridge route for optional helper; i18n + cache bump

- llmcore: maxlen_multiplier factor 0.85->0.75
2026-07-21 11:15:21 +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