Commit Graph
4244 Commits
Author SHA1 Message Date
chengyongru f9d449ef6c refactor(webui): isolate websocket application orchestration (#5548)
* refactor(webui): extract session attach projection

* refactor(webui): isolate websocket application orchestration

* refactor(webui): tighten websocket application boundary

* test(webui): assert module logger for fork failures
2026-08-26 18:04:38 +08:00
chengyongru a618e80887 refactor(agent): reduce loop runner parameter plumbing 2026-08-26 17:50:52 +08:00
chengyongru c62aec0175 fix(session): reject read_session match-all patterns 2026-08-26 16:58:29 +08:00
bingqilinweimaotai 23dc344b8d fix: allow unfiltered read_session calls 2026-08-26 16:58:29 +08:00
chengyongru 56aa7296f3 refactor(agent): make checkpoint recovery ownership explicit 2026-08-26 16:33:59 +08:00
qtds 9f5a56f1ec fix(gitstore): detect rapid same-size rewrites 2026-08-26 16:19:10 +08:00
chengyongru 9d34fc5af2 refactor(agent): remove loop iteration state (#5549)
* refactor(agent): remove loop iteration state

* docs(my): remove stale iteration guidance
2026-08-26 15:57:47 +08:00
chengyongru 4f6c0aedfa refactor(agent): make run usage explicit (#5546)
* refactor(agent): make run usage explicit

* fix(api): capture usage per run
2026-08-26 15:18:53 +08:00
chengyongru 0c84725b13 fix(gateway): retry MCP readiness before turns (#5535) 2026-08-26 11:29:48 +08:00
zpljd258 a8ffe0f136 fix(webui): project generated titles onto per-chat sessions under unifiedSession
With unifiedSession enabled, all turns are routed to the shared
unified:default session, so title generation, persistence, and change
notifications all happen on that shared session. The WebUI sidebar,
however, renders per-chat websocket:<id> sessions, so generated titles
never reach the session the user sees and every chat stays "Untitled".

Pass the origin chat_id through maybe_generate_webui_title_after_turn and
add a target_session_key to maybe_generate_webui_title so the title is
written to the per-chat session while conversation content still comes
from the shared (routed) session. When the routed session differs from
the per-chat session, the latest user/assistant exchange is used as the
title prompt since the shared session mixes content from every channel.
The shared session's title metadata is no longer read or written, so
stale shared titles can no longer leak into per-chat sessions.
2026-08-26 10:52:56 +08:00
chengyongru 42f37dc4c0 fix(provider): stabilize Codex prompt cache routing (#5540) 2026-08-26 01:36:00 +08:00
chengyongru 3ee3791626 refactor(tui): clarify active composer actions (#5538)
* fix(tui): queue busy submissions on Enter

* fix(tui): remove Tab queue shortcut

* refactor(tui): clarify active composer actions

* refactor(tui): simplify active composer hint
2026-08-26 00:46:31 +08:00
chengyongru c83ed041ea fix(tui): prevent unmatched skill completion from queuing 2026-08-25 23:11:24 +08:00
chengyongru b218d3e7f8 feat(tui): autocomplete skill references 2026-08-25 23:11:24 +08:00
chengyongru 649e3958c5 fix(tools): bound find_files scans 2026-08-25 18:40:49 +08:00
chengyongru e308f7fdd4 test(agent): remove obsolete blocking drain case 2026-08-25 17:56:16 +08:00
chengyongru 66d9328a00 fix(agent): defer subagent wait until turn exit 2026-08-25 17:56:16 +08:00
Kail Tian e427c9eeae style(tui): keep short transcripts and composer top-aligned 2026-08-25 16:21:44 +08:00
chengyongru 4b2965c8f3 feat: add demand-driven document retrieval (#5525) 2026-08-25 15:34:48 +08:00
chengyongru 5cf78540a4 fix(agent): wait for exec sessions without polling (#5526) 2026-08-25 14:46:02 +08:00
chengyongru e723ea6b7e docs(config): mark failOnToolError deprecated 2026-08-25 11:54:40 +08:00
chengyongru 8332c604da fix(agent): let subagents recover from tool errors 2026-08-25 11:54:40 +08:00
chengyongru 2e7ebeb1ca fix(usage): record provider stream timing 2026-08-25 10:39:14 +08:00
Xubin Ren 7fb0811fbb fix(agent): honor selected project workspace 2026-08-25 02:14:02 +08:00
chengyongru 2ac802b2d5 feat(usage): add unified provider usage backend 2026-08-25 01:22:25 +08:00
chengyongru 8bb3828487 fix(tui): preserve usage telemetry fields 2026-08-25 01:04:25 +08:00
chengyongru 9895c23cb5 refactor(providers): define typed usage contract 2026-08-25 01:04:25 +08:00
chengyongru 89c94d8744 test(exec): remove Windows process timing races 2026-08-25 00:53:54 +08:00
chrischen-coder f5e467626d fix(agent): time out no-tools model requests 2026-08-25 00:34:01 +08:00
chengyongru 04974b7607 fix(webui): preserve causal message order (NAN-29) (#5503) 2026-08-24 15:08:22 +08:00
chengyongru 7f288a49fc fix(tui): preserve shell after Ctrl+C (#5502) 2026-08-24 14:32:48 +08:00
chengyongru 09d3bd76c9 fix(exec): disable command guard in full access 2026-08-24 11:44:00 +08:00
chengyongru b1cadf53c5 fix(codex): reuse TLS contexts across requests 2026-08-24 11:25:02 +08:00
Xubin Ren baa0233377 fix(tui): preserve draft scope until first message 2026-08-24 10:40:16 +08:00
Xubin Ren d50a2fab32 fix(tui): avoid saving empty sessions 2026-08-24 10:40:16 +08:00
Xubin Ren 8344066696 style(tui): frame recovery decisions 2026-08-24 00:58:04 +08:00
Xubin Ren 5accc903a0 refactor(tui): simplify session rows 2026-08-24 00:58:04 +08:00
Xubin Ren 1f0771c555 feat(tui): refine session status navigation 2026-08-24 00:58:04 +08:00
Xubin Ren 2850114eab feat(tui): surface session activity states 2026-08-24 00:58:04 +08:00
Xubin Ren 7e66375f59 fix(tui): clarify interrupted task actions 2026-08-24 00:58:04 +08:00
Xubin Ren 2cdfba38b2 fix(runtime): preserve interrupted turns on gateway exit 2026-08-24 00:58:04 +08:00
Xubin Ren c7e2a474a0 fix(runtime): normalize recovery session routing 2026-08-24 00:58:04 +08:00
Xubin Ren 58a1cc48d8 fix(tui): allow switching active sessions 2026-08-24 00:58:04 +08:00
Xubin Ren 41a2104244 docs(readme): simplify terminal quick start 2026-08-24 00:58:04 +08:00
Xubin Ren 12029f8812 feat(runtime): add user-controlled turn recovery 2026-08-24 00:58:04 +08:00
chengyongru ffa58aa5ef fix(webui): keep answer text outside reasoning shell 2026-08-23 21:29:42 +08:00
Xubin Ren 1e9d46fb36 fix(cli): name roles through legacy launchers 2026-08-23 21:13:14 +08:00
Xubin Ren ab7351be63 fix(cli): skip process title dependency on Windows 2026-08-23 21:13:14 +08:00
Xubin Ren cfc872fb52 fix(cli): harden process identity portability 2026-08-23 21:13:14 +08:00
Xubin Ren cfc1fae8b5 feat(cli): expose nanobot process identities 2026-08-23 21:13:14 +08:00