> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overleaf 导入 API

> 让其他网站在 Kubernetes 部署中打开 LaTeX 代码片段和项目。

导入 API（`/docs` 以及 "Open in Ayakaleaf" 按钮，即 `open-in-overleaf` 模块）运行在每个 Ayakaleaf Pro pod 的 **web** 服务中，默认处于启用状态。通过 URL 提供的文件会经由同一 pod 中的 linked-url-proxy 下载。调用方式请参见 [Overleaf 导入 API](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/overleaf-toolkit/integrations/overleaf-import-api.md)。

| | |
| - | - |
| 服务 | web（`open-in-overleaf` 模块）；通过 linked-url-proxy 下载 |
| 外部 → Overleaf | 浏览器从任意网站向 `${OVERLEAF_SITE_URL}/docs` 发送 `GET` 或 `POST` 请求 |
| Pod → 外部 | `snip_uri` 和 `zip_uri` 下载，限制方式参见[外部 URL](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/kubernetes/external-url.md) |
| 状态 | 未登录访客的请求，在 Redis 中保留 10 分钟，直到其登录 |
| 定期任务 | 无 |

### 配置

无需任何操作即可启用。ConfigMap 中的相关设置：

| 设置 | |
| - | - |
| `OVERLEAF_ALLOW_PUBLIC_ACCESS: "true"` | 未登录访客可以打开 `/devs`，其发送的请求会被保留直到其登录，参见[公开访问](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/kubernetes/authentication/public-access.md)。 |
| `MAX_UPLOAD_SIZE` | 单个请求可携带的最大 ZIP 大小，单位为 MB（默认 `50`）。你的 ingress 或负载均衡器也必须接受该大小的请求体。 |
| `OVERLEAF_LINKED_URL_*` | `snip_uri` 和 `zip_uri` 可以指向哪些地址，参见[外部 URL](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/kubernetes/external-url.md)。 |

### 多个副本

无需额外配置。未登录访客的请求保存在 Redis 中，因此无论访客登录后到达哪个副本，都可以继续处理该请求。

### 在 Kubernetes 上的测试

在 Kubernetes 1.37 上以单副本运行时，我们针对导入 API 的端到端测试全部通过（14 个用例）：`/devs` 页面及其示例项目、代码片段、完整文档、URL 编码的链接以及来自 data URL 的文件转换为项目、拒绝无法转换为项目的提交、拒绝从内部地址下载、未登录时提交的内容和链接在登录后得以保留，以及在启用 `OVERLEAF_ALLOW_PUBLIC_ACCESS` 时，未登录访客访问 `/devs` 和提交的代码片段在登录后恢复一次；最后一个用例在 HAProxy 之后的三个副本上也通过了测试。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.