Liang Jiaqing
f462eabac7
p2p: on-demand pair connections via lobby call; hub_p2p single Group + /p2p/open + idle reclaim
2026-11-02 19:42:52 +08:00
Liang Jiaqing
fede1b248f
p2p: multi-hub/multi-customer group (lobby member list + per-pair P2PSocket rooms); hub exposes /p2p/hubs
2026-11-02 19:18:21 +08:00
Liang Jiaqing
aab769f601
hub: clarify WEB_PORT is localhost-only; remote access via hub_p2p
2026-11-02 18:03:18 +08:00
Liang Jiaqing
29c93b83c4
hub_p2p: reconnect pacing - fast reconnect only after stable (>=30s) session, exp backoff 1..60s for instant drops/failures, hard cap 8 attempts/60s (avoid signal per-IP 429 storm)
2026-11-02 17:30:03 +08:00
Liang Jiaqing
5ec4b12b63
ga: map Bash/PowerShell tool calls to code_run; conductor: restrict CORS/WS origin & trusted host to localhost; mem SOP: prune stale facts, L2 keeps file pointers
2026-11-02 10:11:21 +08:00
Liang Jiaqing
be17b0adc5
ga: add claude_compat (off/simple/half) replacing fake_cc_system_prompt hack
...
- llmcore: _cc_system() builds payload system blocks; net 0 lines
- half injects assets/cc_system_template.txt (CC fingerprint for relay gateways)
- legacy fake_cc_system_prompt=True maps to simple
2026-10-31 16:49:00 +08:00
Liang Jiaqing
754acfd76f
ga: fix grammar of L1 full-write guard msg
2026-10-31 11:16:18 +08:00
Liang Jiaqing
d4c2c54027
conductor: re-inject principles every turn (fix not stopping after dispatch); push last user msg as <user_last_msg>, GET /chat only when N>1
2026-10-31 11:16:18 +08:00
Liang Jiaqing
eaba500314
conductor: wrap user text in <user_msg> to separate it from framework instruction
2026-10-30 23:25:17 +08:00
Liang Jiaqing
8bbdfd89c7
conductor: fix no POST /chat reply - put reply instruction back into [用户消息] event line
2026-10-30 23:21:47 +08:00
Liang Jiaqing
a7f55b8442
conductor: tag pushed user messages with [用户消息]
2026-10-30 10:34:48 +08:00
Liang Jiaqing
4ca9028350
llmcore: split legacy text-protocol sessions into legacy_llmcore.py; tweak memory-distill prompt
2026-10-30 10:16:02 +08:00
Liang Jiaqing
5dee7f4bd3
conductor: push unread user msgs into prompt (mark read after turn), identity in sys prompt, expose subagent llm/log
2026-10-30 10:16:02 +08:00
Liang Jiaqing
694d3e3aaf
refactor(conductor): clarify strategic delegation prompt
2026-10-23 10:45:24 +08:00
Liang Jiaqing
a9a36b4b21
fix: broaden DSML tail detection to independent markers
2026-10-23 07:54:26 +08:00
Liang Jiaqing
545017cea0
fix(ga): web_execute_js 归一化非str的script参数,避免AttributeError中断agent循环
2026-10-22 10:31:42 +08:00
Liang Jiaqing
b70079dce7
fix: simplify OCR CUDA initialization and clarify memory rules
2026-10-21 19:44:38 +08:00
Liang Jiaqing
7c79515cf7
fix: detect malformed DSML closing tags near response end
2026-10-21 17:57:30 +08:00
Liang Jiaqing
e6b1bcec92
hub: spawn lightweight phone sessions and close via existing put
2026-10-20 18:11:25 +08:00
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