云匣 YunBox 兼容 Git LFS。PSD、模型、音频和视频直接存进你自己的腾讯云 COS,团队照常 git push、git clone,中间不经过任何服务端。
npm install -g yunbox命令行支持 macOS、Linux 和 Windows
指针文件 在 Git 里的样子
素材装进来以后,这里显示它的指针。代码和几行指针照旧去代码托管平台;素材由本机的传输代理签名后,直接上传到你的 bucket。没有要部署、要续费、要盯着的服务端。
你的电脑
git pushgit-lfs 找出 3 个素材git-yunbox lfs-agent 用本机密钥签名代码托管
GitHub、GitLab、工蜂,照旧使用
收到 1 个提交,3 个指针文件
你的 COS bucket
私有读写,按内容寻址
yunbox/team/game/04/26/0426c139eb…yunbox/team/game/59/d0/59d0ddff63…yunbox/team/game/c7/f5/c7f5f645ef…管理员给仓库接一次 COS,再给每位协作者开一个子账号。协作者登录后 clone,素材自动下载。哪里不对,先跑 yunbox doctor,每一项都附修复命令。
第一次给仓库接上 COS,只做一次
macOS 客户端和 yunbox inspect --push 用同一套检查:分别统计 Git pack 和 LFS 候选量,按大小列出每个文件,超出预算的标出来。下面的窗口可以直接操作。
game
/Users/alice/game
Git pack
1.24 MiB
压缩后的预计上传量预算 900 KiB
LFS 候选
74.2 MiB
3 个素材对象预算 100 MiB
LFS 尚未查询远端,实际上传量未知;远端已有对象可能跳过。
文件明细6 / 6 个对象 · 按大小降序
Git · 1,153,434 字节
b0332ac18c4a94b5a97b3af8584d3952f79e49ef…
这张图片进了 Git 而不是 LFS,Git pack 因此超出预算。检查 .gitattributes 有没有跟踪 *.png。
用 yunbox hook install --confirm 装上推送钩子后,超出预算的 git push 不会被直接拦下,而是弹出下面的对话框:推到哪个远端、哪些文件超限、每个文件多大,看完再决定取消还是继续。
推送到 github.com/owner/game-assets 超过限额
本地仓库 game-assets(main)
1 个文件版本超过单文件限额 200.0 MiB
Git pack
2.84 MiB / 50.0 MiB
压缩后预计上传6%
LFS 候选
810.5 MiB / 1.00 GiB
3 个素材,远端已有的会跳过79%
最大单文件超限
412.0 MiB / 200.0 MiB
原始大小206%
变更文件6 个文件 · 新增 2 · 修改 3 · 删除 1按本次上传大小排序
「本次上传」是文件原始大小,Git 会压缩和增量传输;同一文件的每个历史版本分别统计。
用 opening_hours 写法设定禁推时段,例如 Mo-Fr 09:00-18:00; We off。本仓库、团队、全局三层规则同时生效,命中时推送在上传前被中断;紧急修复时 yunbox freeze off --for 1h 快速关闭,规则保留,到点自动恢复。
当前仓库处在禁推时段时,菜单栏的云匣图标右上角会多一个圆点。点开面板:现在能不能推、今天和未来 7 天的禁推分布、每个项目的规则。勾选预设就能设置,右上角的开关和定时按钮可以一次关闭所有仓库。这里的演示面板可以直接操作:勾选预设、拨动开关试试。
yunbox freeze set "Mo-Fr 09:00-18:00"
yunbox freeze off --until 18:00
yunbox freeze check --json客户端的 COS 面板里有「复制给 AI 的接入说明」,粘贴给 Claude Code、Codex 或 Cursor 即可。云匣的命令都不需要交互、都有 JSON 输出,编程助手可以自己检查、接入、设时段;只有保存腾讯云密钥这一步留给你自己。
禁推中game · 18:00 后可以推送
Mo-Fr 09:00-18:00(本仓库)
没有全局规则在右上角「+」选择预设,对本机所有仓库生效
仓库里只记录素材放在哪个 bucket、哪个前缀。访问 COS 的密钥每人一把,存在各自电脑的钥匙串里。
提交进仓库,全组共享
.yunbox/config
[cos]
bucket = team-assets-1250000000
region = ap-shanghai
prefix = yunbox/team/game.gitattributes
*.psd filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text只记录素材放在哪里,没有任何密钥。不同项目可以用不同 bucket,也可以共用一个 bucket、各用一个前缀。
只在你自己的电脑上
macOS 钥匙串(yunbox)
SecretId AKID••••••••••••••••
SecretKey ••••••••••••••••••••.git/config
[lfs]
standalonetransferagent = yunbox
locksverify = false 每人一个子账号,只能读写这个前缀。有人离开项目,yunbox subaccount delete 之后对方的密钥立即失效。Linux 和 Windows 上密钥存在只有本人可读的文件里。
图形界面适合日常查看和接入;命令行负责传输,每位协作者都需要安装。两者可以同时使用。
选择仓库就能看推送体积、超限文件和 COS 直连状态,也能在窗口里保存密钥、一键接入 bucket。
下载 YunBox-macOS.zipbrew install git-lfs)安装包还没有经过 Apple 公证。解压后把 YunBox 拖进「应用程序」,第一次打开如果提示无法验证开发者,到「系统设置 → 隐私与安全性」点「仍要打开」;也可以在终端运行:
xattr -dr com.apple.quarantine /Applications/YunBox.app macOS、Linux、Windows 都能用。安装后同时得到 yunbox 和 git-yunbox,git yunbox init 和 yunbox init 完全一样。
npm install -g yunbox