feat: desktop draft welcome presets and /plan-feature command

Add starter preset chips under the composer on the desktop draft welcome
screen (explore, what changed, plan, review). Clicking a chip submits
immediately; prompt chips send a natural-language prompt, command chips
reuse built-in slash commands.

Add a new /plan-feature built-in command, modeled on /workspace-review:
visible + hidden magic prompts that run a guided, batched-question
planning dialogue (investigate the code, ask up to 3 clarifying
questions at a time, surface pitfalls, then produce an implementation
plan). Wired into command autocomplete, the submit handler, the draft
plan chip, and the Magic Prompts settings page, with i18n across all
locales.
This commit is contained in:
Bohdan Triapitsyn
2026-05-30 02:04:32 +03:00
parent 7f90ffb878
commit 2b08a51946
22 changed files with 214 additions and 2 deletions
@@ -1416,6 +1416,12 @@ export const dict: Record<I18nKey, string> = {
'chat.emptyState.startNewChat': '開始新的聊天',
'chat.emptyState.draftTitle': 'What are we working on?',
'chat.emptyState.draftTitleWithProject': 'What are we working on in {project}?',
'chat.draftPresets.explore.label': 'Explore the codebase',
'chat.draftPresets.explore.prompt': 'Give me a high-level tour of this codebase — the architecture, the main modules, and how they fit together.',
'chat.draftPresets.changes.label': 'What changed recently',
'chat.draftPresets.changes.prompt': 'Summarize what changed recently — the latest commits and the current state of this branch.',
'chat.draftPresets.plan.label': 'Start feature planning',
'chat.draftPresets.review.label': 'Review my changes',
'chat.scrollToBottom.aria': '捲動到底部',
'chat.timeline.relative.justNow': '剛剛',
'chat.timeline.relative.minutesAgo': '{count} 分鐘前',
@@ -1476,6 +1482,7 @@ export const dict: Record<I18nKey, string> = {
'chat.commandAutocomplete.command.compactDescription': '使用 AI 壓縮會話歷史以減少上下文大小',
'chat.commandAutocomplete.command.summaryDescription': '非破壞性會話總結。命令後可選填主題提示。',
'chat.commandAutocomplete.command.workspaceReviewDescription': '僅審查目前工作區中高價值的問題。',
'chat.commandAutocomplete.command.featurePlanDescription': '為新功能開始一次引導式的來回規劃工作階段。',
'chat.commandAutocomplete.badge.skill': 'Skills',
'chat.commandAutocomplete.badge.command': '命令',
'chat.commandAutocomplete.badge.system': '系統',
@@ -1591,6 +1598,7 @@ export const dict: Record<I18nKey, string> = {
'chat.chatInput.toast.compactFailed': '壓縮會話失敗',
'chat.chatInput.toast.summaryFailed': '生成總結失敗',
'chat.chatInput.toast.reviewFailed': '審查變更失敗',
'chat.chatInput.toast.planFeatureFailed': '無法開始功能規劃',
'chat.chatInput.toast.attachmentsTooLarge': '附件過大,無法傳送。請減少圖片數量或大小。',
'chat.chatInput.toast.sendAttachmentsFailed': '傳送附件失敗。請嘗試更少檔案或更小圖片。',
'chat.chatInput.toast.messageSendFailed': '訊息傳送失敗,附件已恢復。',