前言: 你是否厌倦了为了开发一个思源笔记插件,在本地电脑上安装 Node.js、配置 TypeScript、折腾各种依赖,最后把系统环境搞得很卡? GitHub Codespaces 是个神器,秒开环境,用完即走。唯一的缺点是:免费版每月只有 60 小时。对于狂热的开发者,这哪里够? 今天,我们不讲武德,教你如何利用 GitHub 的规则,通过“影分身之术”,合法拼凑出 180 小时 的超级云端开发时长,打造一个永不打烊的思源插件梦工厂。
核心原理:时间接力赛
GitHub Codespaces 的免费额度是跟随启动环境的账号走的,而不是跟随仓库所有者。
- 账号 A(大号/主程): 60 小时
- 账号 B(小号/副手): 60 小时
- 账号 C(小号/实习): 60 小时
- 合计: 180 小时/月 ≈ 每天 6 小时全勤开发。
注:单个号 120 小时/核(2 核 60 小时)
我们将利用 私有仓库 + 协作者(Collaborator) 机制,实现无缝的代码接力。
准备工作
- 账号准备: 注册 3 个 GitHub 账号(建议用不同的浏览器 Profile 或无痕模式注册,避免关联风控)。
- 工具准备: 直接网页云端开发或者本地安装 VS Code。
- 网络准备: 确保你能流畅访问 GitHub。
- 推荐使用开源项目 GitHub520:https://github.com/521xueweihan/GitHub520
- 你可以直接引用此地址自动更新 Hosts,解决访问慢或图片不显示的问题:
https://raw.hellogithub.com/hosts
实操步骤:组建你的特工队
第一步:大号建库,招兵买马
- 登录 大号,创建一个 Private(私有) 仓库。私有是为了保护你的代码不公开,且免费版私有仓库支持无限协作者。
- 进入
Settings->Collaborators。 - 点击
Add people,输入小号 B 和小号 C 的邮箱或 ID。 - 关键点: 权限必须给 Write 或 Admin。这允许小号直接 Push 代码到主分支,免去繁琐的 PR 审核流程。
第二步:配置思源开发环境(一次配置,处处运行)
为了让三个账号打开环境时能拥有一模一样的开发体验,我们需要配置 devcontainer。 在仓库根目录创建 .devcontainer/devcontainer.json:
{
"name": "Siyuan Plugin Dev",
"image": "[mcr.microsoft.com/devcontainers/typescript-node:18](https://mcr.microsoft.com/devcontainers/typescript-node:18)",
"customizations": {
"vscode": {
"extensions": [
"siyuan-note.siyuan", // 假设有相关插件,或者安装通用插件
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint"
]
}
},
"postCreateCommand": "npm install",
"forwardPorts": [6800] // 转发思源内核端口
}
这一步做完,无论哪个账号启动 Codespace,都会自动安装 Node.js 环境和依赖包。
第三步:开始“时间接力”
阶段一:大号冲锋(前 10 天)
- 大号在 GitHub 网页端点击
<> Code->Codespaces->Create codespace on main。 - 选择开发模式(二选一):
- 模式 A:网页端开发(轻量级) 直接在浏览器中等待加载。优点是无需安装任何本地软件,适合临时修改代码;缺点是受浏览器性能限制,且快捷键可能冲突。
- 模式 B:本地 VS Code 开发(推荐) 点击
Open in VS Code Desktop。系统会自动唤起你本地安装的 VS Code 并连接云端。优点是利用本地界面性能,快捷键习惯一致,体验极致流畅。
- 尽情开发,记得养成好习惯:下机前必须 Commit & Push。
- 当大号收到 GitHub 邮件提醒“额度已用 80%”时,准备交接。
阶段二:小号接力(中旬)
- 确认大号代码已推送到远程。
- 切换身份: 登录小号 B 的 GitHub。
- 进入同一个仓库页面。你会发现你看不见大号的 Codespace(这是正常的,容器不共享)。
- 点击
Create codespace on main。 - 见证奇迹: 系统会为你(小号 B)开启一台全新的满血服务器,拉取最新的代码,自动 npm install。
- 选择网页端或本地 VS Code 连接,继续开发!
阶段三:冲刺收尾(下旬)
- 小号 B 额度耗尽,重复上述步骤,切换小号 C。
避坑指南 & 最佳实践
1. 规范 Git 提交身份
由于我们是在同一台机器(或同一个 VS Code 客户端)上通过不同账号连接 Codespaces,为了保证 Git Log 的清晰度,避免混淆是谁提交的代码,建议在每个新环境启动后,先在终端运行一次身份配置:
# 在小号B的环境里运行,确保提交记录显示为小号B
git config --global user.name "你的名字-B"
git config --global user.email "b@example.com"
这样你在查看提交历史时,就能清晰地分辨出是哪个账号完成的工作。
2. 思源笔记的内核调试
开发插件通常需要运行思源笔记内核。在 Codespaces 里,你需要利用 端口转发。
- 在 Codespace 终端启动思源内核(通常是 Docker 或 Node 进程)。
- 在 VS Code 下方“端口 (Ports)”标签页,找到
6800端口。 - 将其设置为
Private或Public,点击那个地球图标,你就能在本地浏览器看到云端运行的思源笔记界面了。
3. 不要“白嫖”得太明显
虽然规则允许,但如果三个账号由同一 IP 短时间内频繁切换且行为高度一致,理论上有极低概率触发 GitHub 的风控。
- 建议: 每个账号尽量用满一段时间再切,不要一天切八回。
- 心态: 把这看作是一个 3 人小团队的协作开发,只是这 3 个人都是你自己。
结语
通过这套方案,你不仅省去了购买高性能电脑的钱,还免费获得了微软 Azure 云端的高速网络和 180 小时的算力。 对于开发思源笔记插件这种轻量级但依赖环境的任务,这绝对是目前的版本答案。
现在,启动你的 VS Code,开始你的云端创作之旅吧!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于