如果 GitHub 是通过 commit 和 pull request 进行代码审查的思考空间,那么 glhub 就是通过 generation 和 evolution document 进行演化审查的思考空间。捕获 AI 代理改了什么、为什么改、哪些经验需要传承下去。
为每个 generation 生成 before / transition / after / next 文档,显示 score 差异、收益、损失、retrospective 规则和修复的 bug — 不是裸 JSON。
GitHub · GitLab · Codeberg · Forgejo · 自托管 Gitea — 任何 forge URL 都会自动推断 provider。即使 forge 变更,lineage 也跟着走。
本地 YAML-on-disk 存储,init / new / show / lineage / push 命令。glctl login 使用 GitHub OAuth + loopback 流程。
评论和修改建议保存为子 generation,绝不覆盖 evolution memory。可审计的轨迹本身就是产品。
每条记录都有 branch?: string 字段。用 git worktree 跑并行代理实验,把 lineage 并排比较。
lineage 原语在公共仓库中遵循 Apache-2.0。Multi-user RBAC · SSO · 审计级合规属于 Cloud / Enterprise — 明确分离,没有 source-available 的小把戏。
每个 push 都对照规范检查。不合规载荷会返回 HTTP 422 和人类可读的 errors[] — lineage 保持干净。
每个 metrics.score 必须是大于 0 且小于等于 1 的有限数。分数 0 会被拒绝 — 它表示根本没做评估。失败运行请用 success: false。
所有 id、parent_id、关系端点都必须匹配 gen-YYYYMMDD-NNN。同一个 push 内重复会被拒绝。
每个 relations[i].from 和 to 必须解析到同一 payload 中的 generation。跨快照引用会被拒绝。
目前仅接受 glhub-push/v1。后续版本会在 writer 切换前文档化迁移计划。
从本地记录到共享 lineage 共三步。
从 GitHub Releases 下载最新二进制。也可以用 cargo 从源码构建。
# macOS (Apple Silicon)
curl -fsSL -o glctl https://github.com/baryonlabs/glctl/releases/latest/download/glctl-aarch64-apple-darwin
chmod +x glctl && sudo mv glctl /usr/local/bin/
# macOS x86_64 / Linux: 在 Releases 页选择对应目标
# 从源码构建: cargo install --git https://github.com/baryonlabs/glctl
浏览器 GitHub OAuth + loopback。Token 保存到 ~/.glctl/config — 无需手动粘贴。
glctl login
# → 浏览器打开 · GitHub 授权 · token 返回 localhost
# → 保存到 ~/.glctl/config
从任何 company-scoped lineage 仓库,把快照推送到托管实例或自托管。
GLCTL_COMPANY_ID=demo \
GLCTL_DATA_DIR=$HOME/.glctl/data \
glctl push --remote https://glhub.baryon.ai
GitHub · GitLab · Codeberg · Forgejo · 自托管 Gitea 都是一级适配器。任何 repo URL 都会自动推断 provider,无需配置。Webhook 进入 /webhooks/{provider} 并经过 HMAC 验证。
lineage 原语为 Apache-2.0。Multi-user · 审计级 · on-prem 功能为商业版。Sentry 风格的分离,而非 GitLab ee/ 子目录的伎俩。
所有字段都填满的 10 世代 demo。看 glhub 如何把 AI 演化呈现为可读文档而不是裸 payload。