deerflow2/.planning/phases/07-phase-06-mention-upload/07-02-SUMMARY.md

60 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
phase: 07-phase-06-mention-upload
plan: 02
subsystem: gap-closure
tags: [context-menu, priority-hint, skill-id, references, e2e]
requires:
- phase: 07-phase-06-mention-upload
provides: 07-01-SUMMARY.md
provides:
- 修复右键打开 ContextMenu 时误触发“引用”的问题
- 优先提示前缀统一为“XClaw优先使用”并与展示层剥离规则对齐
- 提交态 Skill 拼接使用 skill_id避免使用展示名 title
affects: [frontend-chat-input, message-render, thread-submit-payload]
tech-stack:
added: []
patterns:
- explicit-click-only context-menu reference action
- submit/display separation with stable id-based hint composition
key-files:
created:
- .planning/phases/07-phase-06-mention-upload/07-02-SUMMARY.md
modified:
- frontend/src/components/workspace/artifacts/artifact-file-list.tsx
- frontend/src/components/workspace/messages/message-list-item.tsx
- frontend/src/core/threads/priority-hint.ts
- frontend/src/core/messages/utils.ts
- frontend/src/core/threads/hooks.ts
- frontend/src/core/threads/hooks.test.ts
- frontend/tests/e2e/input-and-compose.spec.ts
key-decisions:
- "ContextMenu 引用动作仅绑定显式点击,移除 onSelect 触发路径。"
- "优先提示统一改为 XClaw 前缀,并同步更新消息展示剥离规则。"
- "Skill 拼接数据源统一使用 selectedSkills.skill_id。"
requirements-completed: [P7-01, P7-02, P7-03, P7-04]
duration: 35 min
completed: 2026-04-17
---
# Phase 07 Plan 02 Summary
完成了 Phase 07 的 3 个 UAT gap closure引用误触发、提示前缀唯一化、Skill 提示标识稳定化。
## Implemented
- 将 artifact 列表与消息附件中的 `ContextMenuItem` 引用动作从 `onSelect` 改为 `onClick`,避免仅右键打开菜单就自动引用。
- `priority-hint` 规则升级为 `XClaw优先使用...`并保持“附件在前、Skill 在后、大小写不敏感去重”。
- `stripPriorityHintSuffix` 同步匹配新前缀,确保消息区继续只展示用户原文。
- `hooks.ts` 在两条发送链路中均改为使用 `selectedSkills.skill_id` 参与提交态拼接。
- 单测与 E2E 断言同步更新到新前缀。
## Verification
- `node --test frontend/src/core/threads/hooks.test.ts`7 passed
- `cd frontend && pnpm -s typecheck`passed
- `cd frontend && pnpm -s test:e2e --grep "DF-INPUT-008A|reference|context menu"`1 passed
## Notes
- 本计划为 `gap_closure: true`,直接对应 `07-UAT.md` 中 3 个已诊断缺口。