news 2026/9/30 19:52:52

三款终端AI编程工具接入火山方舟:Codex、Claude Code、OpenCode 全流程指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三款终端AI编程工具接入火山方舟:Codex、Claude Code、OpenCode 全流程指南

过去半年,我把自己主力用的三款终端 AI 编程工具——Codex、Claude Code、OpenCode——全部接到了火山方舟的模型 API 上,在真实项目里跑了几个月的重构、测试生成和嵌入式代码开发。今天这篇就把整套接入流程原原本本写出来:三款工具各自的安装方式、配置文件怎么改、API Key 和模型 ID 怎么填,以及我实际踩过的高频报错和对应解法。无论你是第一次接触命令行 AI 助手,还是已经在用官方服务想把模型入口统一切到方舟,这份指南都能直接照着抄。

先说个结论:这类工具接第三方模型平台,核心就三件事——找到正确的接口地址(base URL)、填对鉴权信息(API Key)、写对模型标识(model ID)。三款工具虽然配置形式不同,但底层都是同一套思路。下面我会从原理讲到实操,再附上完整的报错排查表。

1. 先把思路理清:三个 AI 编码工具是怎么“换成”方舟模型的

1.1 这三款工具到底是什么,适合谁

Codex CLI 是 OpenAI 开源的终端编码智能体,特点是“计划—执行—检查”的循环做得特别扎实,它会自己读代码、跑命令、看报错、再改代码,很适合处理“改一个功能顺便把相关测试全修好”这类多步骤任务。

Claude Code 是 Anthropic 官方的终端工具,交互细腻,擅长把大任务拆给多个子代理并行干活,在大型代码库重构、跨文件改动这种场景下表现非常稳。它也是目前社区里生态最丰富的一个,各种斜杠命令、钩子脚本、子代理配置层出不穷。

OpenCode 则是开源且厂商中立的选手,配置自由度最高。它从一开始就支持自定义 provider,你可以把任意 OpenAI 兼容的服务填进去,v2 版本用 Go 重写后启动速度快了不少,还内置了 MCP 工具和 Skill 机制,适合喜欢自己折腾工作流的人。

这三款工具的定位差异,决定了它们接入方舟的方式也不一样,但共同点是:它们都允许你把底层的模型提供方换成自己的配置,而不是绑定官方账号。这正是整个指南的可行性基础。

1.2 接入前必须搞懂的三件事

第一件事是 base URL。它就是模型服务的接口根地址,火山方舟的 OpenAI 兼容地址形如https://ark.cn-beijing.volces.com/api/v3,工具会在后面自动拼接chat/completions或responses等具体路径。你在配置里填错了这个地址,后面所有报错都无从谈起。

第二件事是 API Key。方舟的 Key 形如sk-svcac...开头的一长串,它本质上就是你的“账号密码”,工具通过请求头里的Authorization: Bearer <key>完成鉴权。Key 通常通过环境变量传入工具,避免写死在配置文件里。

第三件事是 model ID。注意它不是模型的展示名,而是带版本号的具体标识,比如deepseek-v3-250324这种“模型名+日期”的格式,或者是ep-2025xxxxxxxx这样的推理接入点 ID。填错了工具会直接报 model not found。

可以这么理解:base URL 是门牌号,API Key 是门禁卡,model ID 是你具体要见的那个办事员。三样都对上了,工具才能正常把请求发到方舟并拿到模型回复。

1.3 为什么方案可行:OpenAI 兼容协议 + 自定义端点

很多人以为 Codex 只能用 OpenAI 官方模型,Claude Code 只能用 Claude 系列,其实不是。这三款工具在设计上都考虑了“换后端”的需求:Codex 从很早就支持在config.toml里定义自定义 provider;Claude Code 通过环境变量就能覆盖默认的 Anthropic 接口地址;OpenCode 更是把 provider 配置做成了核心功能。

火山方舟这边,核心卖点就是兼容性。它对外提供 OpenAI 风格的接口协议,同时平台上聚合了多家主流模型——DeepSeek、豆包、Kimi、GLM、通义千问等都能在同一个入口调用。这就相当于把各种牌子的终端设备接到同一台交换机上:工具不变,后端随便换。

