尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Genshin Impact Theme Daily Task Wallpaper Generator
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗GenshinWallCraft generates task-overlay wallpapers from the artwork in source/ and lets you use them in two modes:
It also includes Pixel Studio, a separate workspace for drawing pixel art, animating modular characters, and building backgrounds and seamless tilesets. Open Create Pixel Art on the home page, Pixel Studio in the wallpaper editor, or go directly to /#pixel-studio. Pixel projects work without an account.
The stack is designed to run with Docker Compose only. No manual database setup and no separate MinIO install are required.
frontend - React app served by Nginx on http://localhost:5155backend - FastAPI app on http://localhost:8009minio - local object storage on http://localhost:9000 with console on http://localhost:9001Generated wallpapers and app data are stored in Docker volumes, so they survive container restarts.
cp -n .env.example .env
docker compose up -d --build
The first run can take a few minutes because Docker needs to build both images and install Python and Node dependencies.
http://localhost:5155http://localhost:9001MinIO uses these default credentials in the compose file:
wallcraftwallcraft123docker compose down
Anonymous users can generate and download without registering. Authenticated users can register, log in, save task state, and download the latest stored wallpaper.
Library → Browse library includes 24 human characters, 16 layered scenes, 15 props and sprites, and five original character bases. Search or filter by Fantasy, Cozy, School life, and Romcom to find a cast and setting. Open a starter project, use a character, add scene layers, or stamp a prop; every action supports undo.
Your current pixel project is autosaved in this browser's IndexedDB. Sign in to also autosave the editable project and current PNG result to your account after a short pause. Saved projects lets you reopen your work on another device, download its PNG, or remove older copies. Save failures are shown in the editor; temporary connection failures retry automatically, and revision conflicts offer recovery or Save as new copy.
Save project downloads an editable .pixel.json backup; Open project restores it on any device. Guests should download a backup before replacing their current browser project. On phones, the bottom bar opens Tools, Colors, Layers, Frames, Rig, and Library. Use Fit to size the canvas and Move to pan without drawing; choose Secondary in Colors or Erase terrain in Tools for actions otherwise available by right-click.
Drawing, project files, PNGs, sprite sheets, palettes, and tileset exports run in the browser. Animated GIF, APNG, and lossless WebP exports use the backend's anonymous /api/pixel/export endpoint. See Pixel Studio's feature and export guide for details and limits.
cd frontend
npm ci
npm test
npm run lint
npm run build
The pixel engine tests use Node's built-in test runner. To test animated exports and account autosave, install backend/requirements-dev.txt in your Python environment, then run from the repository root:
python -m unittest discover -s backend/tests -v
These backend tests exercise real codecs, authenticated project storage, ownership, revisions, limits, migrations, and database bootstrap using isolated test databases. They do not start the wallpaper scheduler or MinIO.
The compose file already wires the local services together. You normally do not need to edit anything for a self-hosted run.
Useful values to know:
/app/data/wallcraft.db in the persistent backend-data volume, including accounts, editable pixel projects, and their PNG results. Container rebuilds retain this volume; docker compose down -v deletes it.DATABASE_URL configures both the app and Alembic. Direct Python development defaults to backend/wallcraft.db; Docker runs migrations automatically at startup.wallpapers bucketbackend/.envIf you want to customize storage, credentials, or the WhatsApp scheduler later, edit docker-compose.yml and the backend environment values there.
Older versions kept SQLite in the container's /app/backend/wallcraft.db, outside the data volume. Before rebuilding an existing installation, pause editing and copy that live database into the volume. This command uses SQLite's backup API and refuses to replace an existing destination:
docker compose exec backend python -c 'from pathlib import Path; import sqlite3; target = Path("/app/data/wallcraft.db"); target.parent.mkdir(parents=True, exist_ok=True); assert not target.exists(), "Persistent database already exists; no copy made"; source = sqlite3.connect("file:/app/backend/wallcraft.db?mode=ro", uri=True); destination = sqlite3.connect(target); source.backup(destination); destination.close(); source.close()'
docker compose up -d --build
Fresh volumes are initialized once from the bundled database. Existing persistent databases are never replaced during startup. Back up the data volume along with MinIO when moving installations.
.
├── backend/
├── frontend/
├── source/
├── docker-compose.yml
└── README.md
/api path in the Nginx config.GenshinWallGen is an unofficial fan-made project and is not affiliated with or endorsed by Cognosphere / miHoYo. All Genshin Impact assets and trademarks belong to their respective owners.