GitHub Pages / build (push) Canceled after 0s
GitHub Pages / deploy (push) Canceled after 0s
Docker image / meta (push) Successful in 24s
Docs Docker image / meta (push) Successful in 7s
Docker image / build (amd64, linux/amd64, ubuntu-latest) (push) Failing after 59s
Docs Docker image / build (amd64, linux/amd64, ubuntu-latest) (push) Failing after 30s
Docker image / merge (push) Canceled after 0s
Docs Docker image / merge (push) Canceled after 0s
Docker image / build (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
Docs Docker image / build (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
158 lines
8.7 KiB
Markdown
158 lines
8.7 KiB
Markdown
<p align="center">
|
||
<img src="web/public/logo.svg" width="96" alt="MiragenFlow logo">
|
||
</p>
|
||
|
||
<h1 align="center">元境幻生 (MiragenFlow)</h1>
|
||
|
||
<p align="center">
|
||
<a href="https://linux.do/"><img src="https://img.shields.io/badge/Linux.do-Community-2b6de8?style=flat-square" alt="Linux.do"></a>
|
||
<a href="https://render.com/deploy?repo=https://github.com/basketikun/infinite-canvas"><img src="https://img.shields.io/badge/Render-Deploy-46e3b7?style=flat-square&logo=render&logoColor=111111" alt="Deploy to Render"></a>
|
||
<a href="https://github.com/basketikun/infinite-canvas"><img src="https://img.shields.io/github/stars/basketikun/infinite-canvas?style=flat-square&logo=github" alt="GitHub stars"></a>
|
||
<a href="https://github.com/basketikun/infinite-canvas/tags"><img src="https://img.shields.io/github/v/tag/basketikun/infinite-canvas?style=flat-square&label=version" alt="Version"></a>
|
||
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-f97316?style=flat-square" alt="License"></a>
|
||
<a href="https://vite.dev/"><img src="https://img.shields.io/badge/Vite-7-646cff?style=flat-square&logo=vite&logoColor=white" alt="Vite"></a>
|
||
<a href="https://reactrouter.com/"><img src="https://img.shields.io/badge/React_Router-7-ca4245?style=flat-square&logo=reactrouter&logoColor=white" alt="React Router"></a>
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="https://trendshift.io/repositories/50077?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-50077" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/50077" alt="basketikun%2Finfinite-canvas | Trendshift" width="250" height="55"/></a>
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="docs/content/docs/overview/quick-start.mdx">快速开始</a> · <a href="docs/content/docs/overview/features.mdx">功能介绍</a> · <a href="docs/content/docs/overview/render.mdx">Render 部署</a> · <a href="docs/content/docs/overview/docker.mdx">Docker 部署</a> · <a href="docs/content/docs/canvas/canvas-node-manual.mdx">画布节点操作手册</a> · <a href="docs/content/docs/canvas/canvas-shortcuts.mdx">画布快捷键</a> · <a href="SECURITY.md">漏洞提交</a> · <a href="docs/content/docs/progress/todo.mdx">待办事项</a>
|
||
</p>
|
||
|
||
元境幻生是一款面向图片、文本和音频创作的开源工作台。它把无限画布编排、AI 生成、图片编辑和资产沉淀放在同一个界面里,适合连续探索视觉方案并管理生成结果。
|
||
|
||
> [!CAUTION]
|
||
> 项目目前处于开发阶段,不保证历史数据兼容。各种本地存储格式都可能直接调整,欢迎关注后续更新。
|
||
>
|
||
> 如果你需要稳定维护自己的分支,建议自行 fork 后独立开发。二次开发与 PR 请保留原作者信息和前端页面标识。
|
||
|
||
## 赞助商
|
||
|
||
<table>
|
||
<tr>
|
||
<td width="190" align="center">
|
||
<a href="https://www.atlascloud.ai/zh?utm_source=github&utm_medium=link&utm_campaign=miragenflow" target="_blank" rel="noopener noreferrer"><img src="assets/atlascloud.svg" width="163" alt="Atlas Cloud"></a>
|
||
</td>
|
||
<td>
|
||
<a href="https://www.atlascloud.ai/zh?utm_source=github&utm_medium=link&utm_campaign=miragenflow" target="_blank" rel="noopener noreferrer">Atlas Cloud</a> provides a unified AI API for image, text, and other model services. Instead of managing multiple vendor integrations, you connect once to access a broad model catalog. Check out <a href="https://www.atlascloud.ai/console/coding-plan" target="_blank" rel="noopener noreferrer">Atlas Cloud's coding plan</a> for budget-friendly API access.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="190" align="center">
|
||
<a href="https://metaso.cn/minimax-h3/?s=inf" target="_blank" rel="noopener noreferrer"><img src="assets/metaso.jpg" width="163" alt="秘塔科技"></a>
|
||
</td>
|
||
<td>
|
||
<strong>AI API 服务|秘塔科技</strong> 提供兼容 <strong>OpenAI 协议</strong> 的模型 API 服务,适合接入图片、文本和音频创作流程。通过 <a href="https://metaso.cn/minimax-h3/?s=inf" target="_blank" rel="noopener noreferrer">专属链接</a> 注册可领取优惠。
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="190" align="center">
|
||
<a href="https://infistar.ai/register?aff=4X3V9NA9&ref_source=link" target="_blank" rel="noopener noreferrer"><img src="assets/infistar.png" width="163" alt="Infistar.ai 无限星河"></a>
|
||
</td>
|
||
<td>
|
||
<strong>元境幻生 × Infistar.ai 无限星河|多模态 API</strong> 💡 提供兼容 OpenAI 标准接口的图片、文本和音频模型服务,支持透明的模型倍率与调用明细。通过 <a href="https://infistar.ai/register?aff=4X3V9NA9&ref_source=link" target="_blank" rel="noopener noreferrer">专属链接</a> 注册可享优惠。
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
## 核心功能
|
||
|
||
- 首页与项目库:保留网站首页、多画布项目管理、导入导出和项目删除。
|
||
- 无限画布:节点拖拽缩放、连线、分组、小地图、撤销重做和多种画布背景。
|
||
- AI 创作:浏览器直连用户配置的接口,支持图片、文本和音频生成以及参考图编辑。
|
||
- 图片工具:反推提示词、多角度生成、裁剪、遮罩编辑、切分和本地放大。
|
||
- 资产与同步:本地资产库支持文本和图片;WebDAV 可同步画布、资产及图片/音频文件。
|
||
- 模型配置:支持多渠道、默认模型、配置导入导出,以及图片、文本和音频自定义调用脚本。
|
||
- 内部插件能力:保留画布节点注册、运行时和 TypeScript SDK,供项目内部构建扩展节点。
|
||
|
||
完整功能说明见 [功能介绍](docs/content/docs/overview/features.mdx)。
|
||
|
||
如果你在为担心没有合适的生图API来发愁,可以查看该免费生图项目:[chatgpt2api](https://github.com/basketikun/chatgpt2api)
|
||
|
||
## 快速开始
|
||
|
||
AI API Key、Base URL、画布和资产默认保存在浏览器本地,也可以使用 WebDAV 保存画布资产文件。
|
||
|
||
### 本地开发
|
||
|
||
```bash
|
||
git clone git@github.com:basketikun/infinite-canvas.git
|
||
cd infinite-canvas
|
||
npm --prefix admin install --ignore-scripts
|
||
cd web
|
||
bun install
|
||
bun run dev:all
|
||
```
|
||
|
||
统一入口为 `http://localhost:3000`:前台访问 `/`,后台管理台访问 `/admin/`。
|
||
|
||
### Docker 运行
|
||
|
||
```bash
|
||
git clone git@github.com:basketikun/infinite-canvas.git
|
||
cd infinite-canvas
|
||
docker compose up -d
|
||
```
|
||
|
||
运行后默认只使用 3000 端口,可访问 `http://localhost:3000`;后台管理台位于 `http://localhost:3000/admin/`。
|
||
|
||
首次打开后进入右上角配置,填入自己的 OpenAI 兼容 `Base URL` 和 `API Key`。
|
||
|
||
如果默认的 OpenAI 接口调用方式与您的 API 不同,可自定义图片、文本或音频脚本调用。
|
||
|
||
## 效果展示
|
||
|
||
<table width="100%">
|
||
<tr>
|
||
<td width="50%"><img src="https://i.ibb.co/TDFvGWDT/image.png" alt="image" border="0"></td>
|
||
<td width="50%"><img src="https://i.ibb.co/zVwJq3YS/image.png" alt="image" border="0"></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%"><img src="https://i.ibb.co/PvY3qhhK/image.png" alt="image" border="0"></td>
|
||
<td width="50%"><img src="https://i.ibb.co/7D04LwN/image.png" alt="image" border="0"></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%"><img src="https://i.ibb.co/bj30FtS5/5.png" alt="5" border="0"></td>
|
||
<td width="50%"><img src="https://i.ibb.co/hxRvjw51/image.png" alt="image" border="0"></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%"><img src="https://i.ibb.co/jkWsF8q1/image.png" alt="image" border="0"></td>
|
||
<td width="50%"><img src="https://i.ibb.co/XrnfXHx7/image.png" alt="image" border="0"></td>
|
||
</tr>
|
||
</table>
|
||
|
||
## 联系方式
|
||
|
||
项目定制二次开发需求 / 生图 API 需求可联系。
|
||
|
||
邮箱:1844025705@qq.com · QQ:1844025705
|
||
|
||
## 赞助支持
|
||
|
||
本项目长期开放广告赞助合作,欢迎品牌 / 产品投放,你的支持是持续更新的动力!
|
||
|
||
有广告赞助意向请通过上方联系方式沟通。
|
||
|
||
## 社区支持
|
||
|
||
学 AI,上 L 站:[LinuxDO](https://linux.do/)
|
||
|
||
点击链接加入群聊【AI开源交流】:https://qm.qq.com/q/DFnKzZ807u
|
||
|
||
## 开源协议
|
||
|
||
本项目使用 [MIT License](LICENSE)。任何人都可以免费使用、复制、修改、分发、再授权和商业使用本项目,也可以用于闭源产品。
|
||
|
||
## Star History
|
||
|
||
<a href="https://www.star-history.com/?repos=basketikun%2Finfinite-canvas&type=date&legend=top-left">
|
||
<picture>
|
||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=basketikun/infinite-canvas&type=date&theme=dark&legend=top-left" />
|
||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=basketikun/infinite-canvas&type=date&legend=top-left" />
|
||
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=basketikun/infinite-canvas&type=date&legend=top-left" />
|
||
</picture>
|
||
</a>
|