企信链接识别卡片产品需求文档初稿

版本:v0.1
创建日期:2026-06-23
需求来源:用户沟通 + 竞品截图实测 + 企信运行态 HTML
优先级:待确认
文档状态:草稿

需求变更记录

变更日期变更人变更内容
暂无暂无暂无

依赖需求 Story 列表

ID需求描述涉及端与开发人员是否有依赖项备注
待确认企信 Web 端链接识别卡片待确认待确认后续需要先定位企信会话详情页 Git 源码和现有消息渲染组件

一、需求概述

1.1 需求背景

当前企信消息中发送 URL 链接时,仅展示纯文本链接,用户需要先点开链接才能判断链接内容。竞品 IM 普遍对单条纯链接消息生成链接预览卡片,展示站点 logo、域名、标题和摘要,能降低误点风险,也能让群聊中的业务资料、文档、产品页更容易识别。

本需求目标不是做一个通用“漂亮卡片”,而是在企信会话消息流中,为符合条件的 URL 自动生成低打扰、可识别、可回退的链接预览卡片。

1.3 竞品现状

竞品截图
飞书飞书链接预览补充测试
企业微信企业微信链接预览补充测试
钉钉钉钉链接预览补充测试

竞品规则归纳

场景飞书企业微信钉钉初步结论
纯公开网页链接,例如 Salesforce生成卡片,展示 logo、域名、标题、摘要生成卡片,展示标题、摘要、右侧 logo生成卡片,展示域名、标题、摘要、打开按钮纯网页链接是最稳定的卡片生成场景
开放平台 / 文档网页,例如飞书开放平台生成卡片生成卡片生成卡片普通 HTML 文档页应按网页卡片处理
登录态 / SPA hash 链接,例如纷享企信链接生成弱卡片,标题多为“登录”或站点级信息生成弱卡片,标题为“登录”生成弱卡片,标题为“登录”并保留 URL无法绕过登录态;只能展示可公开获取的站点信息
文字 + 链接混排不生成卡片,仅保留可点击链接不生成卡片,仅保留可点击链接不生成卡片,仅保留可点击链接混排消息默认不生成卡片更稳,避免打断正常文本表达
多条纯链接不生成卡片,仅保留多条可点击链接不生成卡片,仅保留多条可点击链接不生成卡片,仅保留多条可点击链接三家都倾向只在“单条纯链接消息”场景触发卡片识别
PDF 文件链接不生成网页卡片,仅保留链接不生成卡片,仅保留链接生成通用“分享链接”卡片文件链接不宜按网页摘要处理,可做文件型兜底卡片
WPS / KDocs 链接生成卡片,展示 365.kdocs.cn、标题“金山文档”和邀请登录提示截图中仅展示纯链接,未生成卡片生成通用“分享链接”卡片,信息较弱WPS 链接受站点元信息、登录态和平台抓取策略影响明显
TAPD 链接生成卡片,标题为“TAPD”生成卡片,标题为“TAPD”生成通用“分享链接”卡片企业工具类登录态链接通常只能展示站点级标题

1.4 产品价值

  1. 让群聊中的链接可被快速识别:用户无需点开即可判断链接是产品官网、文档、PDF、WPS 文档、TAPD 还是内部系统链接。
  2. 降低链接误点和信息误判:登录态、PDF、抓取失败场景不伪装成完整网页卡片,明确按弱卡片或纯链接展示。
  3. 保持企信消息流稳定:优先处理单条纯链接消息,混排消息和多条链接消息默认不强制展开,避免把普通沟通消息撑高。

1.5 需求目标

  1. 当用户发送单条纯 URL 消息时,系统自动识别链接并生成链接预览卡片,展示站点 logo、域名、标题、摘要或文件信息。
  2. 当链接无法获取有效网页信息时,系统按登录态、文件型、通用站点型或纯链接进行降级展示,不生成误导性内容。
  3. 当消息为文字 + 链接混排或多条链接消息时,本期默认不自动展开卡片,仅保留原消息和可点击链接。

1.6 范围与非目标

