“Overleaf 导入 API”功能
从 Ayakaleaf Pro v6.3 开始,你可以创建链接,从某个 URL 导入 LaTeX 文件或 zip 压缩的项目,并在你自己的 Ayakaleaf 实例中打开它,类似于 Overleaf 的 “Open in Overleaf” API。 此功能默认启用,你只需访问your.overleaf.com/devs 即可查看详细页面和说明。
除非设置了
OVERLEAF_ALLOW_PUBLIC_ACCESS=true,否则访问 /devs 页面需要登录,请参阅未登录访客。
https://example.com/main.tex 托管了一个 LaTeX 文件,或在 https://example.com/project.zip 托管了一个完整项目,你可以创建一个链接,将其导入到你自己的 Ayakaleaf Pro 实例中并打开新项目:
- LaTeX 文件
- ZIP 项目
ayakaleaf.example.com 替换为你的实例域名。
在 Ayakaleaf Pro 中打开 LaTeX 项目
从 Ayakaleaf Pro v6.3 开始,你可以创建一个链接,将 LaTeX 文件或 zip 压缩的项目导入到你自己的 Ayakaleaf Pro 实例中。当有人打开该链接时,Ayakaleaf Pro 会根据所提供的文件创建一个新项目,并在编辑器中打开它。 将链接指向你的实例的/docs 端点:
例如,如果你的文件托管在
example.com 上,这些链接会将它们导入到托管在 ayakaleaf.example.com 的 Ayakaleaf Pro 实例中。
使用 Base64 导入项目
你可以将 LaTeX 文件或 zip 压缩的项目以 Base64 data URL 的形式直接嵌入到”Open in Ayakaleaf”链接中。这样无需将文件托管在单独的 URL 上,即可创建导入链接。
要导入 ZIP 项目,请对 ZIP 文件进行 Base64 编码,并改为通过
zip_uri 传递。构造任一链接时,请对完整的 data URL 使用 encodeURIComponent。对于大型项目,请使用托管的 ZIP URL,因为浏览器和服务器的 URL 长度限制可能会使 Base64 链接难以使用。
添加”Open in Ayakaleaf”按钮
你可以使用 HTML 表单,在访客点击按钮时导入文件。使用method="post" 将表单提交到你的实例的 /docs 端点。
对于托管的 LaTeX 文件:
snip_uri 替换为 zip_uri,并将其指向 ZIP 文件。你也可以直接提交 LaTeX 源码:使用 snip 提交原始文本,或使用 encoded_snip 提交 URL 编码的文本。
请将 ayakaleaf.example.com 替换为你的实例域名。如果你的实例启用了跨域请求拦截,请将托管该表单的网站添加到 ALLOWED_ORIGINS 中。
未登录访客
新项目会创建在访客的账户中,因此访客需要登录。未登录访客如何完成导入取决于导入的发送方式:- 链接(
GET /docs?...)适用于所有实例:访客会被引导至登录页面,登录后导入会继续进行。 - 表单(
POST /docs)需要设置OVERLEAF_ALLOW_PUBLIC_ACCESS=true才能供未登录访客使用。此时提交内容会被保留 10 分钟,直到访客登录,并且仅使用一次。
可以导入哪些 ZIP 或 TeX 资源?
可以导入哪些 ZIP 或 TeX 资源?
Ayakaleaf Pro 使用
linked-url-proxy 微服务(主要用于 external-url.md)来获取外部资源。一般来说,任何可通过互联网公开访问的 ZIP 或 TeX 资源都可以导入。出于安全原因,托管在私有网络或内部网络上的资源会被阻止。从重新发布的 Ayakaleaf Pro 6.3.0(2026 年 10 月 3 日)开始,你可以通过 OVERLEAF_LINKED_URL_OUTBOUND_PROXY 配置一个 HTTP(S) 代理,用于获取外部 ZIP 和 TeX 资源。有关配置和网络访问限制,请参阅出站代理。
