Commit Graph
100 Commits
Author SHA1 Message Date
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
LJQ 5802df3d1c Merge pull request #695 from wjl2023/docs/update-wechat-group-qr
docs: update WeChat group QR to group 22
2026-07-20 21:50:19 +08:00
Jiaqing Liang 2b661eb265 chore: update gitignore, memory templates, ga retry logic, llmcore beta parts 2026-07-20 15:38:01 +08:00
LJQ 5d8897ff32 Merge pull request #691 from dd3xp/main
fix(desktop): restore permissive empty-turn handling
2026-07-17 21:54:18 +08:00
Liang Jiaqing 0c67da2364 revert(ga): restore pre-c921bad empty-response check in do_no_tool
c921bad tightened blank-turn detection by stripping <thinking>/<summary>
and treating meta-only replies as empty. That is too aggressive for the
main agent loop (summary-only / thinking-only turns get forced retries).
Keep desktop_bridge behavior; only revert ga.py core path.
2026-07-15 18:20:06 +08:00
Liang Jiaqing 89632b05e3 Refine execution principles and conductor API wording 2026-07-15 18:15:08 +08:00
LJQ 20eebe7441 Merge pull request #671 from dd3xp/main
Merge desktop fork updates into upstream main
2026-07-14 21:33:44 +08:00
Jiaqing Liang 5b0b8ead6e chore: stop tracking local model instruction files
Ignore assets/glm52_instruction.txt and assets/gpt55_instruction.txt
so local customizations stay out of the repo.
2026-07-13 17:00:59 +08:00
Jiaqing Liang 0700e57597 feat: add trim_keep_prefix to keep leading messages on hard trim
Hard-delete path can preserve the first K history messages, insert a "..." gap, and strip dangling tool_use at the cut. Default 0 keeps previous behavior.
2026-07-13 16:03:40 +08:00
Jiaqing Liang 5e31b4d59a docs(project_mode): clarify cwd is ./temp to avoid nested temp/ paths 2026-07-13 15:11:43 +08:00
Liang Jiaqing b298cc1b72 refactor: make MixinSession a routed session facade 2026-07-13 11:30:13 +08:00
Liang Jiaqing 8553e98723 feat: scale tool-output limits with context_win
Add maxlen_multiplier derived from context_win (capped 3x); drives per-tool
truncation caps and history compression interval. WebScan uses half-increment
growth to avoid saturating its 35000 base. Docs updated for the new coupling.
2026-07-13 09:55:52 +08:00
Liang Jiaqing d910b689be rename verify_sop -> deliverable_audit_sop (避免名字过宽导致主agent小任务误触发验证审计SOP); ga.py: file_patch/file_write 保持原文件换行符, 修复LF文件被污染成CRLF; _arg 类型强转修复字符串false等 2026-07-12 15:09:34 +08:00
Liang Jiaqing 3a315f3e1c Fix Python compatibility and tune checkpoint intervals 2026-07-11 22:05:05 +08:00
LJQ 1c4f9ffc7b Merge pull request #679 from shenhao-stu/fix/update-prompt-overlay-merge
fix(slash_cmds): merge additive-overlay files (e.g. .gitignore) on /update
2026-07-11 10:20:34 +08:00
Liang Jiaqing 14c7734f5a Allow max OpenAI reasoning effort 2026-07-10 22:27:19 +08:00
Liang Jiaqing 9d99e9fc74 fix: isolate project mode per agent instance 2026-07-10 17:31:52 +08:00
Liang Jiaqing 3f6fb9c63b fix: persist UI history and retain recent L4 sessions 2026-07-10 14:56:36 +08:00
Liang Jiaqing 8ea8807ced Improve session controls and compact LLM logs 2026-07-10 11:40:22 +08:00
Liang Jiaqing a195bdc101 Handle Claude refusal without retry 2026-07-09 13:45:43 +08:00
Liang Jiaqing 15853775c9 Add model extra system prompt config support 2026-07-07 18:52:35 +08:00
Liang Jiaqing 91b5a14312 simplify mykey_template: remove non-native & antigravity configs, merge GLM/Kimi/MiniMax into vendor tables 2026-07-02 20:26:27 +08:00
Liang Jiaqing 94d1e2e907 Add background ljqCtrl tool and GUI SOP guardrails 2026-06-30 18:33:52 +08:00
Liang Jiaqing b636a8df61 Refine UltraPlan orchestration workflow 2026-06-30 17:22:16 +08:00
Liang Jiaqing 7ed13c009d fix(ga): turn_end summary fallback prefers cleaned response body (_c) over args dict 2026-06-28 22:24:52 +08:00
Liang Jiaqing 6c775def61 fix httpapp output auth and update ultraplan docs 2026-06-28 19:17:02 +08:00
Liang Jiaqing 1e4ca151a7 feat: support --history arg and in-memory intervene/keyinfo injection; add export_history; fix GenericAgent typo 2026-06-27 17:10:33 +08:00
Liang Jiaqing 84d5bf9291 Update loop controller and service discovery 2026-06-27 14:57:10 +08:00
Liang Jiaqing 03fe8a618c fix: limit parallel max_workers to 3 2026-06-26 19:02:03 +08:00
Liang Jiaqing f573b8f397 add ga_httpapp, update ga_ultraplan, whitelist ultraplan_sop 2026-06-26 18:01:00 +08:00
Liang Jiaqing 5de55ea872 feat(ultraplan): add phase/parallel/pipeline orchestrator with phase-tree HTML monitor
- assets/ga_ultraplan.py: 3 primitives (phase/parallel/pipeline), file-first
  message passing, runtime f-string prompt fill, subagent via subprocess,
  nested phase tree + random-port auto-popup HTML panel (1h idle self-destruct)
- agentmain.py: --nolog flag
- llmcore.py: honor log suppression
2026-06-26 15:16:11 +08:00