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 and GenericAgent
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
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
Kailigithub
b4aeb005b5
fix(desktop): scroll to bottom when switching to active session
...
Closes #683 — switching to a session whose agent is still
streaming left the viewport pinned near the user's last message
instead of jumping to the latest draft. Mirror the existing
refreshEmptyState(sess); scrollBottom(true) pattern from
sibling render paths so setActiveSession lands at the bottom.
2026-07-29 03:09:48 +08:00
鎽不羁 and Fwind43
555d7bc374
fix: map reasoning_effort max to Claude output_config.effort ( #707 )
...
Co-authored-by: Fwind43 <Fwind43@users.noreply.github.com >
Prevents silent downgrade of reasoning_effort=max to medium under fake_cc_system_prompt.
2026-07-28 23:30:00 +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
Solaris-star
e24389eba7
fix: make long-prompt temp files unique under concurrency ( #693 )
...
Use pid+nanos for user_prompt temp filename to avoid same-second collisions under concurrent --func / run_subagents.
Fixes #665
2026-07-20 21:54:37 +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
wjl2023
7412816ec6
docs: update WeChat group QR code to group 22
...
Replace the README community QR with the current WeChat experience group image (wechat_group22.jpg) following the existing numbering convention.
2026-07-20 16:39: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
dd3xp
cbcbf85764
release desktop portable v0.1.8
2026-07-17 03:20:54 -04:00
dd3xp
1080f9ee0a
revert desktop strict empty-turn handling
2026-07-17 03:02:28 -04:00
dd3xp
d7eae2a8cf
release desktop portable v0.1.7
2026-07-16 02:40:25 -04: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
Kailigithub
425ec1a02e
fix(tmwebdriver): wrap prints in safe_print to survive stdout revoke ( #673 )
...
When OS revokes master stdout, bare print() raises BrokenPipeError and aborts WS handle before tab registration, causing stale web_scan data and extension reconnect loops. Mirror ga.py safe_print across TMWebDriver log sites.
Closes #672
2026-07-14 20:11:55 +08:00
dd3xp
3a30cda63c
release desktop portable v0.1.6
2026-07-14 00:54:32 -04:00
dd3xp
5887450e6a
Merge upstream main into desktop main
2026-07-14 00:47:12 -04:00
dd3xp
a10378b563
improve settings feature descriptions
2026-07-14 00:31:10 -04:00
dd3xp
58cb4cdc7c
fix desktop empty turn handling
2026-07-13 23:50:14 -04:00
Shen Hao and Shen Hao
d1d517f374
fix(slash_cmds): /update pins git commands to the repo root ( #681 )
...
The agent's default cwd is the temp/ subdirectory, where git resolves
'-- <file>' pathspecs relative to cwd. Fed the root-relative paths that
'git diff --name-only' prints, 'git checkout upstream/main -- <file>'
fails with "pathspec did not match", breaking the working-tree
reconcile steps of /update. The prompt now tells the agent to run every
git command from the repo root (_ROOT), in both EN and ZH.
Co-authored-by: Shen Hao <shenhao-stu@users.noreply.github.com >
2026-07-13 19:28:03 +08:00