跳转到内容

从 GitHub、.zip 或 Lovable 导入已有应用

要点在“项目”页打开“导入”,选择 GitHub、.zip 文件或 Lovable。MonstarX 会在几秒内检查代码,并告诉你它能否直接运行。点击“导入并运行”,应用就会在预览中打开,聊天、编辑模式、版本和 QA 都能直接用于你自己的代码。MonstarX 无法运行的应用(手机应用、Django、Rails 等)可以改为由它研究后重建。

已经有一个应用了?无论是开发者做的、从其他 AI 应用构建平台导出的,还是放在某个 GitHub 仓库里的,都可以导入。MonstarX 会先检查,并在几秒内告诉你能否运行它。之后,它会在预览中按原样运行,你可以像对待 MonstarX 构建的应用一样,通过聊天继续完善它。

在项目页的输入框中打开导入,选择代码所在的位置。

  1. 选择导入 → GitHub。

  2. 粘贴仓库地址(例如 github.com/acme/shop 或直接写 acme/shop),然后点击检查。如果你已连接 GitHub 账户,会列出你的仓库供你选择,包括私有仓库。

  3. 查看检查结果。如果应用在某个分支或文件夹中,可以另选一个,系统会重新检查。

  4. 点击导入并运行。

任何公开仓库都可以通过地址导入。私有仓库需要先从项目的 GitHub 菜单连接 GitHub。详见 GitHub。

标签标题含义
可直接运行“可以直接在 MonstarX 中运行”Vite 应用(或从 MonstarX 导出后再导回来的应用)。它在 MonstarX 上运行、编辑和发布。
可直接运行 · 通过你的托管服务发布“在 MonstarX 中运行,通过你的托管服务发布”自带服务器的应用:Next.js、Remix、Astro、Nuxt、SvelteKit、Create React App。它在这里运行和编辑;你可以通过发布 → Vercel 发布,或者把更改保存到 GitHub,继续使用现有的托管服务。
无法在此运行“MonstarX 无法直接运行,但可以重建”手机或桌面应用、纯 HTML 网站,或用 Django、Rails、Laravel、Go 等构建的网站。MonstarX 可以研究它,并把它重建为 Web 应用。
暂时无法导入例如“这是程序库,而非应用”或“内容过大,无法导入”MonstarX 既无法运行也无法重建的内容。说明文字会告诉你原因,以及怎样做才能改变结果(通常是导入存放应用的那个文件夹)。

每个检查结果都会列出应用的构建技术、大小,以及示例环境变量文件中列出的密钥(像 VITE_MAPBOX_TOKEN 这样的设置),但绝不会显示它们的值。不影响导入的警告会以琥珀色显示:已提交到仓库的 .env 文件(不会被复制,其中的密钥应放到后端 → 密钥)、通过 Docker Compose 启动的服务、自带的 API 服务器、Git LFS 中的文件,或超过 10 MB 而被排除的文件。

工作区会打开,并显示一张介绍导入内容的卡片,应用随即在预览中启动(第一次启动需要安装依赖包,大约需要一两分钟)。

应用密钥列出了代码读取的每一项设置,并按实际需要程度分类:必需(读取它的那部分功能缺了它就无法运行)、选填(代码有备用处理方式)和未使用。粘贴值后点击添加,或者在项目自带的示例文件提供了值时点击使用“…”,预览就会带着这个值重新启动。这些值会加密保存在后端 → 密钥中。

完全不知道这些值是什么?点击不知道这些值?请询问创建项目的工具,会生成一条消息,你可以把它粘贴到项目原本所在的工具中(如果是 Lovable 项目,就粘贴到 Lovable 的聊天里),请它列出每个密钥以及在哪里复制,而不改动任何代码。

如果 MonstarX 发现有密钥直接写在代码里,卡片会指出它的类型和所在文件(绝不显示值),并把机密类的密钥(比如 Stripe 私钥、OpenAI 密钥)作为警告放在最上方。

  • 预览、聊天、编辑模式、版本和 QA 都可以直接用于现有代码。MonstarX 会沿用应用自身的代码和写法,并添加应用需要的任何依赖包。
  • 发布:Vite 应用可以像其他应用一样在 MonstarX 上发布。自带服务器的应用由你的托管服务发布:通过发布 → Vercel,或者保存到 GitHub,由你的托管服务获取更新。详见其他托管服务。
  • 导出会按原样提供整个仓库,包括图片。
  • MonstarX 自己的数据库和账户不会被添加。导入的应用会继续使用其代码原本使用的服务(Supabase、Firebase 或它自己的 API),后端 → 数据库中也会说明这一点。应用需要的密钥请放在后端 → 密钥中。

当你用自己已连接的 GitHub 账户从 GitHub 导入,并且对该仓库有推送权限时,项目会一直与仓库保持关联。MonstarX 会在你导入时所在的提交上创建一个名为 monstarx 的分支,并把更改保存到那里,你的默认分支永远不会变动。想把更改合并到主分支时,随时可以从 monstarx 发起一个 pull request;项目的 GitHub 菜单中有指向 GitHub 比较页面的链接。在 GitHub 上推送到该分支的修改也会同步回 MonstarX。详见 GitHub。

如果 MonstarX 无法运行我的应用怎么办?

Section titled “如果 MonstarX 无法运行我的应用怎么办?”

对于手机应用(Expo、React Native、Flutter、Swift、Android)、桌面应用,或者 Django、Rails、Laravel、Go 网站,检查结果会提供阅读代码并规划重建。

MonstarX 会创建一个新项目,把原始代码(只读)放在一旁,研究它,然后提出一份重建规划:它的界面、数据、代码中的规则、用到的服务以及每项服务的处理方式(保留、替换或舍弃)、不会带过来的内容,以及按原样保留的逻辑。告诉它哪里不对,规划就会修改;点击开始构建即可开始构建。任何细节都可以随时在原始代码中搜索查阅。对于可以在这里运行的应用,也会提供改为在 MonstarX 上重建,供你在想使用 MonstarX 自己的数据库、账户和发布功能时选择。

限制数值
代码最多 3,000 个文件、共 12 MB,每个文件 400 KB
图片和其他文件ZIP 导入最多 500 MB(从 GitHub 导入最多 100 MB),每个文件 10 MB
.zip 文件排除依赖和构建产物之前,最大 500 MB
重建最多 1,500 个文件、共 5 MB 代码

超过限制时,检查结果会写明具体数值、上限以及解决办法,通常是只导入存放应用的那个文件夹。

导入会修改我的 GitHub 仓库吗?

不会修改你的默认分支。如果有推送权限,更改会推送到 monstarx 分支;如果没有,仓库只会被读取。

可以导入 monorepo 吗?

可以。MonstarX 会找到存放应用的文件夹,你也可以在检查结果中另选一个文件夹。

可以导入从 MonstarX 导出的应用吗?

可以。它会作为一个完整的 MonstarX 项目回来(使用一个新的空数据库,原应用的数据保留在原处)。

运行导入的代码安全吗?

它在专属的安全云端电脑中运行,安装依赖包时也会关闭安装脚本。

可以导入别人写的代码吗?

只能导入你有权使用的代码。检查结果会显示仓库的许可证,或注明未声明许可证。