api-chat-fields-zh.md 35 KB

/api/chat 字段与取值中文对照

当前接口(2026-09-28,F118)还包括GET /health和普通JSON的POST /api/company/classify;本页仅解释聊天SSE。事件表以聊天接口当前事件总览为准;下方旧Feature条目保留演进背景。流式正文的临时片段必须在answer_end整体替换,result不重复显示。

F074附件字段:请求pictures/files为可选URL数组,省略或空数组均可。新增attachments状态事件与result.data.attachments,来源type=user_attachment;附件不生成政策卡片。字段、错误、处理范围和预算见附件契约。

F073正文增量事件:answer_start开始、answer_delta新增片段、answer_end最终替换、answer_abort撤回草稿。data.stream_id为单次生成ID,target为summary总结或answer独立回答,sequence为片段序号,text为增量或最终正文(由事件决定),provisional为临时草稿标识。end的operation=replace、status=completed/fallback;abort的operation=discard、reason为固定失败/替换原因。原answer/summary新增可选stream_id关联同一正文,result保持原结构。详细枚举及前端去重见正文流式协议。

F043(2026-09-16 15:56):公司检索后,当前用户公司线索与唯一候选的Name或CreditCode完整精确相等时,直接获取工商/荣誉并继续回答,不发送company_selection中断。仅去除线索首尾空白,不忽略内部字符、括号、后缀或大小写;简称、多个完全匹配、无结果及失败保持确认/补问。补充全名后再次搜索也适用;工商返回仍核对KeyNo/信用代码。旧等待确认的检查点仍沿原动作恢复,新问题清空旧画像。

F042最新规则(2026-09-16):默认回答正文不附参考文献、资料依据、资料名称或原文摘录;原文、source_ids、citations及参考链接仍在结构化来源中保留。用户明确要求依据或原文时,按需提供相关短引文。此前自动展开来源的说明由本规则替代,SSE去重保持。

F042(2026-09-16 11:40):answer与summary重叠的正文由后端去重,推荐通常仅summary承载正文;独立备用结论或失败提示仍可通过answer发送。result.response/overview仍为完整快照,不表示一定存在同文answer事件。资料依据显示名称和原文,不以孤立问句结束。下方F037开场事件说明以此为准。

F037(2026-09-15 15:50):summary.text是Markdown正文,包含首段结论、按需小标题/列表/加粗与末尾三项动作;answer.text优先给出有据首段结论。progress.message改为自然服务表述,stage/status枚举不变;accepted与heartbeat也采用自然提示。详见 接口文档。

惠企政策库标识(F036,2026-09-15 15:25)

字段 中文含义
item.knowledge_type 实际来源库类型:policy惠企政策、finance金融产品、qa问答、article文章法规、service_guide办事指南、service_catalog六大服务板块
item.is_policy_library 是否来自惠企政策库;true显示“惠企政策库”,false不显示此标识
item.priority.rank 最终推荐顺序;惠企政策库整体优先,同组再按现有匹配规则排列

presentation.sorted_by=category_diversity_then_policy_library_relevance_evidence:首六卡先覆盖不同支持类别,同类优先惠企来源、问题关联及主体依据;剩余卡片保留。惠企来源标识基于实际检索来源,类别由模型按原文主要支持目的判断。详见 接口文档。

新增:next_actions(2026-09-15 14:47,F035)

2026-09-15 15:13更新:next_actions = 下一步建议,最终结果的 recommendation.next_actions保留动作数组。三项建议已并入现有 summary.text 末尾,前端继续展示总结即可;不再发送独立动作事件,不需要重复渲染动作数组。

字段 中文含义
id 本轮动作编号,非跨轮任务ID
kind 动作类型
title / description / reason 标题 / 要做什么或需回答的问题 / 为什么做
source_ids 对应的政策来源ID
citations 原文依据;source_id为来源,path为字段路径,quote为逐字引文

kind:confirm_information 补充条件信息;compare_support 比较支持内容;review_conditions 查看申报条件;choose_policy 选择继续了解的事项;prepare_question 整理具体疑问。均为建议,不代表已经执行或资格符合。完整规则见 接口文档。

适用日期:2026-09-14。配合 接口文档与完整样例 阅读。本页按实际返回层级解释英文key和固定value,不改变接口协议。

