1344 Commits

Author SHA1 Message Date
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 desktop-portable-v0.2.0 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
abraxas914 dd99c5c3ac refactor(desktop): streamline release qualification tooling 2026-08-24 01:07:43 +08:00
abraxas914 dbdc63c368 docs(desktop): document source provenance and runtime boundaries 2026-08-23 18:15:52 +08:00
abraxas914 bbc410b47b ci(desktop): add Desktop 2.0 quality gates 2026-08-23 18:15:52 +08:00
abraxas914 f526f4ad5b test(desktop): cover bridge, backup and package contracts 2026-08-23 18:15:52 +08:00
abraxas914 6cc27a78c8 build(desktop): publish compiled React Desktop 2.0 distribution
Co-authored-by: yiqi-017 <22300246009@m.fudan.edu.cn>
2026-08-23 17:18:25 +08:00
abraxas914 f0d5bc7d44 feat(desktop): integrate Desktop 2.0 runtime services 2026-08-23 17:12:58 +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
wjl2023 e8a7e96154 docs: refresh WeChat group 22 QR code
Replace the expired README community QR image while keeping the existing filename and 微信群 22 label.
2026-08-17 14:52:41 +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
ZYDMYHZ c9cb4b53ea feat(llmcore): support api_key_header override for NativeClaudeSession
NativeClaudeSession now reads an optional 'api_key_header' config field
('auto' | 'x-api-key' | 'bearer'). Default 'auto' keeps existing behavior:
sk-ant- keys -> x-api-key header, others -> Authorization: Bearer.

This lets non-sk-ant- channels that expose an Anthropic /v1/messages
endpoint (e.g. opencode.ai) use x-api-key auth, so the full native Claude
protocol works there. Adds a mykey_template.py example (1b' section)
documenting the new field.
2026-08-10 03:58:30 +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
yanghang 5aec9a75b6 fix(tui): release agent workers on close 2026-08-06 23:27:55 +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
yiqi-017 9e56a95ac8 desktop: add workspace copy and switch action
Add a user-triggered desktop action to copy the current GA workspace to a chosen location and verify the bridge actually switches there before reporting success.
2026-08-03 20:31:16 +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
chen 582168ac21 feat: add max reasoning effort option
Expose the backend-supported max reasoning level in the /effort picker and document its protocol mappings.

Co-Authored-By: GenericAgent <bot@gaagent.ai>
2026-08-02 02:58:43 +08:00
HuaYangTian 9355c22d72 fix(llmcore): handle Responses API incomplete/failed terminal events + reasoning_text (#718)
- response.incomplete/response.failed now record usage, emit truncation marker
  and stop cleanly instead of being misread as ConnectionError (retry storm)
- collect response.reasoning_text.delta/.done into thinking content blocks
- non-stream Responses JSON: parse reasoning items and failed/incomplete status
2026-07-31 23:43:21 +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
wjl2023 ff6c6e92e6 docs: refresh WeChat group 22 QR code
The previous wechat_group22.jpg QR has expired. Replace it with a current
scan-to-join image so the README community section stays usable.
2026-07-30 22:01:25 +08:00