这样做的好处很明显:一是你的使用习惯、提示词、工作流都不用改;二是模型选择灵活,哪个模型在具体任务上表现好就切哪个;三是计费和稳定性由平台统一兜底,不用分别维护好几家的账号和充值渠道。下面我从准备阶段开始,一步步讲。

2. 准备工作:账号、Key、模型选择一次搞定

2.1 开通方舟服务并创建 API Key

这一步是所有人的起点,流程本身不复杂,但有几个细节容易被忽视。首先注册并登录火山引擎控制台,完成实名认证,然后进入方舟(火山方舟)产品页面,开通模型服务。

开通之后,找到 API Key 管理页面,创建一个新 Key。创建时会让你填 Key 的名称,建议按用途命名,比如codex-dev、claude-code-prod,方便以后区分。创建成功后页面只会完整显示一次 Key,复制下来放到一个安全的地方,我习惯直接写进 shell 的配置文件里,而不是存到项目代码中。

注意:方舟的 Key 以sk-svcac开头,和 OpenAI 官方 Key 的sk-proj开头不一样。网上很多 401 报错,就是因为把别家平台的 Key 复制进来了,或者复制时带上了多余的空格和换行。

2.2 模型到底怎么挑:从使用场景倒推

方舟平台上模型的更新频率很高,具体有哪些模型、什么 ID,以你开通时控制台上展示的为准。但选型逻辑是稳定的,我按代码开发场景给出一个参考:

使用场景推荐模型(示例 ID,以控制台为准)选择理由
日常编码、写函数、补测试deepseek-v3系列性价比高,指令跟随好,绝大多数场景够用
疑难 bug、架构设计、深度推理deepseek-r1系列推理链长,适合需要多步思考的问题
中文写作、工具调用频繁doubao-seed系列豆包系列在中文理解和函数调用上表现稳定
超长上下文代码分析kimi-k2、glm-4.5-air长上下文窗口,适合整库级分析

我的实际感受是:日常交互默认用 DeepSeek V3,遇到工具反复搞不定的问题再手动切到 R1 或长上下文模型,这样成本和效果都能兼顾。如果你在方舟上创建了推理接入点,也可以直接用ep-2025xxxxxx这样的接入点 ID,效果等同于把某个模型版本固化成一个固定接口。

2.3 准备阶段最容易出的三个错

第一个错是模型 ID 抄错。控制台列表里的“模型名称”和“模型 ID”是两列,很多人只记名字,配置时随手填个deepseek-v3,结果工具报 404。正确做法是在开通页面点开模型详情,复制带日期后缀的完整 ID。

第二个错是 Key 的权限范围。方舟的 Key 默认可以访问你开通的所有模型,但如果你在团队场景里做过精细化授权,某个 Key 可能只能访问指定模型。这时候换模型报 401 或 403,先检查 Key 的绑定范围,别急着怀疑网络。

第三个错是环境变量没加载。很多人把 Key 写进了~/.zshrc但不 source,或者开了新的终端窗口就忘了 export。排查技巧是运行echo $VOLCENGINE_API_KEY | wc -c,看看变量到底有没有值、长度对不对。这一步能过滤掉一半以上的“假故障”。

3. Codex CLI 接入方舟:改好 config.toml 就行

3.1 安装 Codex CLI

Codex 的安装方式取决于你本机的环境。最通用的方式是 npm 全局安装,只要 node 环境没问题就能装:

npm install -g @openai/codex

macOS 用户也可以试试 Homebrew,但注意不同渠道的包名可能撞车,我建议直接 npm 一条路走到底。装完运行codex --version,能输出版本号就说明安装成功。

需要说明的是,Codex 默认安装后会引导你登录 OpenAI 账号。但如果你打算用自己的 API Key 接方舟,这个登录步骤完全可以跳过——只要配置了自定义 provider 和对应的环境变量,Codex 就不会走官方账号通道,也就不会弹登录界面。

3.2 修改 config.toml 定义自定义 provider

Codex 的主配置在~/.codex/config.toml,没有这个文件就手动创建。我用的完整配置是这样的:

model = "deepseek-v3-250324" model_provider = "volc" [model_providers.volc] name = "Volcano Ark" base_url = "https://ark.cn-beijing.volces.com/api/v3" env_key = "VOLCENGINE_API_KEY" wire_api = "chat"

