Skip to content

[Copilot Evidence] Add unified inline citations and a source inspector #30

Description

@helsome

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

  • Copilot answer 中 citation 能绑定到具体 claim/text range。
  • 至少统一支持 web evidence 和 structured financial evidence 两类来源。
  • citation 可在 streaming 中增量出现且不会重复编号/闪烁错位。
  • 点击 citation 能看到 provenance/as_of/retrieved metadata。
  • source drift、stale data、provider conflict 等状态能在 inspector 中显式呈现。
  • conversation reload、copy/export 后 citation reference 仍然可解释。
  • keyboard navigation / basic accessibility 可用。
  • PR 必须附一条真实 Copilot 回答,混合至少一个网页来源与一个金融 API 事实,并录制从正文 citation 打开对应 evidence 的完整路径。

Non-goals

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

claimedClaimed by a contributor and currently in progress

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions