你的姓名 e179b36e83 feat(desktop): chat message queue + provider model UX + bundled skills
Desktop chat message queue (v0.5.2):
- Queue follow-up messages (Enter) while the agent is busy; FIFO auto-drain
  on true idle. Collapsible, height-capped to-do panel above the composer so
  it never inflates the composer. Per-item move-to-top/edit/delete/clear.
  Never drains mid-stream, during tool execution, or while a permission
  prompt is pending; Stop cancels the current turn but keeps the queue.
  Per-session isolation. In-memory only (no persistence schema change).

Also included in this commit:
- Settings provider form: model-id comboboxes + fetch-models + per-slot
  context-window auto-fill.
- Bundled skills: defineGoal, pdf, screenshot.
- Bump desktop app to 0.5.2 with release notes.

Tested: desktop tsc --noEmit; Vitest chatStore/pages/ActiveSession 136 passed
(incl. 7 queue tests); browser end-to-end queue smoke; Windows x64 NSIS
package + package-smoke PASS.
Not-tested: full check:desktop suite has pre-existing unrelated failures
(electron packaging, theme cycling, ThinkingBlock label); check:server.
Scope-risk: moderate
Confidence: medium
2026-06-08 03:31:12 +08:00

1.4 KiB
Raw Blame History

v0.5.2

新功能

  • 对话消息队列AI 处理中时,回车即可把后续消息加入「待办队列」,当前回合完成(真正 idle后按 FIFO 顺序自动逐条发送,无需等待。
    • 编辑框上方独立的可折叠「待办队列」面板,限高滚动,不再撑高编辑框
    • 队列项支持置顶 / 编辑 / 删除 / 清空
    • 仅在真正 idle 时排空:流式生成中、工具执行中、权限待确认时都不发送。
    • 停止当前生成只停当前回合,保留队列
    • 每个会话队列相互独立(按 sessionId 隔离)。

范围

  • 修改:desktop/src/stores/chatStore.ts(队列状态 + enqueue/remove/update/moveToTop/clear/drainidle 终态自动排空)、 desktop/src/components/chat/ChatInput.tsx(待办队列面板 + 回车入队 + 红色停止按钮、5 个 i18n locale 文案。
  • 仅桌面端改动;服务端 / IPC / 持久化 schema 均未改动;队列存内存、不持久化。

验证

  • cd desktop && bun run linttsc --noEmit
  • desktop VitestchatStore + pages + ActiveSession 共 136 passed含 7 个队列单测)
  • 浏览器端到端AI 工作时回车入队 → idle 后 FIFO 自动逐条处理;面板在编辑框上方、限高滚动、可折叠、置顶/编辑/删除可用
  • 本地 Windows x64 NSIS 打包 + package-smoke