key是字段名,value是字段值。 例如 "eligibility":"not_evaluated" 表示“资格评估:未评估”;"priority":{"rank":1} 表示“展示优先级:第1位”,不是通过率。

阅读约定:[]表示数组中的每一项;下面的路径是定位字段用的写法,不是额外的接口参数。true表示是,false表示否,null表示未提供/未知,不能都当成“否”;[]表示空列表,{}表示空对象。ID、原文路径、哈希值和错误码用于程序关联,不适合作为页面正文。

例如收到progress事件时,里面的JSON可以这样读。以下是带中文注释的阅读示例(JSONC),实际接口JSON不含注释:

{
  "thread_id": "window-001", // 这个结果属于哪个会话窗口
  "request_id": "a78b17a3b38241fa83c8ee91f40ec608", // 当前这一轮请求的标识
  "data": { // 当前事件的具体内容
    "stage": "retrieve", // 处理阶段:政策与服务检索
    "status": "running", // 阶段状态:正在处理
    "message": "正在检索相关政策和配套服务……" // 前端直接展示这段中文
  }
}

1. 最常用字段:页面上显示什么

英文key / 路径 中文名称 前端展示建议
progress.data.message 当前处理提示 显示“正在检索相关政策……”
heartbeat.data.elapsed_seconds 已等待秒数 显示“已等待20秒”
answer.data.text 回答文本 普通聊天的完整回复;推荐场景的开场概述
item.data.card.name.text 政策/产品/服务完整名称 卡片标题
item.data.card.department.text 所属部门或提供机构 卡片“所属部门”
item.data.card.support_objects.text 支持对象 卡片“支持对象”
item.data.card.support_methods_standards.text 支持方式和标准 卡片“支持内容”
item.data.card.application_conditions.text 申报条件 卡片“申报条件”
item.data.match_reason 与当前问题的匹配原因 卡片“匹配原因”
summary.data.text 综合说明 所有卡片后的结论与下一步
interrupt.data.question 需要用户回答的问题 公司补问/候选确认提示
result.data.errors 本轮图流程错误列表 非空时提示本轮存在异常,不把错误码直接当回复

左侧的progress/item等是SSE事件名,不在JSON对象中。事件data内的JSON统一还有thread_id、request_id、data三项。卡片字段可能为null,先判断对象存在再取.text;可显示“原文未明确”或隐藏该栏。

2. 请求、事件与统一封装

key 中文名称 value含义
thread_id 会话窗口ID 例如window-001,同一窗口复用;不是用户ID或权限凭证
question 用户本轮输入 普通问题,或针对补问的回复字符串
request_id 本次请求ID 每次POST生成一个新ID,用于区分同一窗口的不同轮次
X-Request-ID(响应头) 请求追踪ID 与业务日志关联;拒绝请求时也可由此查日志
data 本事件的数据内容 具体结构取决于event;不是所有data都具有相同字段
event(SSE行) 事件类型 下表说明;不是JSON里的key
event固定value 中文含义 是否是最终内容
accepted 已接收问题 否,只表示接纳
progress 处理阶段更新 否,过程提示
heartbeat 等待中的存活通知 否,显示仍在处理
answer 回答文本 是,正文或概述
answer_start / answer_delta 正文流开始 / 临时新增文字 否,须等待最终校准
answer_end / answer_abort 最终替换正文 / 撤回草稿 是 / 否
attachments 本轮附件处理状态 否,失败还会有error
source 一条参考来源 是,证据详情
item 一项推荐 是,一张卡片及其依据
summary 综合说明 是,末尾结论
interrupt 等待用户补充/确认 是交互问题,尚需继续
result 本轮完整结果快照 与前面answer/item等有重复,不重复追加展示
done 本次响应流正常结束 停止本轮加载动画
error 本次响应流异常结束 显示错误并停止加载

3. 进度与完成状态