解释一下每个字段的含义。顶层的model是默认模型 ID,model_provider指定用下面哪个 provider。[model_providers.volc]这一段定义了一个叫volc的自定义提供方:name只是显示名,base_url是方舟的接口地址,env_key告诉 Codex 从哪个环境变量读取 API Key,wire_api是协议格式。

wire_api这里要重点说。Codex 支持两种请求协议:chat对应 OpenAI 的 Chat Completions 接口,responses对应较新的 Responses 接口。方舟目前对两种协议都有支持,但兼容性上chat最稳,所以我的示例里写了chat。如果你确定方舟控制台有对应说明,也可以改成responses,但遇到诡异的报错时先切回chat排查。

配置好之后,在终端里设置环境变量:

export VOLCENGINE_API_KEY="sk-svcacxxxxxxxx"

如果不想每次都要 export,可以把这行写进~/.zshrc或~/.bashrc。我不建议把 Key 直接写进config.toml,万一配置文件被同步或分享出去,Key 就泄露了。

3.3 实战验证与日常使用

配置完先跑一个简单的非交互命令验证连通性:

codex exec "列出当前目录下有哪些文件,以及各自的用途"

正常情况下 Codex 会调用模型分析目录结构并给出回答。如果能看到回复,说明 base URL、Key、模型 ID 三者都通了。

日常使用我推荐两种模式:一种是直接运行codex进入交互式终端,适合边聊边改;另一种是codex exec "任务描述"这种一次性模式,适合在脚本或 CI 里调用。Codex 默认带 sandbox 机制,工具运行命令前会问你放不放心,不想被频繁打断可以跟它说“自动执行”,但权限敏感的目录还是建议保留确认步骤。

3.4 Codex 接入时的报错速查

我实际遇到最多的是 401 和 404 这两类。401 的报错文本通常是unexpected status 401 unauthorized: incorrect api key provided: sk-svcac****,看到这个基本就是 Key 的问题:要么环境变量没设,要么 Key 复制错了,要么 Key 在方舟控制台被吊销了。逐一检查即可,不用怀疑代码。

404 则多半是模型 ID 写错,或者该模型没有在方舟开通。注意方舟是按模型维度开通的,你在控制台只是“看到”了 DeepSeek 还不够,要确认状态是已开通。另外,如果你在 CC Switch 这类第三方切换工具里配置了 Codex 的转发端点,报错里出现failed while handling codex endpoint /responses,通常是转发地址本身访问不通或者协议不匹配。我的建议是:不要过度依赖切换工具,直接在 Codex 自己的配置文件里把 provider 写好,问题会简单得多。

4. Claude Code 接入方舟:环境变量方案最省事

4.1 安装 Claude Code

Claude Code 的安装同样简单,npm 一条命令:

npm install -g @anthropic-ai/claude-code

装完运行claude --version验证。Claude Code 也有官方安装脚本和桌面版,但 CLI 版对接自定义 API 最直接,社区里绝大多数玩法也都是围绕 CLI 展开的。

这里有个常见的认知偏差:很多人以为 Claude Code 必须要 Claude 官方账号才能用。实际上它读取的是环境变量,只要你在环境变量里指向别的 Anthropic 兼容服务,它就完全不碰官方账号体系。这也是为什么它能接方舟的核心原因。

4.2 用环境变量替换 Base URL 和鉴权

Claude Code 通过四个环境变量完成自定义接入:

export ANTHROPIC_BASE_URL="https://ark.cn-beijing.volces.com/api/v3/anthropic" export ANTHROPIC_AUTH_TOKEN="sk-svcacxxxxxxxx" export ANTHROPIC_MODEL="deepseek-v3-250324" export ANTHROPIC_SMALL_FAST_MODEL="deepseek-v3-250324"

ANTHROPIC_BASE_URL是接口地址,方舟为 Anthropic 协议提供了专门的兼容入口,具体路径以你当前拿到的方舟文档为准,常见的是/api/v3/anthropic这种形式。ANTHROPIC_AUTH_TOKEN就是你的方舟 API Key,注意这个变量的名字不能用ANTHROPIC_API_KEY,CLI 认的是AUTH_TOKEN,写错了会一直报鉴权失败。

