{"id":46859236,"url":"https://github.com/codeeagle/taoyuan","last_synced_at":"2026-03-10T18:00:24.925Z","repository":{"id":342944883,"uuid":"1175719560","full_name":"CodeEagle/TaoYuan","owner":"CodeEagle","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-08T04:45:26.000Z","size":3797,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-08T09:48:58.855Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodeEagle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-08T04:23:54.000Z","updated_at":"2026-03-08T04:45:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CodeEagle/TaoYuan","commit_stats":null,"previous_names":["codeeagle/taoyuan"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CodeEagle/TaoYuan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FTaoYuan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FTaoYuan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FTaoYuan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FTaoYuan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeEagle","download_url":"https://codeload.github.com/CodeEagle/TaoYuan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FTaoYuan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30346475,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-10T18:00:19.385Z","updated_at":"2026-03-10T18:00:24.903Z","avatar_url":"https://github.com/CodeEagle.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TaoYuan - 懒猫微服迁移项目\n\n\u003e [!NOTE]\n\u003e 本项目将上游 [setube/taoyuan](https://github.com/setube/taoyuan) 迁移为懒猫微服（LazyCat）应用，优先复用上游官方镜像，并提供自动跟踪上游 Release 的构建工作流。\n\n**桃源乡** 是一款纯前端运行的文字版田园模拟经营游戏，灵感来自《星露谷物语》，采用像素风与中国风视觉设计。\n\n## 上游信息\n\n- 上游仓库: [setube/taoyuan](https://github.com/setube/taoyuan)\n- 上游主页: [https://github.com/setube/taoyuan](https://github.com/setube/taoyuan)\n- 当前上游版本: `2.2.0`\n- 上游镜像: `ghcr.io/setube/taoyuan:2.2.0`\n- 许可证: `CC BY-NC 4.0`\n- 作者: `setube`\n\n## 迁移说明\n\n这个应用是纯静态 Web 游戏，容器内由 `nginx` 提供页面服务：\n\n- 容器监听端口: `80`\n- 懒猫入口: `http://taoyuan-web:80/`\n- 必填环境变量: 无\n- 容器持久化目录: 无\n\n游戏进度和设置默认保存在浏览器 `localStorage` 中，不写入容器文件系统。应用内还自带存档导入导出和 WebDAV 云同步能力，因此本迁移不额外挂载 `/lzcapp/var` 数据目录。\n\n## 当前补丁\n\n上游 `2.2.0` 的 Web 版存档依赖 `localStorage`，且自动存档触发点在“结束一天”后。为避免玩家首次新开局、尚未睡过一晚就关闭页面时看起来像“每次打开都是新档”，当前迁移包额外覆盖了一版前端静态资源：\n\n- 新游戏创建完成后立即写入初始存档槽位\n- 通过 `content/` + `setup_script` 在安装时覆盖官方镜像中的站点文件\n\n这是一层前端补丁，不改变上游镜像中的 nginx 和运行端口。\n\n## 使用方式\n\n安装应用后，直接通过懒猫分配的子域名访问即可开始游戏。\n\n首次使用建议：\n\n1. 创建新存档。\n2. 如需跨设备同步，进入游戏内存档管理配置 WebDAV。\n3. 如需备份，使用游戏内导出功能下载 `.tyx` 存档文件。\n\n## 仓库文件\n\n- [lzc-manifest.yml](/Users/lincoln/Develop/GitHub/lzcat/TaoYuan/lzc-manifest.yml): LazyCat 应用定义\n- [lzc-build.yml](/Users/lincoln/Develop/GitHub/lzcat/TaoYuan/lzc-build.yml): LazyCat 打包配置\n- [icon.png](/Users/lincoln/Develop/GitHub/lzcat/TaoYuan/icon.png): 应用图标\n- [.github/workflows/update-image.yml](/Users/lincoln/Develop/GitHub/lzcat/TaoYuan/.github/workflows/update-image.yml): 自动跟踪上游版本并构建 `.lpk`\n\n## 自动更新工作流\n\n工作流支持 `lzcat-trigger` 所需的三个输入：\n\n- `force_build`\n- `target_version`\n- `publish_to_store`\n\n目标仓库自身的 `update-image.yml` 负责两件事：\n\n1. 保持补丁版 `content/` 与上游版本同步。\n2. 将上游镜像同步到当前仓库自己的 `ghcr.io/codeeagle/taoyuan:v\u003cversion\u003e`，供 `lzcat-trigger` 后续复制到 LazyCat 镜像源。\n\n`lzcat-trigger` 触发后的默认逻辑：\n\n1. 读取上游最新 GitHub Release。\n2. 触发当前仓库的 `update-image.yml`，拉取对应上游源码版本并重建补丁版 `content/`。\n3. 解析并确认上游镜像标签。\n4. 将官方镜像复制到 LazyCat 镜像源。\n5. 回写 `lzc-manifest.yml` 的 `version` 和 `image`。\n6. 构建 `.lpk`，并发布到当前仓库的 GitHub Release。\n\n## 本地校验建议\n\n如需继续验收，下一步建议：\n\n1. 运行仓库工作流，确认镜像复制和 `.lpk` 构建通过。\n2. 下载生成的 `.lpk`，在懒猫环境安装。\n3. 启动后检查首页是否能正常进入游戏、刷新后 `localStorage` 存档是否保留、WebDAV 上传下载是否正常。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeeagle%2Ftaoyuan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeeagle%2Ftaoyuan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeeagle%2Ftaoyuan/lists"}