host
1ff8906aee
feat(repos): 仓库接入预检 + codexsvc deploy key 配给脚本
本机 https 到 GitHub 常被出口策略挡、ssh 才通(2026-10-30
实测),而新项目填 https 私有仓会在 worker 里花几分钟超时
才失败。控制面不存仓库凭证的设计不动,缺的是建项目前的
快速预检与按仓库通用化的配 key 流程:
- cloud.repos.check_repo_access:只跑 git ls-remote HEAD,
不 clone、不写盘、不改库;失败返回 (False, 原因),https
失败时追加改走 git@ 形的提示;CLI python3 -m cloud.repos
check <url>,退出码 0/1,只打印结果与原因。
- deploy/provision_codexsvc_key.sh:主机上以 root 跑,为
codexsvc 生成/复用 ed25519 key(绝不覆盖已有 key),只
打印公钥(私钥绝不打印),--check 时以 codexsvc 身份跑
ls-remote,通了才算配好。
- 内层沙箱边界诚实说明:Docker 任务内层本就是
danger-full-access(见 sandbox.py 注释),外层 Docker/gVisor
才是防线;宿主级 bwrap workspace-write 的 fresh proc 在嵌套
pidns 下是内核 EPERM、/tmp 不隔离——这些是上游 codex 二进制
与内核的边界,本批不谎称在仓库代码里修掉,只把仓库接入
这一档做成可重复流程。
单测:test_project_repo 20 项全过(新增 check 5 项)。
2026-10-30 01:39:46 +08:00
..
2026-10-26 16:27:42 +08:00
2026-10-26 16:47:55 +08:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-10-30 00:49:03 +08:00
2026-10-28 12:12:10 +08:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-10-29 00:19:30 +08:00
2026-10-27 16:27:50 +00:00
2026-10-27 15:53:50 +08:00
2026-10-29 07:01:57 +08:00
2026-10-30 01:16:49 +08:00
2026-10-29 05:27:22 +08:00
2026-10-27 16:27:50 +00:00
2026-10-29 06:32:38 +08:00
2026-10-28 08:57:05 +00:00
2026-10-29 02:42:52 +08:00
2026-10-26 03:23:06 +08:00
2026-10-26 01:32:57 +08:00
2026-10-26 10:26:21 +08:00
2026-10-27 17:59:04 +08:00
2026-10-26 06:19:01 +08:00
2026-10-27 15:35:23 +00:00
2026-10-27 16:27:50 +00:00
2026-10-29 06:32:38 +08:00
2026-10-29 16:45:07 +08:00
2026-10-27 10:56:08 +08:00
2026-10-29 16:32:58 +08:00
2026-10-29 14:21:18 +08:00
2026-10-26 08:39:57 +08:00
2026-10-28 03:43:02 +08:00
2026-10-29 13:07:57 +08:00
2026-10-28 10:13:40 +00:00
2026-10-29 04:40:47 +08:00
2026-10-27 19:10:49 +00:00
2026-10-26 01:23:21 +08:00
2026-10-26 18:41:27 +08:00
2026-10-27 15:35:23 +00:00
2026-10-29 16:45:07 +08:00
2026-10-26 16:27:42 +08:00
2026-10-26 16:27:42 +08:00
2026-10-26 01:32:57 +08:00
2026-10-26 23:51:54 +08:00
2026-10-26 07:42:14 +08:00
2026-10-27 15:35:23 +00:00
2026-10-29 15:31:07 +08:00
2026-10-27 16:27:50 +00:00
2026-10-29 12:42:19 +08:00
2026-10-29 06:32:38 +08:00
2026-10-27 16:37:28 +00:00
2026-10-27 14:12:28 +08:00
2026-10-27 14:12:28 +08:00
2026-10-28 22:49:06 +08:00
2026-10-26 03:23:06 +08:00
2026-10-26 16:47:55 +08:00
2026-10-26 15:20:02 +08:00
2026-10-28 11:14:10 +08:00
2026-10-27 19:10:49 +00:00
2026-10-26 17:01:47 +08:00
2026-10-29 17:46:12 +08:00
2026-10-26 04:16:11 +08:00
2026-10-28 10:12:57 +00:00
2026-10-27 03:05:15 +08:00
2026-10-30 01:39:46 +08:00
2026-10-27 19:10:49 +00:00
2026-10-28 11:09:29 +08:00
2026-10-29 14:14:13 +08:00
2026-10-27 05:40:30 +08:00
2026-10-27 01:44:53 +08:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-10-29 05:41:35 +08:00
2026-10-26 23:17:25 +08:00
2026-10-27 16:27:50 +00:00
2026-10-26 02:46:10 +08:00
2026-10-27 15:35:23 +00:00
2026-10-26 16:47:55 +08:00
2026-10-26 06:46:20 +08:00
2026-10-29 23:16:01 +08:00
2026-10-27 15:35:23 +00:00
2026-10-30 01:16:49 +08:00
2026-10-27 16:37:28 +00:00
2026-10-27 23:09:22 +08:00
2026-10-27 04:30:43 +08:00
2026-10-27 04:40:11 +08:00
2026-10-29 06:32:38 +08:00
2026-10-27 03:17:51 +08:00
2026-10-30 00:39:13 +08:00
2026-10-28 11:14:10 +08:00
2026-10-28 11:25:17 +08:00
2026-10-27 12:58:24 +08:00
2026-10-29 06:32:38 +08:00
2026-10-26 07:24:54 +08:00
2026-10-28 04:56:22 +08:00
2026-10-27 16:37:28 +00:00
2026-10-28 05:36:18 +08:00
2026-10-28 06:10:02 +08:00
2026-10-28 04:33:20 +08:00
2026-10-26 01:23:21 +08:00
2026-10-30 01:16:49 +08:00
2026-10-28 17:14:22 +08:00
2026-10-30 01:16:49 +08:00
2026-10-28 22:17:19 +08:00
2026-10-26 06:46:20 +08:00
2026-10-27 14:12:28 +08:00
2026-10-28 11:25:17 +08:00
2026-10-27 16:27:50 +00:00