技术速查官方文档9 分钟阅读交互模块页

FastGPT 错误码定位器:14 个模块 122 条错误码,含 8 个需要看 statusText 才能区分的码值

输入接口返回的错误码,定位它属于哪个模块、对应哪个枚举与文案键,以及它是否与另一个模块的码值重叠。

接口返回一个六位数字,先要知道它出自哪个模块,才知道去查哪一块的配置。错误码由模块基码加偏移构成,规律清楚,但有两处例外会让纯按数字查的做法失效:有两组模块共用了同一个基码,还有一条码没有按规律走。下面这个模块把这些例外一并处理:输入码值,直接给出它可能对应的每一种情况。

这些码是怎么编的

每个模块有一个基码,模块内的错误在基码上按顺序加偏移。基码从 500000 起,目前用到 512000,模块之间留了 1000 的间隔。

这样编码的好处是看到一个数字就能大致判断范围:五十万开头的一段属于团队与成员,五十万一千那一段属于知识库,往后依次是应用、用户、对话、分享链接、接口凭证、通用错误、插件等等。完整对照见下面那张表。

这些码不是写在文档里的,它们来自代码里的枚举定义,每个模块一个文件,共 14 个文件、122 条。所以升级之后新增的码会直接出现在枚举里,本页的对照表也是从那些枚举定义整理出来的,不是手工维护的清单。

条数的分布本身也能说明问题集中在哪里。团队与成员那一块占 45 条,是所有模块里最多的一块,接近总数的三分之一;技能与知识库各占十几条;对话、插件这些只有两三条。换个说法:定义得最细的地方是权限与成员关系,这也是实际部署里最容易出问题的一层 —— 多人协作、成员组、资源可见范围这些配置组合起来的分支最多。

交互模块:错误码定位

输入接口返回的错误码,或者输入记得的那部分英文名,模块会给出它属于哪个模块、对应哪个枚举与文案键、定义在哪个文件里;如果这个码值同时属于两个模块,两种可能会一起列出来。