类型内容
本期范围仅 Web 端企信会话详情页中用户发送/接收的普通 URL 链接识别与卡片展示;覆盖公开网页、开放平台文档、登录态链接、PDF 文件链接、WPS/KDocs、TAPD 等典型链接
非目标范围移动端暂不纳入本期;不绕过目标网站登录态;不解析需要企业权限的文档正文;不承诺所有网站都能拿到 logo/标题/摘要;不处理历史消息批量重刷卡片;不把当前低保真 HTML Demo 作为最终 UI 依据

二、产品方案

2.1 最终设计稿

本期 Web 端链接卡片视觉样式以以下设计图为准。该图用于确认消息流中的卡片宽度、链接文本换行、站点 logo / 域名 / 标题 / 摘要的层级,以及未识别 logo 时的占位图标。设计图中包含移动端展示参考,但本期交付范围仍仅包含 Web 端;移动端不纳入本期上线范围。

企信聊天发送链接卡片最终设计图

设计稿中已确认的展示规则:

项目规则
卡片宽度固定约 400px;在消息气泡内展示,不铺满整行
链接文本原始链接在卡片上方完整展示;超长链接允许折行展示
logo识别到网站 logo 时直接展示;未识别时使用通用链接 icon 占位
域名展示来源域名,不展示协议、路径、参数和 hash;Web 域名字号 12px,移动端参考字号 14px
标题14px 加粗,仅展示一行,超出省略
摘要Web 端 12px,最多展示两行,超出省略;移动端参考字号 14px
操作能力卡片内不展示复制、关闭预览、打开按钮;点击卡片等同点击原链接

2.2 整体方案

企信发送消息后,系统识别消息内容中的 URL。若消息内容是“单条纯链接”,则尝试生成链接预览卡片;若消息是“文字 + 链接混排”或“多条链接消息”,本期默认保留为文本消息,不自动生成卡片。

链接卡片展示应贴近 IM 消息流:卡片宽度不宜过大,优先展示站点身份、标题和摘要;信息不足时降级展示,不用空白字段撑 UI。

flowchart TD
  A["用户发送消息"] --> B{"是否包含 URL"}
  B -->|否| C["按普通文本消息展示"]
  B -->|是| D{"是否单条纯链接消息"}
  D -->|否| E["保留文本消息和可点击链接"]
  D -->|是| F["提取 URL 并请求链接元信息logo/域名/网址标题/摘要信息"]
  F --> G{"是否获取到有效网页标题/摘要"}
  G -->|是| H["展示网页预览卡片"]

2.3 链接识别规则

场景识别条件展示规则示例
单条纯链接,且带协议完整 URLURL 以 http://https:// 开头生成 1 张链接卡片
按原始完整 URL 识别、打开、转发和搜索;卡片展示时域名可简化
https://www.fxiaoke.com/XV/UI/Home#chats
不带协议裸域名文本形如 www.xxx.comxxx.com/path,且能被现有 URL 解析器识别【保持现状】默认不生成卡片,仅保留可点击链接www.fxiaoke.com
多条纯链接消息由多行 URL 或多个 URL 组成,除 URL 外无正文【保持现状】默认不生成卡片,仅保留多条可点击链接Salesforce +https://www.fxiaoke.com +https://www.fxiaoke.com/XV/UI/Home#chats
文字混排链接URL 前后存在普通正文【保持现状】默认不生成卡片,仅链接高亮可点击这是 Salesforce CRM 产品页:https://...
文件链接URL path 后缀可识别为 .pdf.ppt.pptx.doc.docx.xls.xlsx【保持现状】不识别https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
登录态 / 内部系统链接抓取结果为登录页、空标题、权限页、跳转页或仅站点级信息展示弱卡片:来源域名 + 可获取标题;纷享企信、TAPD
WPS / KDocs 链接kdocs.cn365.kdocs.cn 等域名按公开可获取信息展示;如果只能获取“分享链接”或登录提示,不强行展示文档正文金山文档邀请链接

2.4 卡片信息结构

信息项是否必需展示规则
站点 logo / 文件类型图标必需优先 favicon 或站点 logo;文件链接用文件类型图标;获取失败用通用链接图标,即小地球
来源域名必需展示主域名或完整子域名,隐藏协议、路径、参数和 hash;例如原始链接 https://www.fxiaoke.com/XV/UI/Home#chats,卡片域名展示为 www.fxiaoke.com
标题必需优先网页 title / og:title;获取失败时使用域名、文件名或“分享链接”兜底
摘要可选优先 og:description / description;无摘要时不展示空行

