Xubin Ren
72d3ce6b23
fix(skills): make PNG weather example Windows-safe
2026-08-12 02:48:03 +09:00
Kail Tian and Xubin Ren
b14ac4c401
fix(skills): make weather workflow Windows-safe
2026-08-12 02:48:03 +09:00
chengyongru and GitHub
d45c893f68
fix(webui): surface MCP runtime connection failures ( #5331 )
2026-08-11 23:52:02 +08:00
Xubin Ren
247c474e64
perf(plugins): cache verified skill roots
2026-08-11 20:16:24 +09:00
Xubin Ren
a2979c3a4b
fix(plugins): harden activation boundaries
2026-08-11 20:16:24 +09:00
Xubin Ren
d5e0df6963
feat(plugins): integrate portable Agent Plugins
2026-08-11 20:16:24 +09:00
chengyongru and GitHub
8e77f3f8a4
feat(mcp): add browser OAuth for remote servers ( #5316 )
2026-08-10 23:44:37 +08:00
chengyongru and GitHub
85a452e5c7
refactor(agent): replace reflective runtime state access ( #5319 )
2026-08-10 16:44:26 +08:00
chengyongru and GitHub
55ecda275d
test: strengthen user-path coverage and CI gates ( #5308 )
2026-08-09 21:37:06 +08:00
Xubin Ren
c410ea444c
fix(agent): stop session-owned exec processes
2026-08-08 23:20:59 +08:00
chengyongru and Xubin Ren
a5bc3bfbb9
fix(webui): complete temporary chat mode
2026-08-08 23:20:59 +08:00
Xubin Ren
c9a6145878
feat(webui): add temporary chat mode
2026-08-08 23:20:59 +08:00
chengyongru and chengyongru
113e8d67ad
refactor: remove verified dead code
2026-08-08 21:10:34 +08:00
chengyongru and chengyongru
cdb2a474f9
refactor(webui): remove legacy session messages route
2026-08-07 15:16:57 +08:00
chengyongru and GitHub
ff6deda178
fix: modernize dependency recovery guidance ( #5282 )
2026-08-07 13:58:13 +08:00
chengyongru and chengyongru
2c7943a133
fix(memory): archive short idle sessions for Dream
2026-08-07 11:45:49 +08:00
chengyongru and chengyongru
8dfce4c162
fix(session): require user anchor for delivery retention
2026-08-07 10:53:55 +08:00
ziuus and chengyongru
60282d1588
fix(session): preserve proactive channel delivery during session retention trimming
2026-08-07 10:53:55 +08:00
chengyongru and GitHub
6e9ae5bd05
refactor(session): remove request-scoped access grants ( #5238 )
2026-08-05 10:18:46 +08:00
chengyongru and chengyongru
f45436b61d
fix(commands): reject invalid slash commands
2026-08-04 17:11:44 +08:00
Xubin Ren
d99f589a59
refactor(session): clarify reference boundaries
2026-08-04 12:14:51 +08:00
Xubin Ren
d8aeb0eb2c
refactor(session): simplify cross-session flow
2026-08-04 12:14:51 +08:00
Xubin Ren
62d34b5eb7
refactor(session): tighten cross-session access
2026-08-04 12:14:51 +08:00
Xubin Ren
f15ea84dd1
fix(session): enforce trusted read scope
2026-08-04 12:14:51 +08:00
Xubin Ren
4c07c40b34
feat(session): link agent references
2026-08-04 12:14:51 +08:00
Xubin Ren
5dd3dc5450
fix(session): harden cross-session references
2026-08-04 12:14:51 +08:00
Xubin Ren
9b25da7b92
feat(session): add cross-session references
2026-08-04 12:14:51 +08:00
Xubin Ren
39e1533c3b
fix(gateway): make resource teardown cancellation-safe
2026-08-03 16:00:39 +08:00
santhreal and Xubin Ren
4c387f6633
fix(memory): handle non-string timestamp and missing role in raw_archive
2026-08-01 20:14:28 +08:00
KDB and Xubin Ren
39bb20c76b
fix(session): tolerate malformed persisted session summary
...
AutoCompact.prepare_session runs on the turn hot path
(AgentLoop._compact_session) and read the persisted _last_summary metadata
with an unguarded meta['text'] and datetime.fromisoformat(meta['last_active']).
A _last_summary dict that was hand-edited or written by another version
(missing text/last_active, or a non-ISO last_active) raised KeyError/ValueError
out of the turn.
Sibling readers already tolerate the same data: estimate_session_prompt_tokens
uses .get('text') and _archive parses inside try/except. Mirror that tolerance:
skip when text is unusable, and fall back to the session's own updated_at (the
value the writer persists) when last_active is missing or unparseable, so the
archived summary is preserved instead of crashing the turn.
2026-08-01 19:29:16 +08:00
chengyongru and GitHub
6a1a45d07a
feat: preserve Responses reasoning state and compact context ( #5172 )
2026-07-30 22:39:43 +08:00
Solaris-star and Xubin Ren
511c764f45
fix(agent): route finish_reason='length' with blank content to length recovery
...
When an LLM response arrives with finish_reason='length' and has_tool_calls
but blank text content (e.g. the model spent its whole output budget on a
tool call whose closing tag was truncated), the runner dropped the tool
calls and then misrouted the blank response into the empty-response retry
branch. Retrying the same prompt cannot recover from output-budget
exhaustion, so every retry hit the same length ceiling and the turn ended
in the generic apology.
The length-recovery branch was gated on 'finish_reason == length and not
is_blank_text(clean)', so a blank-but-truncated turn could never reach it.
- The empty-response retry branch now excludes finish_reason == 'length'
(in addition to 'error').
- The length-recovery branch no longer requires non-blank content, so a
blank-but-truncated turn enters recovery and appends
build_length_recovery_message (which handles a blank tail safely).
Adds a regression test asserting the length-recovery path is taken; it
fails on the unfixed code and passes with the fix.
Fixes #5133
2026-07-30 19:55:19 +08:00
Xubin Ren
0eac82984c
test(mcp): stabilize idle reconnect timing
2026-07-30 19:44:09 +08:00
yu-xin-c and Xubin Ren
9ec4420104
fix(agent): release idle session locks
2026-07-30 19:17:37 +08:00
KDB and Xubin Ren
e633f867e8
fix(session): tolerate invalid idle-compaction timestamps
2026-07-30 18:52:16 +08:00
chengyongru and GitHub
e2563e2e74
refactor(cli): split commands into focused modules ( #5175 )
2026-07-30 15:01:35 +08:00
chengyongru and GitHub
c33c188afb
fix(session): preserve history during idle compaction ( #5167 )
2026-07-30 10:45:45 +08:00
Xubin Ren
ba0ba4749d
feat(webui): add skills marketplace
2026-07-30 01:13:37 +08:00
chengyongru and GitHub
757ad9c764
refactor: enforce BasedPyright strict type checking ( #5158 )
2026-07-29 21:37:11 +08:00
e703481755
fix(memory): expose media references to session consolidation ( #5157 )
...
Co-authored-by: shakewingo <yaoyingshakewin@gmail.com >
Co-authored-by: bingqilinweimaotai <111987281+bingqilinweimaotai@users.noreply.github.com >
2026-07-29 15:18:44 +08:00
chengyongru and GitHub
393d429e0a
fix(ci): stabilize and speed up CI ( #5145 )
2026-07-28 22:55:59 +08:00
chengyongru and GitHub
0c6c0438d4
feat(config): add actionable startup diagnostics and WebUI recovery ( #5110 )
2026-07-28 18:52:05 +08:00
chengyongru and chengyongru
ae089aa3ae
fix(webui): reconcile threads after browser resume
2026-07-28 16:25:08 +08:00
chengyongru and chengyongru
78cf68c291
fix(agent): snapshot active tasks before cancellation
2026-07-28 15:42:52 +08:00
chengyongru and Xubin Ren
fd17c1352a
fix(sdk): harden host integration contracts
2026-07-28 15:30:28 +08:00
chengyongru and Xubin Ren
c050955ae3
feat(sdk): add host integration extension points
2026-07-28 15:30:28 +08:00
chengyongru and GitHub
12f828ea3d
fix(agent): read document attachments on demand ( #5122 )
2026-07-28 13:33:06 +08:00
chengyongru and GitHub
ef9e687f19
refactor(core): remove redundant runtime scaffolding ( #5127 )
2026-07-28 11:07:58 +08:00
chengyongru and GitHub
f78ad59ed0
fix(memory): preserve Dream input integrity ( #5114 )
2026-07-27 21:37:13 +08:00
yu-xin-c and Xubin Ren
7fd28c9f06
fix(memory): preserve unprocessed dream history
2026-07-27 15:47:21 +08:00