key 中文名称 说明
stage 当前阶段标识 固定英文值见下表
status 当前状态 同名字段在不同位置含义不同,必须结合路径判断
message 给用户看的说明 直接展示已返回的中文
elapsed_seconds 本次请求累计耗时 单位秒,不是剩余时间或节点单独耗时
stage的value 中文含义
session 读取会话信息
prepare 整理用户问题
analyze 识别需求;普通对话的LLM回复也在此生成
attachments 读取和识别本轮图片、文件;失败时会终止本轮
direct 输出普通对话回复
clarify 准备补问信息
search 查找公司候选(此处不是政策检索)
confirm 整理公司候选供用户确认
basic 查询工商信息
honors 查询企业荣誉/资质
handoff 汇总需求及已有信息
plan 拆解需求、规划检索
retrieve 检索政策及配套服务
recommend 分析原文、核对条件并整理回答
status所在位置 固定value 中文含义
progress.data.status running 正在处理这一阶段
progress.data.status completed 这一阶段执行结束,不保证所有业务结果成功
progress.data.status waiting_input 等待用户补充或确认
progress.data.status failed 阶段执行抛错
heartbeat.data.status processing 本次请求仍在处理
done.data.status completed 本轮流程结束,不等于审批通过
done.data.status needs_input 本轮流已结束,等待用户下一次POST继续

4. 最终result与recommendation

以下相对 result.data 解释;普通聊天的recommendation为 {},没有下面的推荐子字段。

key 中文名称 说明
response 本轮回复文本 最终快照正文;answer事件可能因去重而省略,也可能由summary承载正文
attachments 本轮附件处理记录 无附件时为空数组;处理失败时通常没有result,见附件契约
recommendation 政策/服务推荐结果 聊天为空对象;政策或具体需求为结构化对象
cipa 是否询问CIPA/海外服务平台或需要出海服务 LLM语义判断,JSON布尔true/false;result.data.cipa,识别失败默认false并保留errors,详见api-chat.md的F068说明
company_info 企查查公司信息字典 无资料为{};company为已确认公司,profile.data为完整工商字段、profile.source为来源,honors为荣誉记录/页来源/完整性与错误;随会话存Redis,详见api-chat.md的F040说明
errors 会话及图流程错误 字符串列表;不覆盖所有候选分析或检索错误

以下相对 result.data.recommendation 解释:

key 中文名称 value / 用途
overview 开场概述 与本轮response一致
conversation_kind 会话目的 policy_overview=了解政策;specific_need=解决具体需求;其他非闲聊类型见下方
audience 本轮处理对象 general=一般政策介绍;individual=个人/无需公司路径;enterprise=需要企业信息的路径,不代表公司已核实
items 推荐条目列表 每项与一个item事件的数据一致
sources 来源列表 每项与一个source事件的数据一致;可能多于推荐条目
follow_up_questions 待补充的资格条件问题 字符串列表,不等于公司interrupt中断
summary 综合结论 内容与summary事件一致
knowledge_answers 独立知识答复 source_id、title、answer、citations及exact_qa;没有推荐卡片时仍保留QA和其他有依据答复
excluded_items 未入选展示的条目 包含source_id和reason
presentation 推荐展示方式 顺序提示,见下表
retrieval_analysis_complete 本轮检索和分析是否完整 true只代表本轮有限候选处理完整,不代表没有遗漏政策
complete 本轮结果完整性标记 还考虑必要企业信息和规划等;不是获批结果,也不覆盖summary降级
company_context 公司信息获取情况 不是完整工商画像
analysis_errors 候选逐项分析错误 每项record_id=知识记录ID、code=错误码
retrieval 检索过程信息 查询及失败范围等,可用于详情或诊断
search_plan 查询拆解计划 查询方向是假设,不代表政策存在
嵌套key 中文名称 固定value中文解释
presentation.order 建议展示顺序 ["items","summary"]=先推荐卡片,再综合说明
presentation.sorted_by 排序依据标识 category_diversity_then_policy_library_relevance_evidence;首六卡分散类别,同类惠企、问题关联及主体依据优先,以items/priority为准
company_context.profile_verified 已取得身份核对后的公司工商资料 true=已取得;不代表政策资格已通过
company_context.honors_complete 荣誉获取是否完整 true=完整,false=未完整,null=无该状态/未查询
company_context.errors 公司流程错误列表 如工商查询失败等

F034仅三类:smalltalk=闲聊(含身份/能力介绍);policy_overview=政策了解(含QA和一般知识问答);specific_need=具体需求。闲聊返回空recommendation;其余两类在recommendation.conversation_kind返回。分类失败以policy_overview按原问题检索,并通过errors报告intent_analysis_failed,不增加第四个类别。旧会话记录可能保留历史枚举。

5. item与卡片字段

以下相对 item.data 或 recommendation.items[] 解释:

key 中文名称 说明
source_id 对应来源ID 与sources[].id关联
title 来源标题 页面正式名称优先显示card.name.text
card 卡片信息 各字段见下表
answer 这一条的解释正文 与外层answer事件不同,是单条政策/服务说明
match_reason 匹配原因 此处是字符串
match_basis 主体与政策的比较依据 数组,逐项记录用户/公司事实与政策条款
citations 引用列表 每条包含path、quote
conditions 条件核验列表 不是原文中所有申报条件的简单拷贝
eligibility 资格评估状态 not_evaluated=未评估;当前具体需求入选条目通常为“待确认”
recommendation_status 推荐结论说明 已是中文,如“相关政策与服务介绍”“相关线索,资格待核验”
priority 展示优先级 不表示概率
priority.rank 展示序号 1=第1项,2=第2项,数值越小越靠前
priority.basis 排序理由 已是中文,如“原检索顺序”
card内key 中文名称 value结构/含义
kind 卡片类型 F046新卡片固定policy=政策;financial_product、service仅历史结果兼容
name 正式完整名称 {text,citations},应保留完整名称
department 所属部门/提供机构 {text,citations}或null
support_objects 支持对象 {text,citations}或null
support_methods_standards 支持方式和标准 {text,citations}或null
application_conditions 申报条件 {text,citations}或null
match_reason 匹配原因信息 对象,含text、citations、subject_policy_comparisons;不是字符串
match_reason.subject_policy_comparisons 主体与政策逐项比较 与item.match_basis对应的比较数组
text 可展示文本 实际中文内容,不是英文枚举
citations[].path 引用在原始记录中的字段路径 例如/title、/raw_record/content;不是网址
citations[].quote 原文引句 逐字引用的文本

同名key要看层级:item.match_reason是文字,item.card.match_reason是对象;item.answer是单条说明,SSE answer.data.text是整轮正文或概述。

6. conditions:卡片关键资格条件(F063)

入选item.conditions最多三项,优先关键申报条件、按重要程度排序;去重且无原文不占位。固定以下四键,界面仅展示三部分:

key 展示部分 含义
dimension + status 信息方向 如“地区 · 待确认”;保留原维度及状态枚举
quote 原文要求 政策连续逐字原文,保留限制、否定和例外
user_evidence 已知信息 与要求相关的已有主体事实;空字符串显示“暂无相关信息,待确认”

不再展示或返回requirement/question/evidence_path。补问仍由next_actions/follow_up_questions提供。诊断与排除记录保留完整内部条件;“待确认”不等于“不符合”。

7. match_basis:主体事实与政策比较

key 中文名称 value含义
dimension 比较维度 需求/地区/行业/资质/主体/时间/其他;与conditions维度不完全相同
status 相关性比较结论 supports=支持相关性;conflicts=存在冲突;unknown=无法判断
fact_path 主体事实路径 例如/question=本轮原问题,/company/...=工商字段,/honors/...=荣誉字段
fact_quote 主体事实引文 用户或公司资料中的原始内容
policy_path 政策证据路径 政策原文记录内的位置
policy_quote 政策原文引句 用来比较的政策条款
explanation 比较结论解释 中文说明
fact_origin 主体事实来源类别 user=用户自述;company=工商资料;honor=荣誉资质资料
provenance 来源追溯信息 根据来源类型附带不同字段
provenance.type 来源类型说明 user_statement=用户自述
provenance.api_code 企业信息接口编号 886=公司候选查询;410=工商详情;1001=荣誉资质(主体比较通常用后两项)
provenance.fetched_at 信息获取时间 时间字符串,不是政策发布日期
provenance.page_index 原始查询页码 荣誉分页等使用

supports只能译为“有支持相关性的依据”,不能译成“已满足条件”。

8. summary与排除原因

key 中文名称 value含义
summary.text 综合说明正文 中文结论及下一步
summary.source_ids 综合说明依据的来源ID列表 对应sources[].id
summary.status 说明生成状态 generated=模型已生成;fallback=卡片摘要备用说明;no_recommendations=底层卡片摘要无推荐;exact_qa=同题QA原答案;qa_conflict=同题答案冲突;knowledge_answers=引用知识答复;no_evidence=无回答依据;unavailable=检索/分析失败
summary.citations 知识答复引文(可选) source_id关联sources,path定位原字段,quote为逐字引文
summary.notices 补充提示列表 例如资料未获取完整、同名条目处理等
summary.error 综合说明错误码 可选,summary_generation_failed=综合说明生成失败
excluded_items[].source_id 未入选条目的来源ID 可关联sources查看原文
excluded_items[].reason 未入选原因 下表释义
reason固定value 中文含义
expired 原文明示的执行/有效期限已过
ineligible 存在明确不满足的资格条件
reference_only 仅供参考,未形成可展示的具体卡片
exact_qa_answer 已有同题QA答案,不再把其他条目作为额外推荐;来源仍保留
subject_conflict 主体事实与政策条款有冲突
insufficient_personal_match 缺少针对当前主体的需求/行业/资质匹配依据
duplicate_name 与已展示条目名称重复,未合并不同版本

