Background
#13 已经要求 Deep Research 建立 claim ↔ evidence 的双向关系,但 Copilot 日常问答还需要一个统一、稳定的 citation UX:用户不应该看到裸 URL,也不应该只能在回答末尾看到一串来源列表。
更重要的是,Folio 的 evidence 不只来自网页,还会来自结构化金融 API(#29)、本地文档和 research source,因此 citation UI 必须统一处理不同 evidence type。
Related: #13 #20 #27 #29
Requirements
Inline citation rendering
- citation 与具体 claim/text range 绑定,而不是只挂在整条 message 尾部;
- streaming 期间 citation 到达后可稳定插入,不造成正文重复或重排错位;
- 同一 source/evidence 多次引用使用稳定编号/id;
- copy/export/reload 后 citation identity 不丢失。
Source inspector
点击 inline citation 后,在 source drawer/popover/inspector 中展示适用信息:
Navigation
- 文档/网页 evidence 能定位到具体 passage 时,优先 deep-link/highlight 具体 evidence;
- structured financial evidence 跳转到可解释的数据详情,而不是伪造一个网页 URL;
- unavailable source 仍可展示已保存 provenance,并明确标记不可访问。
Acceptance Criteria
Non-goals
Background
#13 已经要求 Deep Research 建立 claim ↔ evidence 的双向关系,但 Copilot 日常问答还需要一个统一、稳定的 citation UX:用户不应该看到裸 URL,也不应该只能在回答末尾看到一串来源列表。
更重要的是,Folio 的 evidence 不只来自网页,还会来自结构化金融 API(#29)、本地文档和 research source,因此 citation UI 必须统一处理不同 evidence type。
Related: #13 #20 #27 #29
Requirements
Inline citation rendering
Source inspector
点击 inline citation 后,在 source drawer/popover/inspector 中展示适用信息:
Navigation
Acceptance Criteria
Non-goals