-
v0.7.7: stabilize sub-agent / swarm / fanout lifecycle, Windows install, and TUI polish (#246)
Release / parity (push) Has been cancelledRelease / build (deepseek-linux-x64, deepseek, ubuntu-latest, x86_64-unknown-linux-gnu) (push) Has been cancelledRelease / build (deepseek-macos-arm64, deepseek, macos-latest, aarch64-apple-darwin) (push) Has been cancelledRelease / build (deepseek-macos-x64, deepseek, macos-latest, x86_64-apple-darwin) (push) Has been cancelledRelease / build (deepseek-tui-linux-x64, deepseek-tui, ubuntu-latest, x86_64-unknown-linux-gnu) (push) Has been cancelledRelease / build (deepseek-tui-macos-arm64, deepseek-tui, macos-latest, aarch64-apple-darwin) (push) Has been cancelledRelease / build (deepseek-tui-macos-x64, deepseek-tui, macos-latest, x86_64-apple-darwin) (push) Has been cancelledRelease / build (deepseek-tui-windows-x64.exe, deepseek-tui.exe, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelledRelease / build (deepseek-windows-x64.exe, deepseek.exe, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelledRelease / release (push) Has been cancelled发布于
2026-04-30 12:26:26 +00:00 - wip(v0.7.7): handoff baseline of partial sub-agent stabilization
Captures uncommitted work-in-progress on the v0.7.7 stabilization lane
so subsequent fixes have a stable starting point. Subsequent commits
finish the canonical SubAgentJob/SwarmJob model, fix sidebar/transcript/
footer agreement, copy/paste/cancel contract, checklist rendering, shell
summary preservation, monotonic spend, and version provenance.Refs #235 #236 #237 #238 #239 #240 #241 #242 #243 #244 #245
- release: bump workspace version to 0.7.7 (#245)
Refs #245
- fix(v0.7.7): canonical swarm card binding, monotonic spend, checklist + shell summary
- Add
swarm_card_index: HashMap<swarm_id, history_index>so overlapping
fanouts each project to their own FanoutCard. Eliminates the screenshot
contradiction where a stale background swarm's progress clobbered a
newer card (#236, #238). - Suppress fanout-class tools (
agent_swarm,spawn_agents_on_csv,
rlm,agent_spawn) fromactive_tool_status_labelso the footer no
longer reports "tool agent_swarm · 1 active" while sidebar+card show
the actual worker counts (#236, #238). - Add
App::displayed_session_cost+displayed_cost_high_waterso the
visible session+sub-agent total is monotonic across reconciliation
events (cache discounts, provisional → final). New tests: monotonicity
under negative reconciliation; duplicate dedup keeps display steady (#244). - Preserve high-signal summary lines from the truncated tail of shell
output:test result:,failures:,error[E…],Finished,
Compiling, panic markers. Stops the agent re-running cargo gates
just to see pass/fail under truncation (#242). - Render
checklist_write/todo_*results as a purpose-built
checklist card with completed/total + percent header, per-item status
markers, and a collapsing affordance for long lists. Plumbed through
the existingGenericToolCellso no new variant threading is needed (#241).
- fix(v0.7.7): Esc clears active tool entries optimistically (#243)
When Esc cancels the foreground turn we now finalize the active cell
immediately rather than waiting for the engine's TurnComplete echo to
drain. This stops the footer "tool ... · X active" chip from briefly
contradicting the cancelled state, and frees the composer for the next
message.Background
block:falseswarms are intentionally NOT killed here — they
remain durable, tracked throughswarm_jobsandswarm_card_indexso
their FanoutCard updates as workers land. Subsequentswarm_status/
swarm_result/swarm_canceltool calls see the canonical store.New focused test verifies: after Esc,
active_cellis None, the
background swarm record is preserved, andis_loadingis cleared so
the composer can submit immediately.Refs #243
#247 — npm-distributed Windows package failed at runtime because the
Rust dispatcher'sdelegate_to_tui/delegate_simple_tuilooked for a
sibling named exactly "deepseek-tui", while the actual file shipped by
scripts/install.jsisdeepseek-tui.exe. Replace both lookups with
locate_sibling_tui_binary, which:- Honours
DEEPSEEK_TUI_BINfor explicit overrides - Tries
deepseek-tui{EXE_SUFFIX}first (.exeon Windows, "" elsewhere) - Falls back to suffix-less
deepseek-tuion Windows so users who
applied the issue's manual workaround still launch successfully - Emits a platform-correct error path in the bail message
Tests:
sibling_tui_candidate_picks_platform_correct_name,
sibling_tui_candidate_windows_falls_back_to_suffixless(windows-only),
locate_sibling_tui_binary_honours_env_override.#234 — Detach the post-turn workspace snapshot so
git add -A && git commitno longer pins the engine loop afterEvent::TurnComplete.
The snapshot still runs ontokio::task::spawn_blocking, but the
engine no longer awaits itsJoinHandle, so the UI accepts input
(text, copy, paste, selection) without waiting for the bookkeeping to
finish. Cycle advance and pre-turn snapshot remain awaited — they are
correctness-sensitive and the cycle path already emits a status chip
("↻ context refreshing…") so the user has visible feedback.- chore(v0.7.7): bump npm package version 0.7.6 → 0.7.7
Required by
scripts/release/check-versions.sh("Version drift" CI
gate); the workspace was bumped to 0.7.7 butnpm/deepseek-tui/package.json
still reported 0.7.6, blocking PR #246 from going green.Refs #245
下载附件