--- phase: 06- plan: 02 subsystem: ui tags: [mention, dropdown, chip, keyboard] requires: - phase: 06- provides: reference payload contract and soft-fail behavior provides: - thread-scoped @ candidate aggregation - dropdown filtering and keyboard navigation - removable reference chips with max-limit enforcement affects: [prompt-input, submit-payload, e2e] tech-stack: added: [] patterns: - current-thread-only reference candidates - IME-safe keyboard handling for mention selection key-files: created: - .planning/phases/06-/06-02-SUMMARY.md modified: - frontend/src/components/workspace/input-box.tsx - frontend/src/components/ai-elements/prompt-input.tsx - frontend/src/core/uploads/hooks.ts - frontend/src/components/ui/dropdown-menu.tsx key-decisions: - "@候选严格限定在当前 thread 的 artifacts + uploads。" - "引用上限固定为 10,超限 toast 并阻止新增。" requirements-completed: [ATREF-01, ATREF-02] duration: 25 min completed: 2026-04-15 --- # Phase 06 Plan 02 Summary **完成输入框 `@` 引用交互闭环:候选展示、过滤、选择、chip 渲染、删除、键盘操作与上限控制。** ## Verification - `cd frontend && pnpm -s typecheck` - passed ## Outcome - 输入 `@` 可拉起 `DropdownMenu` 候选并按 query 过滤。 - 选择候选后以 chip 展示,可删除且支持去重。 - `ArrowUp/ArrowDown/Enter/Escape/Backspace` 与 `isComposing` 保护已落地。