95 lines
1.9 KiB
Markdown
95 lines
1.9 KiB
Markdown
# Phase 06: 输入框 @ 引用文件能力 - Discussion Log
|
||
|
||
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
||
> Decisions are captured in CONTEXT.md — this log preserves alternatives considered.
|
||
|
||
**Date:** 2026-04-15
|
||
**Phase:** 06-input-mention-files
|
||
**Areas discussed:** 引用来源范围, @触发方式, 输入框展示形态, 提交数据结构, 同名去歧义, 失效与上限策略
|
||
|
||
---
|
||
|
||
## 引用来源范围
|
||
|
||
**Options presented**
|
||
- A: 仅当前线程(artifacts + uploads)
|
||
- B: 当前 workspace 最近线程
|
||
- C: 全局跨线程
|
||
|
||
**User selection**
|
||
- A
|
||
|
||
**Notes**
|
||
- 用户选择稳定优先,避免跨线程复杂度与歧义扩散。
|
||
|
||
---
|
||
|
||
## @ 触发方式
|
||
|
||
**Options presented**
|
||
- A: 输入 `@` 立即弹候选,继续输入即过滤
|
||
- B: `@` 后至少 1 字符才弹
|
||
- C: 不靠 `@`,仅按钮打开
|
||
|
||
**User selection**
|
||
- A
|
||
|
||
---
|
||
|
||
## 输入框展示形态
|
||
|
||
**Options presented**
|
||
- A: 可删除标签(chip)
|
||
- B: 纯文本 `@文件名`
|
||
- C: 标签 + 文本混合
|
||
|
||
**User selection**
|
||
- A
|
||
|
||
---
|
||
|
||
## 提交数据结构
|
||
|
||
**Options presented**
|
||
- A: 复用 `additional_kwargs.files` 并增加来源元信息
|
||
- B: 新增 `additional_kwargs.referenced_files`
|
||
- C: 正文特殊标记
|
||
|
||
**User clarification**
|
||
- 用户先询问“`additional_kwargs` 是什么数据结构”,确认后给出“复用”。
|
||
|
||
**Final selection**
|
||
- A(复用)
|
||
|
||
---
|
||
|
||
## 同名文件去歧义
|
||
|
||
**Options presented**
|
||
- A: 文件名 + 类型徽标 + 路径尾段
|
||
- B: 仅文件名
|
||
- C: 发送时二次确认
|
||
|
||
**User selection**
|
||
- A
|
||
|
||
---
|
||
|
||
## 失效与上限策略
|
||
|
||
**Options presented**
|
||
- A: 软失败 + 最多 10 个
|
||
- B: 硬失败 + 最多 20 个
|
||
- C: 不设上限
|
||
|
||
**User selection**
|
||
- A
|
||
|
||
---
|
||
|
||
## Final Decision Snapshot
|
||
|
||
- 1A 2A 3A 4A(复用) 5A 6A 全部锁定。
|
||
- 本阶段目标保持在“当前线程内 @ 引用文件”边界,不引入跨线程能力。
|
||
- 新增要求:`@` 触发后的文件候选面板必须使用 dropdown 组件实现。
|