ANTHROPIC_MODEL是主模型,ANTHROPIC_SMALL_FAST_MODEL是“小快模型”,Claude Code 会用它在后台做一些摘要、标题生成之类的小任务。如果平台不支持这个模型,建议把它也设成同一个主模型 ID,省得后台任务报错。

这四个变量建议写进 shell 配置文件,因为 Claude Code 启动时会起好几个子进程,每次手动 export 容易漏。写完之后记得source ~/.zshrc让配置生效。

4.3 验证与使用习惯

配置好后运行claude进入交互界面,先输入/status查看当前使用的模型和鉴权状态。如果显示的是你设置的 DeepSeek 模型 ID,并且没有报错,说明接入成功。接着可以随便让它读一个文件并解释内容,确认真实请求能通。

我的使用习惯是:大重构任务直接在主对话里描述目标,让 Claude Code 自己拆解;遇到跨文件改动时,它会自动拉起子代理分工。子代理消耗的 token 也会计入方舟账单,所以别开太多并行,否则一次任务可能烧掉平时十倍的量。

4.4 Claude Code 接入时的报错速查

Claude Code 最典型的报错是 401 和 404。401 绝大多数是ANTHROPIC_AUTH_TOKEN没设对或者 Key 无效,注意这个变量名和别的工具不一样,别把ANTHROPIC_API_KEY搬过来用。404 则集中在 base URL 的路径上——多一个/v3、少一个/anthropic都会导致请求找不到端点,对照你拿到的文档地址逐字符检查。

另外,如果子代理或者 hooks 触发的请求报 model not found,先确认这些后台任务的模型 ID 有没有单独设定。Claude Code 的某些功能会走ANTHROPIC_SMALL_FAST_MODEL,这正好呼应我前面说的:把主模型和小模型都指向同一个可用 ID,是最省心的方案。

5. OpenCode 接入方舟:JSON 配置一次搞定

5.1 安装 OpenCode

OpenCode 的安装方式也很多,我推荐官方脚本:

curl -fsSL https://opencode.ai/install | bash

npm 用户也可以npm install -g opencode-ai。装完运行opencode --version验证。OpenCode 的 TUI 界面比前两者更丰富,左侧能看到对话列表、上下文文件、工具调用记录,第一次打开可能需要花几分钟适应界面。

5.2 opencode.json 完整配置

OpenCode 的配置集中在一个 JSON 文件里,全局配置在~/.config/opencode/opencode.json,也可以在项目目录放一份做局部覆盖。我接方舟的配置如下:

{ "$schema": "https://opencode.ai/config.json", "provider": { "volcano": { "npm": "@ai-sdk/openai-compatible", "name": "Volcano Ark", "options": { "baseURL": "https://ark.cn-beijing.volces.com/api/v3", "apiKey": "{env:VOLCENGINE_API_KEY}" }, "models": { "deepseek-v3-250324": { "name": "DeepSeek V3" }, "deepseek-r1-250528": { "name": "DeepSeek R1" } } } }, "model": "volcano/deepseek-v3-250324" }

这段配置的核心是provider字段。OpenCode 底层用了 Vercel 的 AI SDK,所以这里要指定npm包为@ai-sdk/openai-compatible,意思是“用 OpenAI 兼容协议接入”。options里填方舟的baseURL,apiKey可以直接写 Key,但更安全的写法是{env:VOLCENGINE_API_KEY},让它从环境变量读取。

models下面列出你能用的模型 ID,注意后面在model字段引用时要加 provider 前缀,写成volcano/deepseek-v3-250324这种“提供商/模型”格式。很多人的报错就是忘记了前缀,OpenCode 找不到对应的 provider 就会怀疑你配置有问题。

5.3 配置 MCP 工具和 Skill

OpenCode 接入方舟只是第一步,真正让它好用的是 MCP 工具和 Skill。MCP 相当于给 AI 接上外部工具,比如文件搜索、数据库查询、浏览器操作。在opencode.json里用mcp字段注册本地服务端,形式大致是:

"mcp": { "my-tool": { "type": "local", "command": ["npx", "-y", "你的-mcp-服务名"] } }