9. source:引用来源与原文

key(相对source.data或sources[]) 中文名称 说明
id 来源记录ID 与item.source_id关联
title 原始记录标题 可能与卡片正式名称不同
type 检索知识类型 下表释义
source 原始资料来源信息 来源对象或null,不是原文正文
full_record 完整知识记录 保留入库字段及原始内容,下面只解释统一模板字段
snapshot 知识快照标识 用来定位这批入库数据,不能当作有效期或日期
analysis_complete 这条资料是否分析完整 true/false;不表示资格核验通过
detail_anchor 页面详情锚点建议值 例如source-k_...;不是后端详情URL
source.type / retrieval.searched_types值 中文含义
policy 政策知识
finance 金融产品知识
qa 问答知识
article 文章类知识
service_guide 办事指南
service_catalog 服务目录

注意:金融知识类型是finance,F046之后不进入新卡片,仅可贡献有据回答。原始full_record.kind还可能是general=通用知识,其中指定来源且raw_record.is_policy严格为true的条目可生成政策卡片;catalog=索引目录是入库分类,当前常规搜索不查询它。is_policy_library仍仅表示惠企政策库来源,不是政策卡片准入开关。

原始source对象中的统一字段

key 中文名称
file 来源文件相对路径
locator 文件内定位信息(结构依资料类型)
sha256 来源文件内容校验值
url 原始网页地址;为空时不应自行拼接
publisher 发布机构
published_text 原文发布日期文字
updated_text 原文更新时间文字
acquired_at 资料获取时间

full_record统一模板字段

key 中文名称 / 说明
schema_version 数据结构版本
id、kind、title 记录ID、原始知识类别、标题
collection 所属资料集合
classification_path 分类层级路径
applicability 适用范围对象
applicability.region 适用地区
applicability.target 适用对象
source 原始来源信息,见上表
validity 有效性信息
validity.status 有效性状态;unverified=未核实,不是“已失效”
validity.effective_from / effective_to 生效/失效日期,可能未知
data 按资料类型整理的业务字段,不同于SSE外层data
sections 分段内容列表
raw_record 原始资料记录,字段来自原数据,不能强制套用卡片字段含义
content_sha256 内容校验值,不用于正文展示
quality_flags 资料整理质量提示列表,不是推荐评分
duplicate_of 重复记录对应的ID;null=没有该关联

以上仅解释统一模板,实际full_record还可能包含摘要增强等字段;外部raw_record中的任意字段不能在没有来源定义时猜译。前端日常展示优先用card,原始数据可放入展开的“完整来源”。模板见 政策、金融、问答、通用知识。

10. 检索与需求拆解字段

