0.2.20#648
Merged
Merged
Conversation
Support long-running bash in the background with XML completion notices, idle-turn UI separation, 10k output summaries, full logs under thread data, and sandbox-safe output_file reads. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Settings should show global Kun state instead of filtering memories and skill roots by the sidebar's selected project. List all memories in the settings panel, require an explicit target path when creating scoped memories, and mutate records using their stored workspace paths. Co-authored-by: Cursor <cursoragent@cursor.com>
Let users adjust chat message and composer column width from General settings via a persisted CSS variable. Co-authored-by: Cursor <cursoragent@cursor.com>
Persist injected memory previews on turns and surface them in timeline tooltips so users can inspect what context was applied without opening settings. Co-authored-by: Cursor <cursoragent@cursor.com>
- Remove left border line from thinking process and tool call sections - Change thinking process text color to text-ds-faint (darker) to match tool calls
Improve idle callback presentation with BellRing headers, parameterized background_shell tool labels, and client-side notice detection that no longer overwrites the active user prompt on steered completion events. Co-authored-by: Cursor <cursoragent@cursor.com>
- load-kun-diagnostics.test.ts: cast null runtime/tool mocks so the provider satisfies DiagnosticsProvider (fixes #635 typecheck failure) - chat-store-navigation-actions.test.ts: add applyChatContentMaxWidth to the apply-theme mock so settings-apply doesn't throw (fixes #636 nav test) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Merge latest develop and narrow background-shell runtime test mocks, update steering queue usage in loop.test, and align tool bubble chip assertions with hideTurnDisclosure behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
feat(runtime): background shell sessions with idle callback UI
…640) The read-before-edit guard rejected an `edit` whenever the preceding `read` happened in an earlier turn. Agent responses routinely span multiple turns (long replies, or tool results arriving as separate turn items), so a read-in-turn-A then edit-in-turn-B sequence is legitimate, yet the turnId guard blocked it — forcing a fallback to sed/bash that mangles whitespace and indentation. Remove the turnId guard. Freshness is still enforced: requireOldTextInRead checks the oldText fragments against the cached read content, and the edit's own fuzzy matching runs against the current bytes on disk, so a stale SEARCH string fails there with a clear error instead of corrupting the file. Adds read-tracker.test.ts to lock in the behavior. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…nects (#639) An unexpected MCP disconnect (e.g. the server's network drops) could restart the whole runtime and blank the GUI. Serve mode treated every unhandledRejection as fatal and called process.exit, so a stray background rejection from MCP transport churn took the runtime down and the GUI supervisor then restarted it. - Split the serve crash handlers: uncaughtException still does a bounded graceful close + non-zero exit (the process state is genuinely unsafe), but unhandledRejection is now logged and non-fatal — Node keeps running. Extracted into serve-crash-handlers.ts so it is unit-testable without triggering serve-entry's top-level main(). - Attach an onerror handler when creating the SDK MCP client so a dropped SSE stream / exhausted reconnects are logged (and surfaced as unavailable) instead of silently swallowed or escaping as unhandled. The per-call reconnect in callMcpToolWithReconnect still recovers the connection on the next tool use. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fix(mcp): harden runtime reconnect lifecycle
perf(renderer): split settings and timeline bundles
…cription integration and various enhancements
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Kun v0.2.20
这一版是 v0.2.19 之后的一次稳定性与性能补强。主线是新增后台 shell 会话,让长时间命令可以脱离当前回合继续运行并持久化输出;同时修复 MCP streamable-http 断线导致运行时不稳、跨回合编辑误拦截、前端首屏包体偏大等问题,并补上 Agent replay benchmark,方便后续用回放方式观察运行时表现。
后台 Shell 会话
background_shell能力,长时间运行的 shell 命令可以在后台继续执行,不必阻塞当前对话回合。options.dataDir,保证开发与打包环境都能找到正确位置。MCP 与运行时可靠性
文件编辑与对话体验
性能与可维护性
MAX_TURN_MODEL_STEPS及相关逻辑。测试与回归修复
升级说明
v0.2.19升级可直接通过 GUI 更新。总结
v0.2.20 把 Kun 的长命令执行和外部工具恢复能力往前推进了一步:后台 shell 让耗时任务不再绑死对话回合,MCP reconnect 修复让 runtime 更抗抖,前端拆包和 replay benchmark 则让性能优化有了更清晰的落点。