feat(desktop): Plans tab in context panel#2226
Conversation
|
Thanks for splitting #2072 into focused pieces — this (desktop Plans tab), #2227 (TUI plan panel), and #2225 (plan-cancel abort) is exactly the breakdown I asked for. #2225 already merged. This one is CONFLICTING though (recent merges touched desktop App.tsx / context-panel / thread.tsx) — please rebase onto current main and I'll review the Plans-tab diff on its own. The master-detail layout + status badges direction looks good from the description. |
|
Thanks — the Plans tab is a nice UX direction. Same heads-up as #2227 though: the branch predates a few recently merged changes and is silently reverting them. In particular,
Worth diffing the other locales ( Could you rebase onto main and preserve those? Happy to re-review once CI is clean. |
a1bb2c2 to
b0751ba
Compare
Add a dedicated Plans tab to the desktop context panel with: - Master-detail split layout (130px plan list + Markdown body) - Status badges (active / pending / refining / completed / cancelled) - Truncated plan names with custom tooltip on hover - Auto-archive on dismiss_plan, plan_cleared, cancel, revision_required - Per-workspace localStorage keying to prevent cross-project pollution - Auto-open context panel on new plan_required, auto-release sidebar on complete - PlanApprovalCard in thread.tsx now shows compact summary + refinement progress bar with 'view full plan in right panel →' hint instead of full Markdown body Users need a persistent view of their plans without interrupting the conversation flow. The current plan approval cards bloat the thread with full plan Markdown; moving plan detail to the context panel keeps the conversation readable while making plan state always accessible. 1. Start a session with plan mode, let model submit a plan 2. Plan appears in context panel Plans tab with status badge 3. Approve — plan shows progress in panel, thread shows compact card 4. Refine — plan updates to 'refining' state with pulse animation 5. Complete all steps — plan auto-archives, panel clears 6. Switch workspace — plan archives from previous workspace are isolated
b0751ba to
d590804
Compare
好了,麻烦在看看还有什么问题没 |
esengine
left a comment
There was a problem hiding this comment.
Thanks for rebasing — this round correctly preserves the keys I flagged before (themeStyleEmber/Aurora, mcpStatusOpened/mcpRetryNone/mcpRetryQueued, removeRecent) and the ja.ts typeof en = { ...en, ... } inheritance form is back, so that part is resolved. The Plans tab itself (master-detail split, status badges, per-workspace archive, slimmer in-thread card) is a nice UX direction and CI is green now. A couple of blocking issues remain before I can merge, and note that our CI does NOT typecheck desktop/ (root tsc only covers src/ + packages/ink/, and ci.yml runs nothing inside desktop/), so these would not show up as a red check — please run tsc inside desktop/ locally:
-
i18n key still in use was deleted.
webSearchEngineBingIntlis removed from en.ts/de.ts/zh-CN.ts, but settings.tsx still renders the bing-intl<option>viat("settings.webSearchEngineBingIntl")and ja.ts still defines it. Please restore that key in en/de/zh-CN — it's unrelated to the Plans tab and is still referenced. -
EN/JA mismatch. en.ts drops thread.toolCalls/oneToolCall/sendFeedback/skipFeedback/cancelFeedbackLabel/refineFeedbackLabel, but ja.ts still lists them (lines ~824-842). Since the locales are typed
: typeof en, please remove those six stale keys from ja.ts so the four locales stay key-symmetric, then confirm desktop'stscreports 0 errors. -
Unrelated changes bundled in. This PR also rewrites the MCP tools tab (drops the health strip, the all/ready/failed filter, retry-all/open-settings, and McpServerCard) and the thread's AssistantMsg (removes consecutive tool-call grouping and the WithToolPaths tool-path linkification). TabRuntime still passes onOpenMcpSettings/onEditMcpSpec/onRetryMcpSpec, which ContextPanel now ignores. None of this is in the PR description. Please either revert these to match main or split them into a separate, clearly-described PR (and remove the now-dead MCP props).
-
Tests. Could you add a few reducer unit tests for the new branches — approve/cancel/refine in resolve_plan, the in-place refine update on $plan_required, archiving on dismiss_plan/$plan_cleared/$revision_required, and the plans_loaded_for_workspace workspace guard? App.test.ts currently only adds
planArchived: []to the fixture.
Once 1-3 are fixed (and ideally 4), and since CI can't see the desktop build, a quick screenshot of the Plans tab in active/refining/done states would let me confirm the rendering. Happy to re-review right after.
|
还需要稍等一下,现在出了点小问题按钮无法点击,修复后我会再次推送
小龙
***@***.***
|
b40e0f6 to
d590804
Compare
|
🙏 真诚感谢您的贡献! 感谢您为 DeepSeek-Reasonix v1 分支提交的 PR。v1 目前已 完全停止维护,项目已全面迁移至 v2 (Go rewrite)。 由于 v1 已不再接受代码变更,此 PR 将被关闭。 我们非常欢迎您将这些修复贡献到 v2 分支! 请查看 v2 Issues 或基于 再次感谢您的时间和精力!❤️ |





What
Add a dedicated Plans tab to the desktop context panel with:
Why
Users need a persistent view of their plans without interrupting the conversation flow. The current plan approval cards bloat the thread with full plan Markdown; moving plan detail to the context panel keeps the conversation readable while making plan state always accessible.
How to verify
What
Why
How to verify
Checklist
npm run verifypasses locally (lint + typecheck + tests + comment-policy gate)Co-Authored-By: Claudetrailer in commitsCHANGELOG.md— release notes are maintainer-written at release time