卡片中展示的域名是来源标识,不等同于完整链接。点击打开、消息转发、消息搜索、卡片重新渲染均以原始完整 URL 为准。

本期卡片采用飞书、企业微信方向:链接卡片是原链接消息的渲染结果,卡片本身不展示复制、关闭预览、打开按钮等额外操作。钉钉在卡片上提供复制能力,是因为其渲染卡片后原始链接文本被移除;企信本期不采用该交互。

2.6 卡片交互

操作规则
点击卡片主体打开原始 URL,行为与点击链接一致
转发转发的是原链接消息;转发到其他会话后,目标会话按链接识别规则重新渲染卡片
搜索消息搜索可命中原始链接,也可命中卡片内标题、域名、摘要等可见文本
聊天记录卡片批量转发生成的聊天记录卡片内部,暂不递归识别和渲染链接卡片

2.7 多链接不生成卡片的原因

竞品普遍只在“单条纯链接消息”时触发卡片识别,多条纯链接不生成卡片,主要是因为多链接消息的语义更接近“链接清单”而不是“分享某一个页面”。如果逐条展开,会带来几个问题:

  1. 一条消息被多张卡片撑得过高,影响 IM 消息流阅读效率。
  2. 多链接之间没有明确主次,系统无法判断用户真正想重点预览哪一个链接。
  3. 多张卡片同时触发抓取,会增加发送后解析压力和失败噪音。
  4. 转发、搜索、合并聊天记录等场景会变复杂,容易出现一条消息里嵌套多个预览块的问题。

因此企信本期建议与竞品保持一致:只有单条纯链接消息生成卡片;多条纯链接、文字混排链接、聊天记录卡片内链接均不自动生成卡片。

2.8 安全与权限边界

  1. 链接预览服务不得携带当前用户登录态去抓取第三方页面,避免越权读取内部文档或业务页面。
  2. 登录态链接不能展示当前用户才有权限看到的业务标题、客户名称、文档正文等敏感信息。
  3. 内部系统链接、WPS/KDocs、TAPD 等企业工具链接,若只能公开获取站点级信息,应展示站点级弱卡片或纯链接。
  4. 卡片中展示的标题、摘要、logo 来源于目标站点公开元信息或文件名,不应由前端根据 URL 路径自行编造。

四、规范检查项

4.1 业务文案多语言 Key

4.2 需求埋点

4.3 沙盒 / 更改集能力

不涉及。

4.4 PaaS 国际化兼容检查

ID多语接入事项是否需要注意事项
1接入翻译工作台链接标题和摘要来自第三方页面,不建议进入翻译工作台
2CRM提醒不涉及 CRM 提醒
3企信消息提醒仅影响企信消息内容展示,不应改变消息提醒内容
4支持快捷翻译能力待确认链接卡片标题/摘要是否参与翻译待确认;建议首期不翻译卡片元信息
5数据多语能力不涉及业务数据多语

4.5 操作日志说明

无。链接预览生成属于消息展示增强,不建议生成用户可见操作日志。

4.6 风险点

ID风险类型风险说明响应策略
1权限风险如果抓取服务携带用户登录态,可能把内部页面标题、文档正文展示给无权限成员抓取服务不得携带用户态;登录态链接只展示公开信息
2性能风险发送多链接消息时,实时抓取可能影响消息发送或展示速度异步抓取、超时回退、缓存元信息
3误导风险目标站返回登录页或通用标题时,卡片可能让用户误以为识别到了业务页面明确按弱卡片展示,不编造业务标题
4UI 风险卡片过高会打断 IM 消息流,尤其是多链接连续发送场景控制卡片高度,摘要最多两行,多链接数量限制待确认

4.7 上线策略

项目建议
收费标准不收费
上线节奏建议灰度
灰度原因涉及第三方链接抓取、展示降级、安全边界和消息流体验,需要先小范围验证
适用版本待确认
适用终端本期仅 Web 端;移动端暂不纳入本期