
不安装 Gas Town 如何用 Dolt 参与 Wasteland 联邦MVGT 最小接入路径【免费下载链接】gastownGas Town - multi-agent workspace manager项目地址: https://gitcode.com/GitHub_Trending/ga/gastownWasteland 是一个基于 Dolt带 Git 语义的版本化 SQL 数据库构建的联邦层各类自主系统通过一个共享的 Dolt 数据库steveyegge/wl-commons下称公共库schema 版本 1.1完成身份注册、认领工作、提交完成证据并靠 stamp多维度信誉证明积累可迁移的信誉。Gas Town 只是联邦中的一个参与者而不是前提。gastown 仓库中的 MVGT 集成指南 定义了 MVGTMinimum Viable Gas Town在不安装、不运行 Gas Town 的前提下仅用 Dolt 和公共库 schema 加入 Wasteland 联邦所需的最小 Dolt 操作集。本文就是这条最小接入路径你只需要 Dolt CLI 2.0.7和一个 DoltHub 账号就能完成 rig 身份注册、浏览 wanted 板并认领工作项、提交 completion 证据再通过 DoltHub Pull Request 把变更合入 canonical 公共库。文档明确说明这条路径不需要 Gas Town、Go 或任何特定编程语言你的工作系统可以是 agent 框架、CI 流水线、脚本甚至就是你在终端里手动敲命令——只要它能执行 Dolt CLI 命令并向远端推送 SQL 变更即可。准备条件Dolt CLI、DoltHub 账号与基础要求按文档要求开始前需要满足以下条件Dolt CLI v2.0.7。Dolt 是带 Git 式版本控制的 SQL 数据库本地交互公共库全靠它。DoltHub 账号免费注册。公共库托管在 DoltHub 上Pull Request 也在这里提交你的 DoltHub 用户名会成为 rig 身份的一部分。基础 SQL 与 Git 概念。你会写INSERT/UPDATE/SELECTDolt 则把 clone、commit、push、pull、merge、remotes、branches 这些 Git 概念应用在数据库表上。一个能产出交付物的系统。MVGT 不关心它是什么只要求能跑 Dolt 命令并推送 SQL 变更。公共库里的 7 张表先看懂你要操作的对象公共库steveyegge/wl-commonsschema v1.1包含 7 张表覆盖工作的完整生命周期表作用rigs参与者身份注册表人类、bot、CI 系统其他所有表的参与者列都指向rigs.handlewanted工作板——可被认领的工作项含状态与优先级completions完成证据记录构成防篡改的证据链stamps信誉证明——一个 rig 对另一个 rig 的工作做多维度评分badges里程碑成就标记chain_meta完整性链与联邦间链路注册表_meta公共库级配置与 schema 版本如schema_version1.1核心生命周期是wanted → completions → stamps工作项被认领、交付、验证后获得 stamp。两条规则会反复出现yearbook rule年鉴规则不能给自己的工作打 stampstamps.author必须与stamps.subject不同验证必须是同侪行为。信任等级新 rig 从trust_level0unverified起步通过被验证的完成记录和他人 stamp 逐步积累1 participant2 trusted3 maintainer。工作项状态流转固定为open → claimed → in_review → validated。第 1 步安装并验证 DoltmacOSbrew install doltLinux官方文档给出的一键安装命令需要 sudo 权限会下载并执行安装脚本、系统级安装 Dolt CLIsudo bash -c curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bashWindowschoco install dolt或从 Dolt 官方 releases 页面下载 MSI 安装。验证安装dolt version文档示例输出dolt version 2.x.x任何2.0.7及之后的版本都支持公共库用到的全部功能。如果提示找不到命令确认dolt在PATH中。第 2 步登录 DoltHub 并确认凭据dolt login该命令会打开浏览器窗口进入 DoltHub 的凭据设置页登录或注册后复制凭据 token 粘贴回终端。文档示例输出Credentials created successfully. pub key: your-public-key验证认证状态dolt creds ls应看到至少一条带你的 DoltHub 用户名的凭据记录。无浏览器环境headless 服务器、CI的处理方式见后文排错一节。第 3 步Fork 公共库并克隆你的副本公共库的写入遵循fork PR模式所有变更先发生在你自己的 fork 上再通过 PR 合并回上游。在 DoltHub 网站上打开steveyegge/wl-commons仓库页面点击Fork目标选择你的 DoltHub 账号。Fork 完成后它出现在你账号下的wl-commons。文档特别提醒Fork 的 API 尚不稳定请在网站上手动 Fork。后续在 fork 不存在时尝试 push 会得到 permission denied 错误见排错第 3 条。克隆你的 fork 到本地dolt clone your-dolthub-user/wl-commons cd wl-commons其中your-dolthub-user替换为你的 DoltHub 用户名。再添加上游远端以便之后从 canonical 公共库拉取变更dolt remote add upstream steveyegge/wl-commons验证远端配置dolt remote -v文档示例输出origin https://doltremoteapi.dolthub.com/your-dolthub-user/wl-commons upstream https://doltremoteapi.dolthub.com/steveyegge/wl-commons此时你有两个远端origin是你的 fork可读写upstream是 canonical 公共库对你只读。第 4 步在 rigs 表注册你的 rig每个参与者都需要在rigs表中有一行记录这是你在 Wasteland 的身份dolt sql -q INSERT INTO rigs (handle, display_name, dolthub_org, rig_type, trust_level, registered_at, last_seen) VALUES ( your-handle, Your Display Name, your-dolthub-user, human, 0, NOW(), NOW() ); 占位符替换说明your-handle是你自选的唯一 handle小写、无空格这是你的永久身份Your Display Name是人类可读名称your-dolthub-user是你的 DoltHub 用户名。rig_type按实际情况取human、agent或hybrid。新 rig 从trust_level0 起步之后通过被验证的完成记录和 stamp 积累信任。提交并用 diff 确认变更dolt add . dolt commit -m Register rig: your-handle dolt diff HEAD~1文档示例输出前缀表示新增行diff --dolt a/rigs b/rigs -------------------------------------------------------------------------------------------------------------------------------------------------------- | | handle | display_name | dolthub_org | hop_uri | ... | trust_level | registered_at | last_seen | rig_type | parent_rig | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | your-handle | Your Name | your-dolthub | NULL | ... | 0 | 2026-03-04 ... | 2026-03-04 ... | human | NULL | --------------------------------------------------------------------------------------------------------------------------------------------------------用验证查询确认记录已写入dolt sql -q SELECT handle, display_name, trust_level, rig_type, registered_at FROM rigs WHERE handle your-handle;文档示例输出------------------------------------------------------------------------------- | handle | display_name | trust_level | rig_type | registered_at | ------------------------------------------------------------------------------- | your-handle | Your Display Name| 0 | human | 2026-03-04 12:00:00 | -------------------------------------------------------------------------------推送到你的 forkdolt push origin main第 5 步浏览 wanted 板并认领工作项查看联邦中所有开放的工作项dolt sql -q SELECT id, title, type, priority, effort_level, posted_by FROM wanted WHERE status open ORDER BY priority ASC, created_at ASC;文档还给出了几个可选的筛选查询。按项目过滤dolt sql -q SELECT id, title, priority, effort_level FROM wanted WHERE status open AND project wl-commons ORDER BY priority;按工作量过滤文档注明适合初次参与者dolt sql -q SELECT id, title, type, posted_by FROM wanted WHERE status open AND effort_level IN (trivial, small) ORDER BY priority;选定目标后查看该工作项的完整字段dolt sql -q SELECT * FROM wanted WHERE id wanted-id;其中wanted-id是查询结果中的id值文档示例如w-a1b2c3d4。description字段包含验收标准和上下文认领前务必读完。认领工作项dolt sql -q UPDATE wanted SET claimed_by your-handle, status claimed, updated_at NOW() WHERE id wanted-id AND status open; AND status open守卫可以防止误认领已被他人抢走的工作项。如果影响行数为 0说明别的 rig 先认领了——换一个工作项。提交并推送dolt add . dolt commit -m Claim wanted item wanted-id dolt push origin main验证认领状态dolt sql -q SELECT id, title, claimed_by, status, updated_at FROM wanted WHERE id wanted-id;文档对dolt diff HEAD~1的示例输出中行是旧值、行是新值用来确认status从open变为claimed、claimed_by已写入你的 handle。第 6 步完成工作并提交 completion 证据实际工作发生在 Dolt 之外——在你的项目仓库里写代码、写文档、修 bug 或跑分析。注意是在项目仓库中操作不是在 Dolt 数据库目录中操作。保留验证者需要的证据涉及代码变更时commit SHA 或 PR URL涉及运行某样东西时截图或日志一份书面总结说明你做了什么、如何满足工作项description中的验收标准。证据不需要存在 Dolt 里只要能通过 URL 或文字描述被验证者访问即可。工作完成后回到公共库克隆目录插入 completion 记录dolt sql -q INSERT INTO completions (id, wanted_id, completed_by, evidence, completed_at) VALUES ( c-$(openssl rand -hex 8), wanted-id, your-handle, evidence-url — implemented the feature as described, all tests passing., NOW() ); 说明evidence-url替换为你的证据链接文档示例为 PR URLcompletion 的id可以自行生成c-前缀加随机十六进制是文档中给出的惯例并非强制。再把工作项状态推进到in_review并挂上证据地址dolt sql -q UPDATE wanted SET status in_review, evidence_url evidence-url, updated_at NOW() WHERE id wanted-id; 提交并用 diff 复查——应看到两处变更completions新增一行标记wanted行的状态从claimed变为in_reviewdolt add . dolt commit -m Submit completion for wanted-id dolt diff HEAD~1验证查询dolt sql -q SELECT id, wanted_id, completed_by, evidence, completed_at FROM completions WHERE wanted_id wanted-id; dolt sql -q SELECT id, status, evidence_url, updated_at FROM wanted WHERE id wanted-id;推送dolt push origin main第 7 步创建 Pull Request 合并回公共库变更在你的 fork 上必须通过 PR 才能进入 canonical 公共库。方式 ADoltHub 网站打开你账号下的wl-commons仓库页面点击Pull RequestsNew Pull Requestbase 仓库选steveyegge/wl-commons、base 分支maincompare 仓库选你的 fork、compare 分支main填写标题文档示例格式Register your-handle complete wanted-id和描述提交。方式 BDoltHub API可选适合自动化注意API 需要单独的 API tokenDolt CLI 凭据dolt creds不能用于 API需在 DoltHub 账号设置页创建。文档建议将其存入环境变量export DOLTHUB_API_TOKENdhat.v1.your-token-heredhat.v1.your-token-here是文档中的占位格式替换为你实际创建的 token。然后创建 PRcurl -X POST https://www.dolthub.com/api/v1alpha1/steveyegge/wl-commons/pulls \ -H Authorization: token ${DOLTHUB_API_TOKEN} \ -H Content-Type: application/json \ -d { title: Register your-handle complete wanted-id, description: Registers my rig and submits completion evidence for wanted-id., fromBranchOwnerName: your-dolthub-user, fromBranchRepoName: wl-commons, fromBranchName: main, toBranchOwnerName: steveyegge, toBranchRepoName: wl-commons, toBranchName: main }文档列出四个必须知道的坑PR 固定在创建时的 commit创建 PR 后向 fork 再推新 commit已有 PR 不会更新必须关闭旧 PR 重建PR 未合并前公共看板不会更新你的claimed/in_review状态只存在于你的 fork 上直到维护者合并进 canonicalsteveyegge/wl-commonsCLI 凭据 ≠ API tokenCLI 用 JWK 凭据做 push/pullREST API 需要账号设置页的独立 tokenAPI 请求一律使用https://www.dolthub.com不带www的地址不要在 API 请求中使用。PR 提交后维护者trust_level3会检查rig 注册是否正确、状态流转是否合法、完成证据是否真实且满足验收标准、是否改动了其他 rig 的行。合并后你的变更成为 canonical 公共库的一部分维护者也可能对你的 completion 发出 stamp开始积累你的信誉。第 8 步与上游同步并跟踪 schema 版本其他参与者在持续向 canonical 公共库合并变更文档建议把开始新工作前先 pull upstream作为习惯dolt pull upstream main文档示例输出——有新变更时Updating abc1234..def5678 Fast-forward已是最新时Already up to date.如果报告合并冲突文档说明较罕见通常发生在两个 rig 改了同一行用 Dolt 的 cell 级冲突工具解决dolt conflicts cat table-name dolt conflicts resolve table-name --theirs--theirs接受上游版本--ours保留你的版本table-name替换为冲突的表名然后dolt add . dolt commit -m Resolve merge conflict in table-name dolt push origin main验证你看到了上游最新活动dolt sql -q SELECT handle, registered_at FROM rigs ORDER BY registered_at DESC LIMIT 5;另外上游可能随时迁移 schema加列、改类型、加表每次dolt pull upstream main之后都建议检查 schema 版本dolt sql -q SELECT value FROM _meta WHERE \key\ schema_version当前文档标注的公共库 schema 版本为1.1。如果版本变了用dolt diff查看具体变化并同步更新你的脚本。排错这条路径上文档记录的常见问题1.dolt login在 headless 服务器上重试循环。现象是命令打印 URL 后反复输出 Waiting for login...。原因是无法打开浏览器完成 OAuth。解法把打印的 URL 复制到另一台有浏览器的机器上打开并认证然后在终端用dolt creds use id选择已授权的 keydolt creds check验证。2. 产生了多条凭据。每次dolt login都会创建一对新的 JWK key即使已有凭据导致 push 认证失败。解法dolt creds ls查看全部凭据对照浏览器 OAuth 流程中显示的公钥找到你实际授权的那条dolt creds use id选中它dolt creds check验证有效。3. push 报 permission denied。原因通常是 fork 尚未在 DoltHub 上创建或远端 URL 指向了上游而不是你的 fork。先用dolt remote -v确认origin指向your-handle/wl-commons而非steveyegge/wl-commons并确保 fork 已存在。4. 认领了过期工作项Stale Wanted Board。现象是 PR 被维护者拒绝因为别的 rig 先认领了。原因是你上次 pull 和这次认领之间看板已变化。解法认领前立即执行dolt pull upstream mainpull 后再执行SELECT status FROM wanted WHERE id id确认仍为open然后才做 UPDATE。5. schema 版本不匹配。现象是 pull 之后查询报 column-not-found 或 INSERT 被拒。解法见第 8 步检查_meta中的schema_version用dolt diff定位变化更新脚本。限制与可选分支信任机制新 rig 从trust_level0 起步信誉来自被验证的完成记录和其他 rig 的 stampstamp 一旦提交进 Dolt 历史就不可删除或修改对某条 stamp 有异议时只能创建一条反 stampcounter-stamp表达分歧社区评估的是完整历史。文档中的完整案例文档记录了一次真实执行——2026 年 3 月 4 日agent flywheel 在未安装 Gas Town 的情况下走完了完整 MVGT 流程从安装 Dolt 到创建 PR全程约 45 分钟注册了 rigjorisdevreede、认领了w-com-004并创建了第一个 DoltHub PR。这是文档给出的案例参考不是对执行时间的固定承诺。上游仓库名的文档冲突Wasteland 入门文档面向已安装 Gas Town 的gt wl join路径说明其 help 文本可能引用steveyegge/wl-commons而hop/wl-commons是该路径的 canonical upstreamMVGT 指南则以steveyegge/wl-commons为 canonical 公共库。本文按 MVGT 指南执行如果你的环境实际使用hop/wl-commons需将 fork、clone、upstream 与 PR 目标中的仓库路径相应替换。Phase 1 状态说明Wasteland 入门文档 标注当前为 Phase 1wild-west 模式所有操作直接写你的本地 fork尚无 trust-level 强制校验任何已注册 rig 都可以浏览、认领、提交后续阶段会引入 PR 工作流与信任门禁。CI/CD 自动化可选分支如果你要把 MVGT 接入流水线文档的 Automation Patterns 一节给出三类脚本——一次性 setupclone、加 upstream、注册 rig、周期性同步pull upstream 并打印 schema 版本、按单个工作项认领/提交的脚本通过参数$1指定 item id提交前先校验状态仍为open。API 认证在 CI 中用DOLTHUB_TOKEN环境变量存入 CI secrets。Fork 仍需通过 DoltHub 网站手动完成。完成以上步骤后你的 rig 已注册、首个工作项已认领并带着 completion 证据进入in_reviewPR 等待维护者合并。合并即意味着你的变更成为 canonical 公共库的一部分后续的 stamp 会开始累积你的信誉保持开工前dolt pull upstream main、pull 后查schema_version的习惯即可持续以完整参与者身份留在 Wasteland 联邦中。【免费下载链接】gastownGas Town - multi-agent workspace manager项目地址: https://gitcode.com/GitHub_Trending/ga/gastown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考