取值口径 v4.16.2核验日 2026-09-09错误码 122模块 14一码多解 8
命中122
全部错误码122
码值模块statusText枚举i18nKey来源
500000teamnotUsernotUsercommon:code_error.team_error.not_userpackages/global/common/error/code/team.ts
500001teamunPermissionunPermissioncommon:error_un_permissionpackages/global/common/error/code/team.ts
500002teamaccountCancellationPendingaccountCancellationPendingcommon:code_error.team_error.account_cancellation_pendingpackages/global/common/error/code/team.ts
500003teamteamOverSizeteamOverSizecommon:code_error.team_error.over_sizepackages/global/common/error/code/team.ts
500004teamunAuthTeamunAuthTeamcommon:code_error.team_error.un_authpackages/global/common/error/code/team.ts
500005teamaiPointsNotEnoughaiPointsNotEnoughcommon:code_error.team_error.ai_points_not_enoughpackages/global/common/error/code/team.ts
500006teamdatasetSizeNotEnoughdatasetSizeNotEnoughcommon:code_error.team_error.dataset_size_not_enoughpackages/global/common/error/code/team.ts
500007teamdatasetAmountNotEnoughdatasetAmountNotEnoughcommon:code_error.team_error.dataset_amount_not_enoughpackages/global/common/error/code/team.ts
500008teamappAmountNotEnoughappAmountNotEnoughcommon:code_error.team_error.app_amount_not_enoughpackages/global/common/error/code/team.ts
500009teampluginAmountNotEnoughpluginAmountNotEnoughcommon:code_error.team_error.plugin_amount_not_enoughpackages/global/common/error/code/team.ts
500010teamappFolderAmountNotEnoughappFolderAmountNotEnoughcommon:code_error.team_error.app_folder_amount_not_enoughpackages/global/common/error/code/team.ts
500011teamwebsiteSyncNotEnoughwebsiteSyncNotEnoughcommon:code_error.team_error.website_sync_not_enoughpackages/global/common/error/code/team.ts
500012teamreRankNotEnoughreRankNotEnoughcommon:code_error.team_error.re_rank_not_enoughpackages/global/common/error/code/team.ts
500013teamticketNotAvailableticketNotAvailablecommon:code_error.team_error.ticket_not_availablepackages/global/common/error/code/team.ts
500014teamgroupNameEmptygroupNameEmptycommon:code_error.team_error.group_name_emptypackages/global/common/error/code/team.ts
500015teamgroupNotExistgroupNotExistcommon:code_error.team_error.group_not_existpackages/global/common/error/code/team.ts
500016teamcannotDeleteDefaultGroupcannotDeleteDefaultGroupcommon:code_error.team_error.cannot_delete_default_grouppackages/global/common/error/code/team.ts
500017teamgroupNameDuplicategroupNameDuplicatecommon:code_error.team_error.group_name_duplicatepackages/global/common/error/code/team.ts
500018teamuserNotActiveuserNotActivecommon:code_error.team_error.user_not_activepackages/global/common/error/code/team.ts
500019teamorgMemberNotExistorgMemberNotExistcommon:code_error.team_error.org_member_not_existpackages/global/common/error/code/team.ts
500020teamorgMemberDuplicatedorgMemberDuplicatedcommon:code_error.team_error.org_member_duplicatedpackages/global/common/error/code/team.ts
500021teamorgNotExistorgNotExistcommon:code_error.team_error.org_not_existpackages/global/common/error/code/team.ts
500022teamorgParentNotExistorgParentNotExistcommon:code_error.team_error.org_parent_not_existpackages/global/common/error/code/team.ts
500023teamcannotMoveToSubPathcannotMoveToSubPathcommon:code_error.team_error.cannot_move_to_sub_pathpackages/global/common/error/code/team.ts
500024teamcannotModifyRootOrgcannotModifyRootOrgcommon:code_error.team_error.cannot_modify_root_orgpackages/global/common/error/code/team.ts
500025teamcannotDeleteNonEmptyOrgcannotDeleteNonEmptyOrgcommon:code_error.team_error.cannot_delete_non_empty_orgpackages/global/common/error/code/team.ts
500026teaminvitationLinkInvalidinvitationLinkInvalidcommon:code_error.team_error.invitation_link_invalidpackages/global/common/error/code/team.ts
500027teamyouHaveBeenInTheTeamyouHaveBeenInTheTeamcommon:code_error.team_error.you_have_been_in_the_teampackages/global/common/error/code/team.ts
500028teamtooManyInvitationstooManyInvitationscommon:code_error.team_error.too_many_invitationspackages/global/common/error/code/team.ts
500029teamdatasetFolderAmountNotEnoughdatasetFolderAmountNotEnoughcommon:code_error.team_error.dataset_folder_amount_not_enoughpackages/global/common/error/code/team.ts
500030teamsandboxNotSupportsandboxNotSupportcommon:code_error.team_error.sandbox_not_supportpackages/global/common/error/code/team.ts
500031teamdisableddisabledcommon:enterprise_auth.error.disabledpackages/global/common/error/code/team.ts
500032teamserviceNotConfiguredserviceNotConfiguredcommon:enterprise_auth.error.service_not_configuredpackages/global/common/error/code/team.ts
500033teamnoRemainingTimesnoRemainingTimescommon:enterprise_auth.error.no_remaining_timespackages/global/common/error/code/team.ts
500034teamalreadyVerifiedalreadyVerifiedcommon:enterprise_auth.error.already_verifiedpackages/global/common/error/code/team.ts
500035teamenterpriseOccupiedenterpriseOccupiedcommon:enterprise_auth.error.enterprise_occupiedpackages/global/common/error/code/team.ts
500036teamtooFrequenttooFrequentcommon:enterprise_auth.error.too_frequentpackages/global/common/error/code/team.ts
500037teamserviceErrorserviceErrorcommon:enterprise_auth.error.service_errorpackages/global/common/error/code/team.ts
500038teamserviceTimeoutserviceTimeoutcommon:enterprise_auth.error.service_timeoutpackages/global/common/error/code/team.ts
500039teaminfoFailedinfoFailedcommon:enterprise_auth.error.info_failedpackages/global/common/error/code/team.ts
500040teamtaskNotFoundtaskNotFoundcommon:enterprise_auth.error.task_not_foundpackages/global/common/error/code/team.ts
500041teamtaskExpiredtaskExpiredcommon:enterprise_auth.error.task_expiredpackages/global/common/error/code/team.ts
500042teamamountErroramountErrorcommon:enterprise_auth.error.amount_errorpackages/global/common/error/code/team.ts
500043teamamountFailedamountFailedcommon:enterprise_auth.error.amount_failedpackages/global/common/error/code/team.ts
500044teamprocessingprocessingcommon:enterprise_auth.error.processingpackages/global/common/error/code/team.ts
501000datasetsameApiCollectionsameApiCollectioncommon:core.dataset.error.sameApiCollectionpackages/global/common/error/code/dataset.ts
501001datasetnotSupportSyncnotSupportSynccommon:core.dataset.error.notSupportSyncpackages/global/common/error/code/dataset.ts
501002datasetunExistDatasetunExistcommon:core.dataset.error.unExistDatasetpackages/global/common/error/code/dataset.ts
501003datasetunExistCollectionunExistCollectioncommon:error_collection_not_existpackages/global/common/error/code/dataset.ts
501004datasetunAuthDatasetunAuthDatasetcommon:core.dataset.error.unAuthDatasetpackages/global/common/error/code/dataset.ts

命中 122 条,先显示前 50 条。