Skill 则是给 AI 预置的“技能说明书”,通常放在配置目录的skills文件夹里,每个技能一个文件夹加一份SKILL.md,里面写清楚这个技能适用于什么场景、应该怎么调用。具体的目录结构和写法随版本更新可能有调整,动手前看一眼官方 schema 最稳妥。配好之后,你可以在对话里要求 AI 按特定技能处理任务,效果比每次临时写一大段提示词稳定得多。

5.4 OpenCode 接入时的报错速查

OpenCode 一个新用户常遇到的报错是控制台提示免费额度不可用之类的话——这通常说明它没有走你配置的 provider,而是落回了自带的公共免费通道。解决方法是确认model字段带上了volcano/前缀,并且环境变量里有 Key 可读。只要请求真的发到了方舟,就不会再触发这个提示。

另一个常见报错是Error from provider后面跟着 401。这时候重点检查{env:VOLCENGINE_API_KEY}的写法——花括号、冒号、变量名都要准确,OpenCode 对格式比较敏感。还有就是在 TUI 里用/models命令能实时切换已配置的模型,切完记得确认界面右上角显示的 provider 是你自己的volcano而不是默认值。

6. 全网高频报错实录:直接照表排查

我在接入过程中把网上能搜到的报错几乎都经历了一遍,整理成下面的速查表。遇到问题先对号入座,能省下大量搜索时间。

报错信息真实原因处理办法
401 unauthorized: incorrect api key provided: sk-svcac****API Key 无效、环境变量没加载、Key 被吊销用echo $变量名 | wc -c检查变量;重新复制 Key;确认没有多余空格
404 model not found模型 ID 写错或未开通到方舟控制台复制完整 ID(带日期后缀或ep-前缀)
400 this model's maximum context length is 1048576 tokens...单次请求上下文超长对话里执行/compact或/clear压缩历史;用.gitignore排除无关文件
429 rate limit或insufficient quota触发限流或账户余额不足降低并发请求;检查方舟账户余额和限流策略
opencode's free tier can only be used from...OpenCode 走了自带免费通道而非自定义 provider确认model字段带 provider 前缀,确保环境变量有 Key
failed while handling codex endpoint /responses切换工具配置的转发地址不可达或协议不匹配直接在 Codexconfig.toml配 provider,或把wire_api改回chat
502 Bad Gateway/timeout平台侧暂时不稳定稍后重试;检查请求体大小是否异常

表格里每一条我都实际触发过,其中上下文超长这条最有代表性。报错说模型最大上下文是 1048576 tokens,但你的 prompt 有 1198427 tokens——这不是模型不行,而是工具把整个对话历史、项目文件、工具输出全塞进了单次请求。解决思路不是换更大的模型,而是给工具“减负”:及时清历史、控制读取文件的范围、必要时分段处理。

关于local proxy failed这类报错,我再多说一句:它的本质是转发端点不可用,而不是模型问题。你只需要保证填的地址格式正确、该服务确实在正常运行,就能绕过去。排查时把链路拆成“终端工具 → 接口地址 → 方舟”三段,逐段用 curl 验证,问题定位会快很多。

7. 接入之后:上下文管理、省钱和团队协作的实操经验

7.1 上下文管理决定你能干多大事

接入方舟只是开始,真正区分使用水平的是上下文管理。三款工具都会把对话历史当作上下文发给模型,历史越长,单次请求的 token 越多,费用越高,也越容易触顶报错。

我的做法是:每完成一个小任务就主动/clear开启新会话,需要延续时说明一下背景就行,而不是让对话无限膨胀。对大型代码库,我会先用工具生成一份结构索引,再让 AI 按需读具体文件,避免它一把梭把整个仓库塞进上下文。Claude Code 的/compact功能也能把长对话压缩成摘要,适合做到一半不想丢进度的场景。

7.2 成本控制:小模型干小事,大模型干大事

方舟按 token 计费,不同模型价格差异可以到几十倍。我的经验是分层使用:文件名补全、格式化、简单提问这类任务用便宜的小模型;架构设计、疑难 Bug 分析才切到推理强的模型。这正好对应 Codex 的默认模型设置和 Claude Code 的SMALL_FAST_MODEL设计——把小模型留给后台杂活,能省下相当可观的费用。