key(相对recommendation) 中文名称 说明
search_plan.needs 拆解出的独立需求 对象数组
search_plan.needs[].need 需求描述 用户想解决什么
search_plan.needs[].evidence 用户原话依据 必须来自本轮问题
search_plan.needs[].query 为此需求生成的检索表达 搜索方向,不是政策名称或结论
search_plan.queries 扩展检索表达列表 原问题仍会单独进入检索
search_plan.error 拆解失败码 null=此字段无错误;query_planning_failed=需求拆解失败
retrieval.queries 实际用于检索的查询列表 包括原问题及有效扩展
retrieval.failed_databases 检索失败的知识库类型列表 英文类型见第9节;retrieval_service=检索服务整体失败占位标识
retrieval.failed_queries 失败的查询与知识类型组合 对象数组
retrieval.failed_queries[].query_index 查询序号 从0开始,对应retrieval.queries;不同于从1开始的卡片rank
retrieval.failed_queries[].type 失败的知识类型 policy/finance/qa等
retrieval.content_failures 原文读取或校验失败的记录ID列表 不是未命中列表
retrieval.complete 检索阶段是否完整 true不代表每个政策都找到了
retrieval.snapshot 检索所用知识快照 数据批次标识
retrieval.searched_types 搜索过的知识类型 如policy、finance等
retrieval.candidate_limit 候选数量上限 当前为12,指六库多查询合并后的总候选上限
retrieval.per_type_limit 每查询每库召回上限 3;不是多查询合并后每库固定3条
search_plan.related_queries 与当前问题相邻的检索方向 need/evidence绑定原需求;relationship说明联系;query仅为搜索假设,不是已知项目或政策事实
items[].relevance_level 对问题的关联层级 direct直接回应、adjacent配套支持、unspecified未标注;不是资格判定。惠企来源优先,同来源组内按此顺序再比较主体依据
items[].policy_category 主要支持类别 设备技改、科技创新、融资支持、人才用工、创业经营、数字化、绿色发展、市场拓展、空间载体、税费减免、办事服务、其他。依据原文主要目的分类;首六卡先覆盖不同类别,同类优先惠企及问题关联
presentation.summary_policy_limit 政策总结展示范围 6;总结只依据最终排序前六卡,完整items不截断;无卡片保留知识问答

整体服务降级时retrieval的部分字段可能缺失,不能把缺失强制转换成正常空列表。

11. interrupt与公司候选

F041更正:搜索没有候选时 kind=company_need,status=not_found;服务失败也使用company_need并标记failed。有候选供选择时才是 kind=company_selection、status=found。初次公司需求补问没有result,搜索后补问包含result/status/actions,前端均通过原thread_id与question继续。

key 中文名称 value含义
kind 补问类型 company_need=补充是否需要公司信息;company_selection=确认公司候选
question 给用户的问题 直接展示
input_help 输入方式提示 直接展示
schema 内部补问参数结构说明 不要当成HTTP额外请求参数
schema.needs_company 是否需要公司信息 文档提示boolean=布尔值;API仍通过question文字提交
schema.company_hint 公司线索 文档提示string=字符串
result 本次公司候选查询结果 不等于SSE result事件的最终答复
result.candidates 公司候选列表 保持后端顺序,以显示序号选择
result.may_have_more 是否可能有下一页 true显示下一页操作
result.error 候选查询失败码 有此错误时,不把空候选说成“查无公司”
result.source 公司查询来源信息 与知识source对象结构不同,见下表
page 当前候选页码 从1开始
actions 内部支持操作说明 select=选择,refine=换关键词,more=搜索更多公司(转企查查),next=企查查下一页,retry=重试,cancel=取消公司查询
actions.select.key_no 所选公司的内部标识 API支持序号、KeyNo字符串或序列化选择JSON;question不能直接为对象
actions.refine.keyword 新查询关键词 API用question字符串提交
candidates[]中的key 中文含义
KeyNo 公司候选唯一标识;DMS为dms:1888:记录ID;列表末尾更多操作项为action:search_more_companies,不是公司
Name 公司名称
CreditCode 统一社会信用代码
StartDate 成立日期
OperName 法定代表人/负责人姓名(依主体类型)
Status 企业登记状态,例如存续、注销;不是请求处理状态
No 企业注册号
Address 企业注册地址
公司查询result.source中的key 中文含义
provider 数据提供方,企查查或DMS;DMS来源含栏目/记录ID和获取时间
api_code 查询接口编号,886/410/1001释义见第7节
document_url 数据接口文档地址,不是公司主页
fetched_at 查询获取时间
page_index 本次查询页码,未分页时可能为null
total_records 服务提供方报告的总条数,未知时为null

用户选择第1家公司时提交 question="1";换关键词直接提交新名称;/next=下一页,/retry=重试,/cancel=取消公司查询。不需要公司信息可输入“不需要”“无需公司信息”或/skip。不要把schema或actions里的对象原样塞入question。

12. 错误码中文说明

错误对象中 error或code是程序识别的错误码,message是可选用户提示;不是每个错误都有message。多个层级的错误来源不同,页面应结合当前操作描述。

HTTP层和SSE终止错误

固定value 中文含义
application_json_required 请求必须使用application/json
invalid_request 请求JSON或参数不符合要求
request_too_large 请求内容超过64KiB
request_timeout 接收请求体超时
thread_busy 该会话已有问题正在处理
server_busy 服务处理容量已满或正在关闭
service_unavailable 暂时无法提交后台处理任务
processing_failed 本轮处理异常失败
stream_timeout 流持续时间超过上限
unfinished_turn 上轮还有未完成阶段,需要/retry恢复或换新会话

