3745 字约 12 分钟
云原生构建 内置了一些默认环境变量,只可读不可写,如果构建过程中尝试覆盖默认环境变量不会生效。
下文 合并类事件 包含以下几种:
pull_requestpull_request.updatepull_request.targetpull_request.approvedpull_request.changes_requestedpull_request.mergeablepull_request.mergedpull_request.comment
了解更多触发事件。
基础变量
变量概览
| 变量名 | 说明 |
|---|---|
| CI | CI 标识,值为 true |
| CNB | CNB 标识,值为 true |
| CNB_WEB_PROTOCOL | Web 使用的协议 |
| CNB_WEB_HOST | Web 使用的 HOST |
| CNB_WEB_ENDPOINT | Web 完整地址 |
| CNB_API_ENDPOINT | API 完整地址 |
| CNB_GROUP_SLUG | 仓库所属组织路径 |
| CNB_GROUP_SLUG_LOWERCASE | 组织路径小写格式 |
| CNB_EVENT | 触发构建的事件名称 |
| CNB_EVENT_URL | 事件相关链接 |
| CNB_BRANCH | 分支名或 Tag 名 |
| CNB_BRANCH_SHA | 分支最近提交的 SHA |
| CNB_DEFAULT_BRANCH | 仓库默认分支 |
CI
值为 true,用于标识当前环境为 CI 环境。
CNB
值为 true,用于标识当前环境为 CNB 构建环境。
CNB_WEB_PROTOCOL
当前 Web 使用的协议,取值为 http 或 https。
CNB_WEB_HOST
当前 Web 使用的 HOST。
CNB_WEB_ENDPOINT
当前 Web 使用的完整地址,包含协议、HOST、路径(如有)。
CNB_API_ENDPOINT
当前 API 完整地址,包含协议、HOST、路径(如有)。
可与 CNB_TOKEN 配合在 CI 中调用 API 接口。
CNB_GROUP_SLUG
仓库所属组织路径。
CNB_GROUP_SLUG_LOWERCASE
仓库所属组织路径的小写格式。
CNB_EVENT
值为触发构建的事件名称。
事件类型参见事件。
CNB_EVENT_URL
事件相关链接,取值规则如下:
| 触发事件 | 变量值 |
|---|---|
| 合并类事件 | PR 的链接 |
| Issue 类事件 | Issue 的链接 |
| 其他事件 | CNB_COMMIT 的链接 |
CNB_BRANCH
分支名或 Tag 名,取值规则如下:
| 触发事件 | 变量值 |
|---|---|
| 合并类事件 | 目标分支名 |
| Tag类事件 | Tag 名 |
| 其他事件 | 对应的分支名称 |
CNB_BRANCH_SHA
分支最近一次提交的 SHA,取值规则如下:
| 触发事件 | 变量值 |
|---|---|
branch.delete | 无值 |
| 其他事件 | CNB_BRANCH 最近一次提交的 SHA |
CNB_DEFAULT_BRANCH
仓库默认分支。
CNB_TOKEN_USER_NAME
用户临时令牌对应的用户名,固定为 cnb。
CNB_TOKEN
用户在流水线运行期间使用的临时令牌,流水线结束后会自动销毁。该令牌可用于代码和制品的拉取、推送以及 API 调用。
权限分配
权限的分配取决于触发流水线的事件类型:
不可信事件(参考不可信事件):
| 事件类型 | 权限范围 |
|---|---|
| 开启工作模式的 NPC 事件 | 当前仓库,拥有读写权限 |
| 未开启工作模式的 NPC 事件或其他不可信事件 | 当前仓库,仅读权限 |
详细权限列表:
开启工作模式的 NPC 事件:
| 权限项 | 说明 |
|---|---|
repo-code:rw | 代码读写 |
repo-pr:rw | PR 读写 |
repo-issue:rw | Issue 读写 |
repo-notes:rw | 评论读写 |
repo-contents:rw | 内容读写 |
repo-basic-info:r | 基本信息只读 |
未开启工作模式的 NPC 事件或其他不可信事件:
| 权限项 | 说明 |
|---|---|
repo-code:r | 代码只读 |
repo-pr:r | PR 只读 |
repo-issue:r | Issue 只读 |
repo-notes:rw | 评论读写 |
repo-contents:r | 内容只读 |
registry-package:r | 制品库只读 |
account-profile:r | 用户信息只读 |
其他可信事件:
| 权限项 | 说明 |
|---|---|
repo-code:rw | 代码读写 |
repo-pr:rw | PR 读写 |
repo-issue:rw | Issue 读写 |
repo-notes:rw | 评论读写 |
repo-contents:rw | 内容读写 |
registry-package:rw | 制品库读写 |
repo-cnb-trigger:rw | 触发器读写 |
repo-cnb-history:r | 构建历史只读 |
repo-cnb-detail:r | 构建详情只读 |
repo-basic-info:r | 基本信息,只读 |
repo-manage:r | 仓库管理只读 |
account-profile:r | 用户信息只读 |
group-resource:r | 组织资源只读 |
权限说明
具体权限的含义可参考个人设置页面中的访问令牌部分。
安全限制
- 对于公开仓库的流水线,该令牌的权限会被限制为仅公开仓库/制品库。
- 对于 NPC 事件,该令牌的权限会被限制在当前仓库。
- 对于 Fork 后仓库的流水线,该令牌的权限会被限制在当前仓库。
TWINE_USERNAME
PyPI 制品库用户名,同 CNB_TOKEN_USER_NAME。
TWINE_PASSWORD
PyPI 制品库密码,同 CNB_TOKEN。
CNB_TOKEN_FOR_AI
用户令牌,仅支持在 合并类事件、issue.open、issue.close、ai_issue、ai_review、NPC 事件中使用,表明调用者身份为 AI。权限和作用范围同 CNB_TOKEN。
使用场景:
在合并请求中发表由 AI 生成的评论时,可用该令牌调用发表评论的 OpenAPI,页面中将增加 AI 标记表明该评论来自 AI。
CNB_TOKEN_FOR_CODEBUDDY
用户令牌,表明调用者身份为 CodeBuddy。其他同 CNB_TOKEN_FOR_AI。
CNB_IS_CRONEVENT
是否是定时任务事件。
CNB_DOCKER_REGISTRY
制品库 Docker 源地址。
CNB_DOCKER_MODEL_REGISTRY
制品库 Docker model 源地址。
CNB_HELM_REGISTRY
制品库 Helm 源地址。
CNB_HAS_LFS_FILES
是否有 LFS 文件。
提示
若仓库清空了 LFS 文件,在 Git GC 前仍会为 true。
提交类变量
提交类变量概览
| 变量名 | 说明 |
|---|---|
| CNB_BEFORE_SHA | 分支推送前最近一次提交的 SHA |
| CNB_COMMIT | 构建对应的代码 SHA |
| CNB_COMMIT_SHORT | CNB_COMMIT 前 8 位字符 |
| CNB_COMMIT_MESSAGE | 提交信息 |
| CNB_COMMIT_MESSAGE_TITLE | 提交信息标题 |
| CNB_COMMITTER | 提交者 |
| CNB_COMMITTER_EMAIL | 提交者邮箱 |
| CNB_NEW_COMMITS_COUNT | 新增提交数量 |
| CNB_IS_TAG | 是否为 Tag 构建 |
| CNB_TAG_MESSAGE | Tag 消息 |
| CNB_TAG_RELEASE_TITLE | Release 标题 |
| CNB_TAG_RELEASE_DESC | Release 描述 |
| CNB_TAG_IS_RELEASE | Tag 是否有对应 Release |
| CNB_TAG_IS_PRE_RELEASE | 是否为预发布 Release |
| CNB_IS_NEW_BRANCH | 是否为新创建的分支 |
| CNB_IS_NEW_BRANCH_WITH_UPDATE | 是否为新分支且带新提交 |
CNB_BEFORE_SHA
分支推送前远端仓库该分支最近一次提交的 SHA。
取值规则:
| 触发事件 | 变量值 |
|---|---|
push、commit.add | 分支推送前最近一次提交的 SHA |
| 新建分支 | 0000000000000000000000000000000000000000 |
branch.create | 0000000000000000000000000000000000000000 |
CNB_COMMIT
构建时对应的代码 SHA。
取值规则:
| 触发事件 | 变量值 |
|---|---|
push、commit.add、branch.create | 最后一次提交的 SHA |
tag_push、tag_deploy.* | 该 Tag 最后一次提交的 SHA |
auto_tag、branch.delete、issue.*、NPC 事件 | 主分支最后一次提交的 SHA |
pull_request.merged | 合并后的 SHA |
pull_request.target、pull_request.mergeable | 目标分支最后一次提交的 SHA |
pull_request、pull_request.approved、pull_request.changes_requested、pull_request.comment | 源分支最后一次提交的 SHA |
| 云原生开发、自定义事件 | 指定分支最后一次提交的 SHA |
提示
对于 pull_request 等事件,代码尚未真正合并,取源分支最后一次提交的 SHA,但构建时会进行预合并,即合并后的内容会作为最终结果。
CNB_COMMIT_SHORT
CNB_COMMIT 的缩写,取其前 8 位字符。
CNB_COMMIT_MESSAGE
CNB_COMMIT 对应的提交信息。
CNB_COMMIT_MESSAGE_TITLE
CNB_COMMIT_MESSAGE 的 title 部分,即首行。
CNB_COMMITTER
CNB_COMMIT 对应的提交者。
CNB_COMMITTER_EMAIL
CNB_COMMITTER 对应的邮箱。
CNB_NEW_COMMITS_COUNT
对于由 commit.add 触发的构建,值为新增的 Commits 数量。
可结合 git log -n 查看新增的 Commits。
CNB_IS_TAG
对于分支为 Tag 的构建,值为 true。
CNB_TAG_MESSAGE
Tag 消息。
CNB_TAG_RELEASE_TITLE
Release 标题。
CNB_TAG_RELEASE_DESC
Release 描述。
CNB_TAG_IS_RELEASE
Tag 是否存在对应的 Release。
取值规则:
| 条件 | 变量值 |
|---|---|
| 分支为 Tag 且存在对应的 Release | true |
| 其他情况 | false |
CNB_TAG_IS_PRE_RELEASE
是否为预发布 Release。
取值规则:
| 条件 | 变量值 |
|---|---|
| 分支为 Tag,存在对应的 Release,且为预发布 | true |
| 其他情况 | false |
CNB_IS_NEW_BRANCH
当前分支是否属于一个新创建的分支,默认为 false。
CNB_IS_NEW_BRANCH_WITH_UPDATE
当前分支是否属于一个新创建的分支,且带有新提交,默认为 false。
仓库类变量
仓库类变量概览
| 变量名 | 说明 |
|---|---|
| CNB_REPO_SLUG | 仓库路径 |
| CNB_REPO_SLUG_LOWERCASE | 仓库路径小写格式 |
| CNB_REPO_NAME | 仓库名称 |
| CNB_REPO_NAME_LOWERCASE | 仓库名称小写格式 |
| CNB_REPO_ID | 仓库 ID |
| CNB_REPO_URL_HTTPS | 仓库 HTTPS 地址 |
CNB_REPO_SLUG
目标仓库路径,格式为 group_slug/repo_name 或 group_slug/sub_group_slug/.../repo_name。
CNB_REPO_SLUG_LOWERCASE
目标仓库路径的小写格式。
CNB_REPO_NAME
目标仓库名称。
CNB_REPO_NAME_LOWERCASE
目标仓库名称的小写格式。
CNB_REPO_ID
目标仓库的 ID。
CNB_REPO_URL_HTTPS
目标仓库的 HTTPS 地址。
CNB_FORK_FROM_REPO_SLUG
Fork 仓库的源仓库路径
构建类变量
构建类变量概览
| 变量名 | 说明 |
|---|---|
| CNB_BUILD_ID | 构建流水号 |
| CNB_BUILD_WEB_URL | 构建日志地址 |
| CNB_BUILD_START_TIME | 构建开始时间 |
| CNB_BUILD_USER | 触发者用户名 |
| CNB_BUILD_USER_NICKNAME | 触发者昵称 |
| CNB_BUILD_USER_EMAIL | 触发者邮箱 |
| CNB_BUILD_USER_ID | 触发者 ID |
| CNB_BUILD_USER_NPC_SLUG | NPC 所属仓库路径 |
| CNB_BUILD_USER_NPC_NAME | NPC 角色名 |
| CNB_BUILD_STAGE_NAME | Stage 名称 |
| CNB_BUILD_JOB_NAME | Job 名称 |
| CNB_BUILD_JOB_KEY | Job Key |
| CNB_BUILD_WORKSPACE | 工作空间根目录 |
| CNB_BUILD_FAILED_MSG | 构建失败错误信息 |
| CNB_BUILD_FAILED_STAGE_NAME | 失败的 Stage 名称 |
| CNB_PIPELINE_NAME | Pipeline 名称 |
| CNB_PIPELINE_KEY | Pipeline Key |
| CNB_PIPELINE_ID | Pipeline ID |
| CNB_PIPELINE_DOCKER_IMAGE | Pipeline Docker 镜像 |
| CNB_PIPELINE_STATUS | Pipeline 构建状态 |
| CNB_PIPELINE_MAX_RUN_TIME | 流水线最大运行时间 |
| CNB_RUNNER_IP | Runner IP |
| CNB_CPUS | 可用 CPU 核数 |
| CNB_MEMORY | 可用内存大小 |
| CNB_IS_RETRY | 是否由 rebuild 触发 |
| HUSKY_SKIP_INSTALL | Husky 兼容标识 |
CNB_BUILD_ID
当前构建的流水号,全局唯一。
CNB_BUILD_WEB_URL
当前构建的日志地址。
CNB_BUILD_START_TIME
当前构建的开始时间,UTC 格式,示例 2025-08-21T09:13:45.803Z。
CNB_BUILD_USER
当前构建的触发者用户名。
CNB_BUILD_USER_NICKNAME
当前构建的触发者昵称。
CNB_BUILD_USER_EMAIL
当前构建的触发者邮箱。
CNB_BUILD_USER_ID
当前构建的触发者 ID。
CNB_BUILD_USER_NPC_SLUG
当前构建若为 NPC 触发,则为 NPC 所属仓库的路径。
CNB_BUILD_USER_NPC_NAME
当前构建若为 NPC 触发,则为 NPC 角色名。
CNB_BUILD_STAGE_NAME
当前构建的 Stage 名称。
CNB_BUILD_JOB_NAME
当前构建的 Job 名称。
CNB_BUILD_JOB_KEY
当前构建的 Job Key,同 Stage 下唯一。
CNB_BUILD_WORKSPACE
自定义 Shell 脚本执行的工作空间根目录。
CNB_BUILD_FAILED_MSG
流水线构建失败的错误信息,可在 failStages 中使用。
CNB_BUILD_FAILED_STAGE_NAME
流水线构建失败的 Stage 名称,可在 failStages 中使用。
CNB_PIPELINE_NAME
当前 Pipeline 的名称,没声明时为空。
CNB_PIPELINE_KEY
当前 Pipeline 的索引 Key,例如 pipeline-0。
CNB_PIPELINE_ID
当前 Pipeline 的 ID,全局唯一字符串。
CNB_PIPELINE_DOCKER_IMAGE
当前 Pipeline 所使用的 Docker 镜像,如 alpine:latest。
CNB_PIPELINE_STATUS
当前流水线的构建状态,可在 endStages 中查看。
可能的值:
| 状态值 | 说明 |
|---|---|
success | 流水线构建成功完成 |
error | 流水线构建过程中发生错误 |
cancel | 流水线构建被取消 |
CNB_PIPELINE_MAX_RUN_TIME
流水线最大运行时间,单位为毫秒。
CNB_RUNNER_IP
当前 Pipeline 所在 Runner 的 IP。
CNB_CPUS
当前构建流水线可以使用的最大 CPU 核数。
CNB_MEMORY
当前构建流水线可以使用的最大内存大小,单位为 GiB。
CNB_IS_RETRY
当前构建是否由 rebuild 触发。
HUSKY_SKIP_INSTALL
兼容 CI 环境下 Husky。
合并类变量
合并类变量概览
| 变量名 | 说明 |
|---|---|
| CNB_PULL_REQUEST | 是否为 PR 触发 |
| CNB_PULL_REQUEST_LIKE | 是否为合并类事件触发 |
| CNB_PULL_REQUEST_PROPOSER | PR 提出者 |
| CNB_PULL_REQUEST_TITLE | PR 标题 |
| CNB_PULL_REQUEST_DESCRIPTION | PR 描述 |
| CNB_PULL_REQUEST_BRANCH | PR 源分支名称 |
| CNB_PULL_REQUEST_SHA | PR 源分支最新 SHA |
| CNB_PULL_REQUEST_TARGET_SHA | PR 目标分支最新 SHA |
| CNB_PULL_REQUEST_MERGE_SHA | PR 合并后 SHA |
| CNB_PULL_REQUEST_SLUG | 源仓库 Slug |
| CNB_PULL_REQUEST_ACTION | PR 操作类型 |
| CNB_PULL_REQUEST_ID | PR 全局唯一 ID |
| CNB_PULL_REQUEST_IID | PR 仓库编号 |
| CNB_PULL_REQUEST_REVIEWERS | 评审人列表 |
| CNB_PULL_REQUEST_REVIEW_STATE | 评审状态 |
| CNB_REVIEW_REVIEWED_BY | 同意评审人列表 |
| CNB_REVIEW_LAST_REVIEWED_BY | 最后同意评审人 |
| CNB_PULL_REQUEST_IS_WIP | PR 是否为 WIP |
CNB_PULL_REQUEST
是否为 PR 触发。
取值规则:
| 触发事件 | 变量值 |
|---|---|
pull_request、pull_request.update、pull_request.target | true |
| 其他事件 | false |
CNB_PULL_REQUEST_LIKE
是否为合并类事件触发。
取值规则:
| 触发事件 | 变量值 |
|---|---|
| 合并类事件 | true |
| 其他事件 | false |
CNB_PULL_REQUEST_PROPOSER
PR 提出者名称。
CNB_PULL_REQUEST_TITLE
PR 标题。
CNB_PULL_REQUEST_DESCRIPTION
PR 描述。
CNB_PULL_REQUEST_BRANCH
PR 源分支名称。
CNB_PULL_REQUEST_SHA
PR 源分支最新提交的 SHA。
CNB_PULL_REQUEST_TARGET_SHA
PR 目标分支最新提交的 SHA。
CNB_PULL_REQUEST_MERGE_SHA
PR 合并后的 SHA。
取值规则:
| 触发事件 | 变量值 |
|---|---|
pull_request.merged | PR 合并后的 SHA |
pull_request、pull_request.update、pull_request.target、pull_request.mergeable、pull_request.comment | PR 预合并后的 SHA |
| 其他事件 | 无值 |
CNB_PULL_REQUEST_SLUG
合并类事件,源仓库的仓库路径,格式为 group_slug/repo_name 或 group_slug/sub_group_slug/.../repo_name。
CNB_PULL_REQUEST_ACTION
PR 操作类型。
可能的值:
| 值 | 说明 |
|---|---|
created | 新建 PR |
code_update | 源分支 push |
status_update | 评审通过或 CI 状态变更时 PR 变成可合并 |
CNB_PULL_REQUEST_ID
PR 的全局唯一 ID。
CNB_PULL_REQUEST_IID
PR 在仓库中的编号 IID。
CNB_PULL_REQUEST_REVIEWERS
PR 评审人列表,多个以 , 分隔。
CNB_PULL_REQUEST_REVIEW_STATE
PR 评审状态。
取值规则:
| 条件 | 变量值 |
|---|---|
| 有评审者且有人通过评审 | approve |
| 有评审者但无人通过评审 | unapprove |
| 其他情况 | 无值 |
CNB_REVIEW_REVIEWED_BY
PR 下同意评审的评审人列表,多个以 , 分隔。
CNB_REVIEW_LAST_REVIEWED_BY
PR 下最后一个同意评审的评审人。
CNB_PULL_REQUEST_IS_WIP
PR 是否被设置为 WIP。
取值规则:
| 触发事件 | 变量值 |
|---|---|
| 合并类事件 | true 或 false |
| 其他事件 | 无值 |
云原生开发类变量
云原生开发类变量概览
| 变量名 | 说明 |
|---|---|
| CNB_VSCODE_WEB_URL | 云原生开发地址 |
| CNB_VSCODE_MAX_RUN_TIME | 云原生开发最大运行时间 |
CNB_VSCODE_WEB_URL
云原生开发地址,仅声明了 services: vscode 时存在。
CNB_VSCODE_MAX_RUN_TIME
云原生开发环境最大运行时间,单位为毫秒,仅声明了 services: vscode 时存在。
Issue 类变量
Issue 类变量概览
| 变量名 | 说明 |
|---|---|
| CNB_ISSUE_ID | Issue 全局唯一 ID |
| CNB_ISSUE_IID | Issue 仓库编号 |
| CNB_ISSUE_TITLE | Issue 标题 |
| CNB_ISSUE_DESCRIPTION | Issue 描述 |
| CNB_ISSUE_OWNER | Issue 作者 |
| CNB_ISSUE_STATE | Issue 状态 |
| CNB_ISSUE_IS_RESOLVED | Issue 是否已解决 |
| CNB_ISSUE_ASSIGNEES | Issue 处理人列表 |
| CNB_ISSUE_LABELS | Issue 标签列表 |
| CNB_ISSUE_PRIORITY | Issue 优先级 |
CNB_ISSUE_ID
Issue 全局唯一 ID。
CNB_ISSUE_IID
Issue 在仓库中的编号 IID。
CNB_ISSUE_TITLE
Issue 标题。
CNB_ISSUE_DESCRIPTION
Issue 描述。
CNB_ISSUE_OWNER
Issue 作者用户名。
CNB_ISSUE_STATE
Issue 状态。
取值规则:
| 触发事件 | 变量值 |
|---|---|
issue.* | open 或 closed |
| 其他事件 | 空字符串 |
CNB_ISSUE_IS_RESOLVED
Issue 是否被解决。
取值规则:
| 触发事件 | 变量值 |
|---|---|
issue.* | true 或 false |
| 其他事件 | 空字符串 |
CNB_ISSUE_ASSIGNEES
Issue 处理人用户名列表,多个以 , 分隔。
CNB_ISSUE_LABELS
Issue 标签列表,多个以 , 分隔。
CNB_ISSUE_PRIORITY
Issue 优先级。
评论类变量
评论类变量概览
| 变量名 | 说明 |
|---|---|
| CNB_COMMENT_ID | 评论全局唯一 ID |
| CNB_COMMENT_BODY | 评论内容 |
| CNB_COMMENT_TYPE | 评论类型 |
| CNB_COMMENT_FILE_PATH | 评论所在文件 |
| CNB_COMMENT_RANGE | 评论所在代码行 |
| CNB_REVIEW_ID | 评审 ID |
| CNB_REVIEW_DESCRIPTION | 评审描述 |
CNB_COMMENT_ID
评论全局唯一 ID。
CNB_COMMENT_BODY
评论内容。
CNB_COMMENT_TYPE
评论类型。
取值规则:
| 评论类型 | 变量值 |
|---|---|
| PR 代码评审评论 | diff_note |
| PR 非代码评审评论以及 Issue 评论 | note |
| 其他情况 | 无值 |
CNB_COMMENT_FILE_PATH
PR 代码评审,评论所在文件。
CNB_COMMENT_RANGE
PR 代码评审,评论所在代码行,如 L12(单行) 或 L13-L16(多行)。
CNB_REVIEW_ID
PR 代码评审 ID。
CNB_REVIEW_DESCRIPTION
PR 代码评审描述。
NPC 类变量
NPC 类变量概览
| 变量名 | 说明 |
|---|---|
| CNB_NPC_SLUG | NPC 所属仓库路径 |
| CNB_NPC_SLUG_LOWERCASE | NPC 所属仓库路径(小写格式) |
| CNB_NPC_NAME | NPC 角色名 |
| CNB_NPC_SHA | NPC 仓库默认分支最新 SHA |
| CNB_NPC_PROMPT | NPC 角色 Prompt |
| CNB_NPC_AVATAR | NPC 角色头像 |
| CNB_NPC_ENABLE_THINKING | NPC 是否开启思考 |
| CNB_NPC_ENABLE_WORKMODE | NPC 是否开启工作模式 |
CNB_NPC_SLUG
NPC 所属仓库路径。
若为系统 NPC 则无值。
CNB_NPC_SLUG_LOWERCASE
NPC 所属仓库路径(小写格式)。
若为系统 NPC 则无值。
CNB_NPC_NAME
NPC 角色名。
CNB_NPC_SHA
NPC 所属仓库默认分支最新提交的 SHA。
若为系统 NPC 则无值。
CNB_NPC_PROMPT
NPC 角色 Prompt。
若为系统 NPC 则无值。
CNB_NPC_AVATAR
NPC 角色头像。
若为系统 NPC 则无值。
CNB_NPC_ENABLE_THINKING
NPC 角色是否开启思考。
若为系统 NPC 则无值。
CNB_NPC_ENABLE_WORKMODE
NPC 角色是否开启工作模式。工作模式下 NPC 拥有更高的权限,参考 CNB_TOKEN。
若为系统 NPC 则无值。