先看这三件事
GitHub 可以理解成一个网盘。小手机会把和「导出备份」相同的那一份文件,推到你自己的仓库里,文件名是 y4t-backup.json。这不是把备份推进做小手机的那个公开项目。
小手机关掉,或浏览器把页面冻住之后,定时不会在后台自己跑。手机浏览器没有可靠的「到点就推」能力。所以这是「开着的时候自动推」,再加一个手动「现在推送」。
玩完一次、要关页面之前,点一次「现在推送」最稳妥。「导出备份」把文件下载到自己手机上,仍然可以一起用。
备份里有接口密钥、聊天和人设,也有语音密钥、面具、世界书和记忆。公开仓库等于把这些内容发到网上。谁拿到链接,谁都能看见。
小手机如果发现仓库是公开的,会拒绝推送,并告诉你先改成私人。它不会把这份备份发到公开仓库里。
GitHub 单文件上限大约 100MB。表情和图片很多时,一份备份可能推不上去。那时小手机会在备份那一栏写明失败,不会假装已经备份了。
失败之后,请改用「导出备份」把文件存到自己找得到的地方,或先删掉一些不再用的表情和图片,再点「现在推送」。
第一步:注册 GitHub
-
打开注册页
如果已经有账号,直接去 https://github.com/login 登录,然后跳到第二步。
-
填写邮箱
用一个你收得到信的邮箱。后面验证码会发到这里。填完点 Continue(继续)。
-
设置密码
密码至少 8 位,里面要有数字和小写字母。这个密码是登录 GitHub 用的,和下面的「令牌」不是同一个东西。点 Continue。
-
取一个用户名
这一格英文叫 Username。它会变成仓库名的前半段。只能用英文、数字和短横线,不能有空格和中文。
例如用户名取
xiaotao。请把它记下来。点 Continue。 -
收验证码
去邮箱里找 GitHub 发来的数字,填进网页。有时还要做一个小拼图,按提示点即可。
-
跳过问卷
注册成功后,GitHub 可能问你是学生还是开发者、想做什么。这些和备份无关。看到 Skip(跳过)或 Skip personalization 就点掉。
- 登录用的邮箱和密码
- 用户名,例如
xiaotao
第二步:建一个私人仓库
仓库就是放备份的那个格子。免费账号可以建私人仓库,不用付钱。
-
打开新建页面
登录后访问:https://github.com/new
也可以点网页右上角的 +,再点 New repository(新建仓库)。
-
仓库名字用英文
Repository name 填
y4t-backup。不要空格,不要中文。这个名字就是仓库名的后半段。下面的 Description(描述)可以空着。
-
一定选 Private
名字下面有两个选项:
- Public:公开。任何人都能看见。不要选。
- Private:私人。只有你登录之后能看见。选这个。
-
其余可以不勾
Add a README 勾不勾都行。小手机稍后会自己放上
y4t-backup.json,不冲突。 -
创建
点绿色的 Create repository(创建仓库)。
第三步:在仓库设置里确认它是私人的
建好之后先核对一次。页面左上角、仓库名字旁边,应该有一个 Private 小标签。看到的是 Public,就按下面改回来。
-
进入仓库设置
打开这个仓库,点顶部的 Settings(设置)。这是仓库自己的设置,不是右上角头像里的账号设置。
-
滚到页面最下面
左侧如果还停在 General(常规)就对了。一直往下,找到 Danger Zone(危险区域)。
-
改成私人
点 Change repository visibility(更改仓库可见性),再点 Change to private(改为私人)。
GitHub 会让你输入仓库全名来确认,例如
xiaotao/y4t-backup。输入后点确认。改完,名字旁边的标签会变成 Private。
尤其不要放进 yore-for-two 那个用来发小手机程序的仓库。那个仓库是公开的。请只用你刚刚新建的这个私人仓库。
第四步:抄下仓库名
小手机「仓库」那一格要的是两段,中间一个斜杠:用户名/仓库名。
-
看浏览器地址栏
打开你的仓库时,地址类似:
https://github.com/xiaotao/y4t-backupgithub.com/后面的整段就是要填的内容:xiaotao/y4t-backup。 -
也可以看仓库标题
仓库页面左上角会写成
xiaotao / y4t-backup。斜杠前面是用户名,后面是仓库名。把中间的空格去掉,连成xiaotao/y4t-backup。 -
填进小手机
桌面 → 设置 → 备份 → 仓库。填
xiaotao/y4t-backup。把整段地址贴进去也可以,小手机会自己收成这个格式。
- 要填:
xiaotao/y4t-backup - 用户名换成你自己的。仓库名如果没改,后半段就是
y4t-backup - 不要只填仓库名,也不要填中文
第五步:获取令牌
令牌是一串专门给小手机用的通行证,样子通常是 github_pat_ 开头的一长串。它不是登录密码。小手机用它来读写你那个私人仓库里的备份文件。
复制下来立刻贴进小手机。关掉那个页面之后,GitHub 不会再把原文显示给你。忘了就重新生成一枚,旧的可以删掉。
不要把令牌截图发到群里,也不要写进公开笔记。令牌只留在这台小手机里,不会写进备份文件。
-
如果链接打不开,就手动走进去
点右上角头像 → Settings(账号设置)。
左边栏拉到最下面,点 Developer settings(开发者设置)。
点 Personal access tokens(个人访问令牌)→ Fine-grained tokens(细粒度令牌)→ Generate new token(生成新令牌)。
-
看名字和有效期
Token name 可以就用
y4t-backup。Expiration(有效期)建议先选 90 天。到期后这枚令牌会失效,备份会提示「令牌不对,或已经失效」,那时再来生成一枚新的填进去。页面如果允许 No expiration(永不过期),也可以选,但更要保管好,不要外传。
-
资源主人选你自己
Resource owner 选你的用户名。不要选组织,除非你很清楚那个组织是什么。
-
只允许这一个仓库
Repository access(仓库访问范围)选 Only select repositories(只选择某些仓库)。
在出现的下拉框里,只勾选
y4t-backup。不要选 All repositories(全部仓库)。 -
权限只开文件读写
展开 Permissions(权限)里的 Repository permissions(仓库权限)。
找到 Contents(内容),改成 Read and write(读取和写入)。
其他权限保持 No access(无权限)。Contents 就够小手机推送和拉回那一个文件。
-
生成并复制
滑到页面底部,点绿色的 Generate token。
下一页会用绿色框显示令牌全文。点复制。它很长,开头一般是
github_pat_。整段都要,前后不要多出空格。
贴进小手机之后,GitHub 那个页面可以关掉。以后在 Fine-grained tokens 列表里能看到名字 y4t-backup,但看不到令牌原文。
第六步:填进小手机
-
打开备份
小手机桌面 → 设置 → 往下找到「备份」,点开。
-
填写两项
- 仓库:
用户名/y4t-backup - 令牌:刚才复制的整段
github_pat_……
令牌格子会显示成圆点,这是正常的。
- 仓库:
-
先手动推一次
点 现在推送。成功时会提示「已推到你的 GitHub」,下面一行会出现「上次推送」和日期。
回到 GitHub 那个仓库,刷新页面,应该能看到文件
y4t-backup.json。看到这个文件,才算第一次备份落上了。 -
再决定要不要自动
间隔可以选每 1 小时、每 6 小时、每 12 小时或每 24 小时。默认是 6 小时。
勾上 开着时自动推送。内容和上次一样时,小手机会跳过,不会重复传一份。
定时到底会不会自己跑
小手机是开在浏览器里的一个页面。自动推送靠的是这个页面自己的计时,不是手机系统的闹钟,也不是 GitHub 那边到点来取。
这些情况,定时是停的
- 你把小手机关掉,回到了桌面其他应用
- 你关掉了浏览器,或关掉了这个标签
- 手机为了省电,把后台网页冻住、清掉
- 浏览器把这个页面休眠了。看起来标签还在,脚本其实已经不走了
手机浏览器没有可靠的「到点就推」能力。到了你设的那个小时,如果页面没开着,它不会自己醒来,也不会补推你离开的那几个小时。
这些情况,才会自动推
- 小手机这个页面正开着
- 浏览器没有把它冻住
- 你勾了「开着时自动推送」,仓库和令牌都填好了
- 距离上次成功推送,已经过了你选的间隔
所以请把它理解成:开着的时候自动推。想离开前留一份,就点 现在推送。手动这一下不看间隔,填好仓库和令牌就能推。
需要的时候,怎么拉回来
-
在这台或另一台小手机上填同一个仓库和令牌
换手机、清掉浏览器数据之后,仓库名可以照旧填。令牌如果还没过期,也可以再贴一次;过期了就按第五步重新生成。
-
点「从 GitHub 拉回」
小手机会先把
y4t-backup.json取下来,弹出确认,告诉你这份备份的时间和里面有多少角色、消息。 -
看清楚再覆盖
点「覆盖恢复」之后,才会换成备份里的聊天、人设和设置,这一步不能撤销。点「取消」则这台手机保持原样。
你也可以在 GitHub 仓库里自己点开 y4t-backup.json,用 Download 下载,再用小手机的「从文件恢复」。
常见问题
提示「这个仓库是公开的」
回到第三步,把仓库改成 Private,然后再点「现在推送」。
提示「令牌不对,或已经失效」
多半是复制少了一截、前后有空格,或者到期了。按第五步重新生成一枚,整段贴进「令牌」,再推一次。
提示「找不到这个仓库」
仓库那一格要是 用户名/仓库名。令牌的仓库范围里,要勾上这一个私人仓库。只勾了别的仓库,或选成了公开仓库,也会找不到。
提示「这个令牌没有读写该仓库文件的权限」
回到令牌页面重新生成。Repository access 选 Only select repositories,并勾上你的备份仓库。Contents 选 Read and write。
提示备份超过上限,推不上去
这是失败,不是已经备份好了。GitHub 单文件大约 100MB。表情、聊天图片很多时就会超。请点「导出备份」把文件另存,或删掉一些不再用的表情和图片后再推。
我勾了自动推送,第二天打开发现还是昨天的
夜里页面关着或被冻住时,定时不会跑。打开之后,如果已经超过你设的间隔,小手机会再推一次。离开前想留档,请点「现在推送」。
令牌会跟着备份一起被传上去吗?
不会。令牌只留在这台手机的浏览器里。备份文件里有聊天、人设和接口密钥,所以仓库仍然必须是私人的。
Fine-grained 那一页实在找不到 Contents
也可以改用旧式令牌:Developer settings → Personal access tokens → Tokens (classic) → Generate new token (classic)。勾选名为 repo 的那一项,生成后把 ghp_ 开头的那串贴进小手机。
旧式令牌的 repo 能读写你账号下全部私人仓库,范围比细粒度令牌大。能用第五步的做法时,优先用第五步。
快速回顾
- 在 GitHub 注册,记住用户名
- 新建仓库,名字用
y4t-backup,选 Private - 在仓库 Settings 里再确认一次,标签是 Private
- 仓库名填成
用户名/y4t-backup - 做一枚只含这个仓库、Contents 为读写的令牌,贴进小手机
- 点「现在推送」,到 GitHub 上看见
y4t-backup.json - 需要自动时再勾「开着时自动推送」。页面关着就不会自己推