GitHub 仓群角色与收口清单
- 更新时间:
2026-04-21 - 适用范围:
emptyinkpot/*当前 GitHub 仓群 - 结论用途:回答“哪些仓是当前活仓”“哪些只是 mirror/backup/archive”“哪些已经明显过量,后续应合并或删除”
判定依据
- 用户提供的当前仓列表
gh repo list emptyinkpot --limit 100 --json name,url,isPrivate,isFork,description- 本机 Git 顶层 / remote 审计
C:\Users\ASUS-KL\.codex\REPO-OWNERSHIP-MAP.md当前口径
先说结论
- 不是“一个仓就能拉回所有过去记录”。不同 repo 只覆盖各自跟踪边界,不能替代全局配置、外部镜像、历史冻结、公开发布镜像与未纳入同一 repo 的目录。
- 但当前这批
backup-*/archive-*/mirror-*也确实明显过多,已经超出“合理备份层”的数量。 - 以后默认结构应该是:
少量活仓 + 少量有明确职责的 mirror/backup + 极少量统一 archive,而不是每次迁移/兜底都长一个新 GitHub 仓。
当前建议分层
A. 明确应保留的长期活仓
这些仓当前仍然承担清晰边界,不属于“快照泛滥”问题:
| 仓库 | 当前角色 | 依据 | 默认动作 |
|---|---|---|---|
asus-kl-codex-home |
mirror/backup repo |
本机 .codex 当前独立 git 顶层就是它 |
继续保留 |
my-project-root |
umbrella repo |
E:\My Project 当前独立 git 顶层就是它 |
继续保留 |
Atramenti-Console |
owning repo |
E:\My Project\Atramenti-Console 当前独立 git 顶层就是它 |
继续保留 |
emptyinkpot.github.io |
owning repo |
当前 MyBlog 已明确收口到 GitHub 真源 + 服务器部署 | 继续保留 |
mortis-multica-source |
owning repo |
.codex / handoff 已把它列为 Mortis 真实源码真源 |
继续保留 |
B. 明确有当前职责、但不是第一开发真源的结构化仓
这些仓不是“活源码第一真源”,但当前仍有合理存在理由:
| 仓库 | 当前角色 | 依据 | 默认动作 |
|---|---|---|---|
my-project-qmd |
mirror/backup repo |
当前 qmd 外置 gitdir/worktree 方案仍在使用 |
暂保留,后续若退役外置 gitdir 再收口 |
my-project-yt-dlp-mcp |
mirror/backup repo |
当前视频 MCP 外置 gitdir/worktree 方案仍在使用 | 暂保留 |
my-project-video-audio-mcp |
mirror/backup repo |
同上 | 暂保留 |
my-project-ffmpeg-mcp |
mirror/backup repo |
同上 | 暂保留 |
mortis-napcat-control |
publish mirror |
本机 .publish\mortis-napcat-control 独立指向该远端;editable source 在 Atramenti-Console |
保留,但只当发布镜像 |
mortis-multica-watch |
public watch mirror |
GitHub 描述明确是 sanitized watch mirror | 保留,但不要当源码真源 |
mirror-openai-skills-vendor-imports |
vendor/reference repo |
本机 C:\Users\ASUS-KL\.codex\vendor_imports\skills 直接指向它,且保留 upstream=openai/skills |
保留 |
golutra |
vendor/reference repo |
本机 E:\My Project\Atramenti box\golutra 是独立 public fork |
保留 |
C. 当前可视为独立专题仓,但缺少本机活边界证据
这些仓未表现出“快照泛滥”特征,但本轮也没有足够本机现场证据证明它们仍是当前活开发面:
| 仓库 | 当前建议角色 | 说明 | 默认动作 |
|---|---|---|---|
Lex-Universalis |
independent project repo |
可能是独立项目,但本轮未发现本机活工作面 | 保留,后续按需补 ownership map |
Roo-Kit |
independent project repo |
看起来是独立公开项目,不属于 snapshot 仓 | 保留 |
DataSheet |
independent project repo |
私有专题仓,但本轮未发现本机活工作面 | 保留,待核实 |
D. 当前存在边界冲突,后续必须二选一收口
这些仓的问题不是“纯快照”,而是“GitHub 上像独立 repo,但本机现场并没有与之对应的独立 owning repo 边界”:
| 仓库 | 当前现象 | 风险 | 推荐动作 |
|---|---|---|---|
cloude-app |
本机 E:\My Project\Cloude App 仍落在 my-project-root umbrella 边界;GitHub emptyinkpot/cloude-app 已被降级归档 |
历史冲突边界若不落文档,仍会被误读成独立真源 | 当前按 umbrella 收口;只有后续补出本机独立 git 边界时才恢复独立 repo 口径 |
Parliamentary-Simulation |
GitHub 独立存在,但本机路径当前仍属于 E:\My Project 顶层 |
同上,但该项目已出现“远端独立 repo / 本机 umbrella 子目录 / 部署文档按独立项目 clone”三层分叉 | 不要直接原地硬切;先走 staged migration,再补本机独立 owning repo |
执行状态(2026-04-21):
cloude-app- 本机目录
E:\My Project\Cloude App当前git rev-parse --show-toplevel仍返回E:\My Project - 仓内未发现直接引用
https://github.com/emptyinkpot/cloude-app Startup-Hub仍把它当作 root umbrella 内的普通一级目录看待- 当前建议:先正式回归
my-project-rootumbrella 口径;GitHub 上的cloude-app暂不视为当前 owning repo,后续若真要独立开发,再补本机独立 repo 边界 - 真实收口动作已执行:
emptyinkpot/cloude-app当前已改成 GitHubarchived=true,不再继续冒充独立活仓;当前本机开发边界明确落在 umbrella 内
- 本机目录
Parliamentary-Simulation- 本机目录
E:\My Project\Parliamentary-Simulation当前也仍落在my-project-rootumbrella 边界 - 但项目内部已有明确 GitHub/服务器部署口径:
docs\SERVER_DEPLOYMENT_DEBUG.md直接写了git clone https://github.com/emptyinkpot/Parliamentary-Simulation.git - 项目本体也更像完整独立工程:根目录具备
deploy/、server/、src/、pnpm-workspace.yaml、完整 README/CHANGELOG - 当前建议:后续应升格为独立 owning repo;也就是说,不是把 GitHub 仓降级掉,而是把本机工作边界补齐到与该 GitHub repo 对齐
- 但当前不适合直接在
E:\My Project\Parliamentary-Simulation原地硬切:本机目录与 GitHub 远端已经明显分叉,直接git init/ 直接改 remote 会把 root umbrella 的历史、忽略规则、本地私有载荷和远端项目历史混成一锅 - 现场审计速记:
- 本机顶层仍是
E:/My Project,root 仓当前仍跟踪Parliamentary-Simulation约302个文件 - 审计起点远端 HEAD 为
b6ca1c46533ae5dff972d3c510291d2b0063064e;当前 staged migration 已推进到3beb49a - top-level local-only:
08225aab32ca785bc4f300aece678b9b/、assets/、deploy/、key/、.env.local - top-level remote-only:
.sourcery.yaml - 递归对比下,本机
304个文件、远端300个文件、共通299个文件里有291个内容不同
- 本机顶层仍是
- 本轮收口结论应改为 staged migration:
- 以
emptyinkpot/Parliamentary-Simulation远端仓作为目标边界真源,先拉出一次干净 working copy - 盘点本机目录相对远端的本地特有内容,区分“应进入独立 repo”“仅本地保留/忽略”“应继续留在 umbrella”
- 对齐
.gitignore、部署脚本、环境样例与目录结构后,再决定何时把本机工作路径切成真正独立 git 边界 - 在 staged migration 完成前,继续把
E:\My Project\Parliamentary-Simulation视为my-project-rootumbrella 内的特殊待迁目录,而不是已经完成切换的独立 repo
- 以
- 当前已知的第一轮分桶建议:
- 应进入独立 repo:
docs/SERVER_DEPLOYMENT_DEBUG.md、deploy/systemd/parliamentary-server.service、server/.env.example及相关 README / 部署脚本修正 - 仅本地保留/忽略:
.env.local、server/.env、key/、异常空目录或缓存残留 - 远端既有基线需保留:
.sourcery.yaml
- 应进入独立 repo:
- staged migration 第一条真实动作已完成:已在干净 working copy 中把
docs/SERVER_DEPLOYMENT_DEBUG.md、deploy/systemd/parliamentary-server.service、server/.env.example与 README 导航入口吸收到 GitHub 独立仓,并推送提交747d4d2(docs: add server deployment baseline) - staged migration 第二条真实动作也已完成:已继续在干净 working copy 中把
README.md、docs/SERVER_DEPLOYMENT_DEBUG.md与server/package.json的生产入口口径对齐到dist/server/src/main.js,并推送提交3beb49a(docs: align server deployment entrypoints)
- 本机目录
E. 当前更像实验 / fork / mirror 仓,而不是需要立即处理的 snapshot 仓
这些仓默认应理解为 vendor/reference 或实验仓,而不是当前主问题:
| 仓库 | 当前建议角色 | 默认动作 |
|---|---|---|
ai-town |
vendor/reference repo |
如仍有实验用途可保留;否则后续再归档 |
ai-office |
vendor/reference repo |
同上 |
agent-office |
vendor/reference repo |
同上 |
auto-coding-agent-demo |
vendor/reference repo |
同上 |
F. 优先收口删除的“过量快照 / 临时镜像”仓
这批仓就是当前“为什么这么多快照”的主要来源。它们默认不该继续增长,也不该再被当成日常工作面。
F1. 同类历史快照批量仓
backup-gemini-history-8b7b18af0509backup-gemini-history-e9f140ed02c7backup-gemini-history-b4c9cd0272f3backup-trae-snapshot-69c645ff1881backup-trae-snapshot-69c4cc2c71ed41backup-trae-snapshot-69c4cc2c71ed40backup-trae-snapshot-69c4bff6be56backup-trae-snapshot-69c4bb043467backup-trae-snapshot-69c4bacea33ebackup-trae-snapshot-69c4b4c289c1backup-trae-snapshot-69c4afed89c1backup-trae-snapshot-69c4adc489c1
建议:
- 不再新增同模式新仓。
- 若确需保留历史,合并成一到两个统一 archive 容器,或直接导出为离线压缩包/冷备。
- 合并完成后,逐个删除这些分散 snapshot repo。
执行状态(2026-04-21):
- 上述
backup-gemini-history-*与backup-trae-snapshot-*已先完成一次archived=true可逆收口,随后又在用户确认后执行 GitHub 真删除。 - 当前状态:这些分散的历史快照仓已不再存在于 GitHub,可通过
gh repo view emptyinkpot/<repo>返回 repository 不存在来复核。
F2. 一次性 workspace / 项目切面归档仓
backup-openclaw-workspacearchive-my-project-openclaw-20260418archive-my-project-atramenti-console-20260418
建议:
- 这类仓不应继续作为“可继续开发的备用真源”。
- 最终目标是:保留一个统一 archive 落点即可,不再按项目切面继续新长 archive repo。
执行状态(2026-04-21):
backup-openclaw-workspacearchive-my-project-openclaw-20260418archive-my-project-atramenti-console-20260418
以上 3 个仓也已先进入 archived=true,随后在用户确认后执行 GitHub 真删除;当前不再作为可见 GitHub 仓保留。
F3. 明显带有临时镜像味道、且当前未见本机活边界证据的 mirror 仓
mirror-claude-code-fullmirror-multica-style-auditmirror-andrej-karpathy-skills-tempmirror-markitdown-local
建议:
- 若本机已无对应独立 repo/worktree/长期消费链路,默认进入候选退役清单。
- 真有少数仍需保留者,也必须补清楚“本机路径 + 角色 + upstream/consumer 关系”。
执行状态(2026-04-21):
mirror-claude-code-full已确认本机无活引用;先归档后,已在用户确认后执行 GitHub 真删除。mirror-multica-style-audit已复核本机无目录、无活引用、无消费链路证据;当前已执行 GitHub 真删除。mirror-andrej-karpathy-skills-temp已复核本机无目录、无活引用、无消费链路证据;当前已执行 GitHub 真删除。mirror-markitdown-local已完成单独复核:当前真正活用的是markitdown-mcp集成路径(.codex\config.toml -> E:\My Project\Atramenti-Console\codex\mcps\markitdown-mcp\server.mjs),本机未发现独立 markitdown worktree;因此也已在先归档后执行 GitHub 真删除。
默认收口目标
后续 GitHub 仓群应尽量收敛到下面 4 层:
长期活仓asus-kl-codex-homemy-project-rootAtramenti-Consoleemptyinkpot.github.iomortis-multica-source- 仍然有真实独立边界的专题仓
有明确职责的少量 mirror/backup- 外置 gitdir 仍依赖的备份仓
- 明确公开发布镜像
- 明确 vendor/reference mirror
统一 archive- 少量、稳定命名、明确只读
不再保留的分散 snapshot repo- 同类 hash/timestamp 仓批量清理
后续执行顺序
- 先冻结新增:停止继续创建新的
backup-*/archive-*/mirror-*临时仓。 - 再补边界:把仍然有用途的 mirror/vendor 仓补进 ownership map。
- 再做归并:把仍需保留的少量 snapshot/history 收敛到统一 archive 落点。
- 最后删除:对已确认无保留必要的分散 snapshot repo,直接做 GitHub 真删除,并把删除结果回写 canonical 文档。
本轮最重要的治理结论
- 当前真正“太多”的不是所有 GitHub repo,而是
backup-*/archive-*/mirror-*这一层。 my-project-qmd/my-project-ffmpeg-mcp/my-project-video-audio-mcp/my-project-yt-dlp-mcp这类虽然看起来也多,但它们当前仍是外置 gitdir/worktree 方案的一部分,不应和纯 snapshot 仓混为一谈。cloude-app与Parliamentary-Simulation目前最需要处理的是“边界冲突”,不是立刻删除 GitHub 仓。cloude-app的真实边界收口已开始:当前 GitHub 冲突仓已 archive,本机路径明确继续归my-project-rootumbrella。Parliamentary-Simulation的真实 staged migration 已开始:公共部署资产已吸收到独立 GitHub 仓提交747d4d2,随后又完成第二步公共入口对齐提交3beb49a;后续再继续处理本机目录从 umbrella 迁出的动作。- 本轮已完成第一批真实删除:
backup-gemini-history-*、backup-trae-snapshot-*、backup-openclaw-workspace、两份archive-my-project-*、mirror-claude-code-full、mirror-markitdown-local已全部从 GitHub 删除。 - 本轮又完成第二批 mirror 候选真实删除:
mirror-multica-style-audit、mirror-andrej-karpathy-skills-temp已全部从 GitHub 删除。 - 这批仓的处理顺序是“先 archive,再 delete”;当前下一轮不应重复盯住它们,而应转去处理剩余仍在 GitHub 上的边界冲突仓或仍需归并的 archive 结构。