图流程与推荐中的常见错误

固定value 中文含义
intent_analysis_failed 用户意图识别/普通对话模型调用失败
direct_response_unavailable 普通回复缺失或格式不合法,已使用兜底
search_limit 达到本轮公司候选查询次数上限
query_planning_failed 需求拆解失败,本轮按原问题检索
summary_generation_failed 综合说明生成失败,使用备用说明
analysis_budget_limit 候选原文超过单条分析预算
analysis_context_limit 模型输入超过上下文预算
incomplete_generation 模型输出未完整结束
model_service_failure 模型服务调用失败或输出无法解析
analysis_failed 候选分析异常失败
invented_citation 引文无法在对应原文中找到,已拒绝使用
invented_condition_quote 条件引用无法在原文中找到
invented_card_citation 卡片字段引用无法在原文中找到
invented_match_evidence 主体或政策比较证据无法核对
missing_citations / missing_card_citation 缺少正文/卡片引用
missing_card 缺少规定的卡片字段
rewritten_policy_name 卡片名称与原文完整名称不一致

分析错误还可能出现invalid*、missing*等结构校验码;这些表示模型输出未通过相应字段校验,不是用户资格“不满足”。未知码可显示“部分内容未能完成分析”,保留原码供排查,不猜测为“没有政策”。

公司查询错误(可能带search:、basic:、honors:前缀)

值或前缀 中文含义
search: 公司候选查询阶段
basic: 工商资料查询阶段
honors: 荣誉资质查询阶段
network_failure 网络连接失败或超时
http_数字 上游HTTP错误,例如http_503=上游暂不可用
provider_failure 企查查业务返回失败
response_too_large 上游响应内容过大
invalid_json 上游不是合法JSON
invalid_result / invalid_search_result 上游数据结构不符合要求
invalid_candidate / duplicate_candidate 候选身份缺失或重复
invalid_paging 分页信息不合法
company_identity_mismatch 工商详情与用户确认的公司身份不一致
invalid_honor_result / invalid_honor_data 荣誉返回结构不合法
inconsistent_honor_result / inconsistent_honor_paging 荣誉记录或分页数据不一致
page_limit 已到荣誉查询页数上限,资料可能未取全

例如 basic:network_failure 应理解为“查询工商信息时网络失败”,不能只显示“basic”。Redis等未捕获异常在API层通常被统一为processing_failed,不应期待接口透出所有内部错误。

13. 不同“完成”标记分别判断什么

字段 可以理解为 不能理解为
progress.status=completed 当前阶段结束 依赖一定成功、政策一定符合
done.status=completed 本次响应流正常结束 模型一定没有降级、用户一定符合资格
retrieval.complete=true 本轮检索范围内处理完整 所有政策都找到了
recommendation.complete=true 本轮规定信息完整性条件通过 综合说明一定是模型生成、政策一定获批
summary.status=generated 综合说明成功生成 内容已获人工审核或资格审批
conditions.status=待确认 资格条件还需补充核验 不符合条件
match_basis.status=supports 当前事实支持相关性判断 全部申报条件已满足

页面上优先展示后端给出的中文message/text和具体事实。英文状态按所在字段翻译成标签即可,原始ID、路径、校验值、错误码放在引用详情或诊断信息中。

F074附件字段补充(2026-09-20)

请求pictures、files均为可选URL字符串数组,空数组/省略等价。attachments事件的data.items与result.data.attachments提供id(来源ID)、kind(picture/file)、index(该数组内1起序号)、title、status(ready/failed)、format、warnings及失败时的error/message。source.type=user_attachment表示用户附件;full_record.sections[].location/text为定位和提取文字,图片文字是视觉识别笔记。失败仍沿原summary和analysis_errors展示。详细格式、预算、错误及恢复约定见附件契约。

F077 候选分析附加诊断

recommendation新增partial_answers(不完整候选的已核验片段,仅供参考,不是推荐)。candidate_diagnostics新增chunk_count、failed_chunks;validation_attempts新增card_fields、field_errors;多块analyses保留chunk_index及card_evidence。旧字段保持,详细语义与失败重试见候选分析恢复。模型字段快照属于未验证数据,不应直接作为面向用户的答复。