diff --git a/docs/zh/docs/advanced/extending-openapi.md b/docs/zh/docs/advanced/extending-openapi.md
new file mode 100644
index 000000000..466961462
--- /dev/null
+++ b/docs/zh/docs/advanced/extending-openapi.md
@@ -0,0 +1,252 @@
+# 扩展 OpenAPI
+
+!!! warning "警告"
+
+ 本章介绍的功能较难,您可以跳过阅读。
+
+ 如果您刚开始学习**用户指南**,最好跳过本章。
+
+ 如果您确定要修改 OpenAPI 概图,请继续阅读。
+
+某些情况下,我们需要修改 OpenAPI 概图。
+
+本章介绍如何修改 OpenAPI 概图。
+
+## 常规流程
+
+常规(默认)流程如下。
+
+`FastAPI` 应用(实例)提供了返回 OpenAPI 概图的 `.openapi()` 方法。
+
+作为应用对象创建的组成部分,要注册 `/openapi.json` (或其它为 `openapi_url` 设置的任意内容)*路径操作*。
+
+它只返回包含应用的 `.openapi()` 方法操作结果的 JSON 响应。
+
+但默认情况下,`.openapi()` 只是检查 `.openapi_schema` 属性是否包含内容,并返回其中的内容。
+
+如果 `.openapi_schema` 属性没有内容,该方法就使用 `fastapi.openapi.utils.get_openapi` 工具函数生成内容。
+
+`get_openapi()` 函数接收如下参数:
+
+* `title`:文档中显示的 OpenAPI 标题
+* `version`:API 的版本号,例如 `2.5.0`
+* `openapi_version`: OpenAPI 规范的版本号,默认为最新版: `3.0.2`
+* `description`:API 的描述说明
+* `routes`:路由列表,每个路由都是注册的*路径操作*。这些路由是从 `app.routes` 中提取的。
+
+## 覆盖默认值
+
+`get_openapi()` 工具函数还可以用于生成 OpenAPI 概图,并利用上述信息参数覆盖指定的内容。
+
+例如,使用 ReDoc 的 OpenAPI 扩展添加自定义 Logo。
+
+### 常规 **FastAPI**
+
+首先,编写常规 **FastAPI** 应用:
+
+```Python hl_lines="1 4 7-9"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### 生成 OpenAPI 概图
+
+然后,在 `custom_openapi()` 函数里使用 `get_openapi()` 工具函数生成 OpenAPI 概图:
+
+```Python hl_lines="2 15-20"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### 修改 OpenAPI 概图
+
+添加 ReDoc 扩展信息,为 OpenAPI 概图里的 `info` **对象**添加自定义 `x-logo`:
+
+```Python hl_lines="21-23"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### 缓存 OpenAPI 概图
+
+把 `.openapi_schema` 属性当作**缓存**,存储生成的概图。
+
+通过这种方式,**FastAPI** 应用不必在用户每次打开 API 文档时反复生成概图。
+
+只需生成一次,下次请求时就可以使用缓存的概图。
+
+```Python hl_lines="13-14 24-25"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### 覆盖方法
+
+用新函数替换 `.openapi()` 方法。
+
+```Python hl_lines="28"
+{!../../../docs_src/extending_openapi/tutorial001.py!}
+```
+
+### 查看文档
+
+打开 http://127.0.0.1:8000/redoc,查看自定义 Logo(本例中是 **FastAPI** 的 Logo):
+
+
+
+## 文档 JavaScript 与 CSS 自托管
+
+FastAPI 支持 **Swagger UI** 和 **ReDoc** 两种 API 文档,这两种文档都需要调用 JavaScript 与 CSS 文件。
+
+这些文件默认由 CDN 提供支持服务。
+
+但也可以自定义设置指定的 CDN 或自行提供文件服务。
+
+这种做法很常用,例如,在没有联网或本地局域网时也能让应用在离线状态下正常运行。
+
+本文介绍如何为 FastAPI 应用提供文件自托管服务,并设置文档使用这些文件。
+
+### 项目文件架构
+
+假设项目文件架构如下:
+
+```
+.
+├── app
+│ ├── __init__.py
+│ ├── main.py
+```
+
+接下来,创建存储静态文件的文件夹。
+
+新的文件架构如下:
+
+```
+.
+├── app
+│ ├── __init__.py
+│ ├── main.py
+└── static/
+```
+
+### 下载文件
+
+下载文档所需的静态文件,把文件放到 `static/` 文件夹里。
+
+右键点击链接,选择**另存为...**。
+
+**Swagger UI** 使用如下文件:
+
+* `swagger-ui-bundle.js`
+* `swagger-ui.css`
+
+**ReDoc** 使用如下文件:
+
+* `redoc.standalone.js`
+
+保存好后,文件架构所示如下:
+
+```
+.
+├── app
+│ ├── __init__.py
+│ ├── main.py
+└── static
+ ├── redoc.standalone.js
+ ├── swagger-ui-bundle.js
+ └── swagger-ui.css
+```
+
+### 安装 `aiofiles`
+
+现在,安装 `aiofiles`:
+
+
+