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
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
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
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
8332c604da
fix(agent): let subagents recover from tool errors
2026-08-25 11:54:40 +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
9895c23cb5
refactor(providers): define typed usage contract
2026-08-25 01:04:25 +08:00
chrischen-coder
f5e467626d
fix(agent): time out no-tools model requests
2026-08-25 00:34:01 +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
12029f8812
feat(runtime): add user-controlled turn recovery
2026-08-24 00:58:04 +08:00
Xubin Ren
48eea29313
feat(webui): unify turn observability
2026-08-22 20:51:24 +08:00
chengyongru
1fe36d5dec
fix(dream): gate cursor on run completion
2026-08-22 02:05:40 +08:00
flobo3
d853ac239f
fix(dream): advance cursor when tool errors were recovered, and report why a run did not complete
2026-08-22 02:05:40 +08:00
chengyongru
761e95b659
refactor(providers): simplify retry fallback routing
2026-08-21 16:46:38 +08:00
chengyongru
9a6dc371b3
refactor: pass retry exhaustion callbacks explicitly
2026-08-21 16:46:38 +08:00
chengyongru
f93d4c3ae4
fix(providers): retry before falling back
2026-08-21 16:46:38 +08:00
chengyongru
8ca4bd9121
fix(agent): keep default prompt paths relative
2026-08-21 11:45:05 +08:00
chengyongru
ac13ad65cd
fix(memory): preserve replay prefix on session reset
2026-08-19 18:40:20 +08:00
chengyongru
9ef1e292ea
fix(session): preserve complete transcripts
2026-08-19 18:40:20 +08:00
chengyongru
3c41d5e7f3
refactor(skills): own explicit runtime context loading
2026-08-19 18:40:20 +08:00
chengyongru
cc07ac1e12
fix(memory): avoid re-archiving recent history
2026-08-19 18:40:20 +08:00
chengyongru
f13abe0806
refactor(memory): require archive count in prompt
2026-08-19 18:40:20 +08:00
chengyongru
f63001828f
refactor(memory): guard empty summaries only on write
2026-08-19 18:40:20 +08:00
chengyongru
6bb3b33aac
fix(memory): ignore empty consolidation summaries
2026-08-19 18:40:20 +08:00
chengyongru
8a2aa0821b
fix(agent): keep explicit skills out of system prompt
2026-08-19 18:40:20 +08:00
chengyongru
ff674144d6
fix(memory): reject truncated consolidation output
2026-08-19 18:40:20 +08:00
chengyongru
16be6b0f36
refactor(memory): unify structured consolidation flow
2026-08-19 18:40:20 +08:00
chengyongru
d4de0e4e3d
test(memory): sharpen compaction coverage
2026-08-19 18:40:20 +08:00
chengyongru
87fb090d22
style(memory): minimize summary diff churn
2026-08-19 18:40:20 +08:00
chengyongru
b162019271
refactor(memory): keep session summaries structured
2026-08-19 18:40:20 +08:00
chengyongru
fa0605abd0
refactor(memory): simplify idle consolidation flow
2026-08-19 18:40:20 +08:00
chengyongru
960425b3aa
fix(memory): remove idle archive request fallback
2026-08-19 18:40:20 +08:00
chengyongru
82e50e2c91
fix(memory): avoid duplicate summary injection
2026-08-19 18:40:20 +08:00
chengyongru
93f71b61a0
fix(memory): reject tool-call-only consolidation
2026-08-19 18:40:20 +08:00
chengyongru
12a4a8c04c
fix(memory): preserve idle consolidation boundaries
2026-08-19 18:40:20 +08:00
chengyongru
7335f71c5a
perf(memory): reuse session context for idle compaction
2026-08-19 18:40:20 +08:00
chengyongru
9e046815bc
fix(webui): assign readable session handles
2026-08-19 01:15:56 +08:00
chengyongru
251a1ccd40
refactor: simplify cross-session messaging
2026-08-19 01:15:56 +08:00
chengyongru
0e184965e8
feat(webui): add lightweight session messaging via mentions
2026-08-19 01:15:56 +08:00
Xubin Ren
8eb2742c9b
test(ci): stabilize cross-platform agent checks
2026-08-17 20:56:10 +08:00
Xubin Ren
79d51be71f
feat(tui): integrate with Herdr host
2026-08-17 20:56:10 +08:00