另外,设置额度告警很有必要。方舟控制台支持用量预警,我设了一个比较保守的阈值,超过就提醒,避免一次失控的任务烧掉整月预算。团队场景下,给每个成员单独创建 Key 并设置限额,比共用一个大 Key 安全得多。

7.3 团队协作与 Key 安全

Key 安全这件事我再强调一遍:不要把 Key 写进项目代码、README、或者任何会进 Git 仓库的文件。我见过不止一次,有人图方便把 Key 写进.env又顺手提交到仓库,几小时内就被爬虫扫描并盗刷。

推荐的做法是:Key 只在个人 shell 配置文件或 CI 的 secret 中保存;为不同用途创建不同 Key,方便按维度做权限回收;定期轮换 Key,尤其是在成员离职或怀疑泄露时。方舟控制台对每个 Key 都有调用记录,异常流量第一时间能在后台看到。

7.4 我的日常工作流和一点个人体会

现在我的日常是:Orbit 规划任务用 Claude Code 搭好框架并拆分子代理,日常编码用 OpenCode 配好的方舟 DeepSeek V3 来跑,批量脚本或 CI 里的自动修复交给 Codex 的exec模式。三款工具共享同一个方舟入口,模型统一、账单统一、排错也统一。

如果说有什么体会最深,那就是“不要迷信工具,要理解协议”。Codex、Claude Code、OpenCode 虽然长得不一样,但本质上都是“把 prompt 打包成 HTTP 请求发给模型服务”。你只要理解了 base URL、API Key、model ID 这三个要素,不管以后出现什么新工具,接入任何一家兼容平台都是同一套方法论。这套配置我用了几个月,稳定性和可维护性都超出了预期,后续我还在尝试在方舟上接入本地私有模型做敏感代码的隔离开发,等跑通了再来补充。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 19:51:46

U-Net轮毂缺陷分割实战:从数据标注到模型部署全解析

简介&#xff1a;这份资源是一篇关于轮毂缺陷自动分割的技术论文&#xff0c;面向从事深度学习、图像处理及无损检测自动化研究的工程技术人员。文中提出基于U-Net卷积神经网络的改进方法&#xff0c;将原始模型中的最大池化替换为卷积操作&#xff0c;并引入Dropout层提升可靠…

作者头像 李华
网站建设 2026/9/30 19:39:37

基于SSM的大学生兼职论坛项目实战解析

SSM兼职论坛这个项目&#xff0c;我在带学生做毕设和自己接外包的时候碰到过很多次&#xff0c;可以说是一个很经典的JavaWeb练手项目。它既不追求高并发分布式那些花架子&#xff0c;也没有复杂到无法入手&#xff0c;而是把SSM框架、JSP页面渲染、jQuery/LayUI前端交互、MySQ…

作者头像 李华
网站建设 2026/9/30 19:36:52

JSP手机销售网设计说明书:MVC+MySQL全流程与避坑指南

简介&#xff1a;这份JSP手机销售网设计说明书面向计算机专业学生与Java Web初学者&#xff0c;提供一套完整的课程设计或毕业设计参考方案&#xff0c;帮助读者理解如何用JSP技术搭建一个具备注册、登录、购物车、商品浏览与查询等功能的在线购机平台。资源包内仅含1个docx文档…

作者头像 李华
网站建设 2026/9/30 19:31:25

arXiv引用格式导出全攻略:BibTeX、版本控制与文献管理实战

写论文最怕什么&#xff1f;数据出错是一类&#xff0c;参考文献翻车是另一类。特别是你手头引了一堆arXiv预印本&#xff0c;等要统一格式的时候&#xff0c;才发现从arxiv导出引用格式这件事儿&#xff0c;入口看着简单&#xff0c;真操作起来处处是细节。我这些年帮师弟师妹…

作者头像 李华
网站建设 2026/9/30 19:31:23

TensorFlow不是库而是AI交付操作系统:从安装到工业落地的全栈解析

1. 这不是“装个库”那么简单&#xff1a;TensorFlow到底在解决什么问题&#xff1f;很多人第一次听说TensorFlow&#xff0c;是在“Python深度学习环境配置”的教程里&#xff0c;或者在招聘JD上看到“熟悉TensorFlow者优先”。但如果你真去翻官方文档首页&#xff0c;第一行写…

作者头像 李华