模块与基码对照

这张表是按模块的完整分布,可以直接对照使用。最后一列标「有」的模块,它的部分码值与另一个模块重叠。

模块基码错误码条数码值重叠
team50000045
dataset50100013
app5020005
user50300010
chat5040002
outLink5050004
openapi5060003
common5070008
plugin5080002
skill50900017
system5090005
s35100003
sandbox5100004
coupon5120001

8 个码值对应两种不同的错误

有两组模块共用了同一个基码:一组是 skill 与 system,都从 509000 起;另一组是 s3 与 sandbox,都从 510000 起。于是下面这些码值同时对应两个不同的错误,光看数字判断不出是哪一个,要看返回里的 statusText。

错误码可能是也可能是怎么区分
509000skill.skillUnExistsystem.communityVersionNumLimit看返回里的 statusText
509001skill.unAuthSkillsystem.commercialFeature看返回里的 statusText
509002skill.canNotEditAdminPermissionsystem.licenseAppAmountLimit看返回里的 statusText
509003skill.invalidSkillNamesystem.licenseDatasetAmountLimit看返回里的 statusText
509004skill.invalidDescriptionsystem.licenseUserAmountLimit看返回里的 statusText
510000s3.InvalidUploadFileTypesandbox.agentSandboxPermissionDenied看返回里的 statusText
510001s3.UploadFileTypeMismatchsandbox.agentSandboxInitializing看返回里的 statusText
510002s3.FileUploadDisabledsandbox.runtimeUpgradeFailed看返回里的 statusText

这一组里最容易误判的是 509 开头那几个。skill 那一侧是技能本身的问题,比如技能不存在、名称不合法;system 那一侧是版本与授权的限制,比如社区版数量限制、商业版功能、应用或知识库或用户数超出授权。两者的处置方向完全不同:前者改配置,后者要看版本与授权。

还有一条码不在规律里

分享链接失效这一条的码值是 501,而它所属模块的基码是 505000。也就是说它没有按基码加偏移的规律走,所以按数字区间去猜模块的做法,在这一条上会得到错误的答案。

这条码在实际排查中出现得不少 —— 分享链接过期或被删除时返回的就是它。看到一个三位数的码,基本可以直接判断是这一条。

返回里的三样东西各有什么用

一次报错的返回里通常同时带着三样东西:数字码、statusText、以及一个用于取提示文案的键。三样各有各的用处,不要只留其中一样。

数字码适合做告警与统计。它是整数,便于按区间聚合,比如把五十万开头的一整段划成团队与权限类问题做趋势。但它不适合做唯一标识,一是有重叠,二是升级时会平移。

statusText 适合做唯一标识与日志检索。它在所有模块里唯一,跨版本也基本保留,所以自建的日志系统按它建索引最稳。

文案键用于取用户能看到的那句提示。同一个错误在不同语言下显示不同文字,而键是同一个。需要自定义提示语的时候,改的是这个键对应的文案,不是去改错误码。这一层容易被忽略:直接在前端按数字码写死中文提示,换语言时就没有对应版本了。

有两个枚举名按码值查不到

team.teamMemberOverSize、user.unAuthRole 这两个名字出现在枚举定义里,但没有对应的码值,所以按数字查不到它们,只能按名字查到。在日志里看到这两个名字时,不用去找它对应几号码。

另外本页的模块名按定义文件所在的路径取,不按文件顶部的注释取。部分文件的注释与它实际所属的模块不一致,按注释整理会把码值归到错误的模块下,而这类错误在对照表上看不出来。所以如果拿本页的模块名与代码注释对不上,以路径为准。

拿到一个错误码之后按什么顺序排

第一步是拿 statusText,先别拿数字。数字可能有歧义,statusText 在所有模块里都是唯一的,接口返回里两者都有。

第二步是看模块,模块决定去查哪一块的配置。知识库那一段的错误多与向量模型、索引任务、文件解析有关;团队那一段多与成员、权限、成员组有关;system 那一段几乎都与版本或授权有关,改配置解决不了。

第三步是拿枚举名去代码或文档里搜。枚举名比数字稳定,版本升级时数字有可能因为插入新错误而变化,而枚举名一般会保留。这也是排查时优先记枚举名的原因。

如果这三步之后仍然定位不到,把接口原始返回完整保留下来再往上反馈,只报一个数字往往需要来回确认好几轮。

版本差异与失效说明

本页的 122 条码值来自 v4.16.2。升级之后模块内新增的错误会让后面的偏移发生变化,所以跨版本对照时以枚举名为准,不要以数字为准。两组共用基码的情况在这个版本里存在,如果后续版本调整了基码分配,本页的重叠清单需要重新整理。

继续阅读

本页参数与判定规则取自 FastGPT 开源仓库 v4.16.2,核验日 2026-09-09。

参考资料