[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-steveyegge--gastown":3,"tool-steveyegge--gastown":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",145895,2,"2026-04-08T11:32:59",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":72,"owner_website":78,"owner_url":79,"languages":80,"stars":119,"forks":120,"last_commit_at":121,"license":122,"difficulty_score":123,"env_os":124,"env_gpu":125,"env_ram":125,"env_deps":126,"category_tags":138,"github_topics":76,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":139,"updated_at":140,"faqs":141,"releases":170},5680,"steveyegge\u002Fgastown","gastown","Gas Town - multi-agent workspace manager","gastown 是一个专为协调多个 AI 编程助手（如 Claude Code、GitHub Copilot 等）而设计的工作空间管理器。它核心解决了多智能体协作中的痛点：传统模式下，AI 代理重启往往会丢失上下文，且随着代理数量增加，人工协调变得混乱不堪。gastown 通过基于 Git 的持久化存储机制，确保即使会话中断，工作状态和记忆也能完整保留，从而支持稳定扩展至 20-30 个并发代理的大规模协作。\n\n该工具特别适合需要管理复杂开发流程的软件工程师、技术团队负责人以及探索多智能体系统的研究人员。其独特亮点在于引入了一套生动的角色化架构：由\"Mayor\"作为总指挥统筹全局，\"Polecats\"作为执行具体任务的临时工，配合\"Hooks\"利用 Git worktree 技术实现数据持久化。此外，gastown 还内置了\"Beads\"账本系统来结构化追踪任务进度，并通过\"Witness\"和\"Deacon\"等监控组件自动检测和处理卡死的代理进程。这让开发者能够像管理真实团队一样，高效、可靠地指挥一群 AI 共同完成大型编码项目。","# Gas Town\n\n**Multi-agent orchestration system for Claude Code, GitHub Copilot, and other AI agents with persistent work tracking**\n\n## Overview\n\nGas Town is a workspace manager that lets you coordinate multiple AI coding agents (Claude Code, GitHub Copilot, Codex, Gemini, and others) working on different tasks. Instead of losing context when agents restart, Gas Town persists work state in git-backed hooks, enabling reliable multi-agent workflows.\n\n### What Problem Does This Solve?\n\n| Challenge                       | Gas Town Solution                            |\n| ------------------------------- | -------------------------------------------- |\n| Agents lose context on restart  | Work persists in git-backed hooks            |\n| Manual agent coordination       | Built-in mailboxes, identities, and handoffs |\n| 4-10 agents become chaotic      | Scale comfortably to 20-30 agents            |\n| Work state lost in agent memory | Work state stored in Beads ledger            |\n\n### Architecture\n\n```mermaid\ngraph TB\n    Mayor[The Mayor\u003Cbr\u002F>AI Coordinator]\n    Town[Town Workspace\u003Cbr\u002F>~\u002Fgt\u002F]\n\n    Town --> Mayor\n    Town --> Rig1[Rig: Project A]\n    Town --> Rig2[Rig: Project B]\n\n    Rig1 --> Crew1[Crew Member\u003Cbr\u002F>Your workspace]\n    Rig1 --> Hooks1[Hooks\u003Cbr\u002F>Persistent storage]\n    Rig1 --> Polecats1[Polecats\u003Cbr\u002F>Worker agents]\n\n    Rig2 --> Crew2[Crew Member]\n    Rig2 --> Hooks2[Hooks]\n    Rig2 --> Polecats2[Polecats]\n\n    Hooks1 -.git worktree.-> GitRepo1[Git Repository]\n    Hooks2 -.git worktree.-> GitRepo2[Git Repository]\n\n    style Mayor fill:#e1f5ff,color:#000000\n    style Town fill:#f0f0f0,color:#000000\n    style Rig1 fill:#fff4e1,color:#000000\n    style Rig2 fill:#fff4e1,color:#000000\n```\n\n## Core Concepts\n\n### The Mayor 🎩\n\nYour primary AI coordinator. The Mayor is a Claude Code instance with full context about your workspace, projects, and agents. **Start here** - just tell the Mayor what you want to accomplish.\n\n### Town 🏘️\n\nYour workspace directory (e.g., `~\u002Fgt\u002F`). Contains all projects, agents, and configuration.\n\n### Rigs 🏗️\n\nProject containers. Each rig wraps a git repository and manages its associated agents.\n\n### Crew Members 👤\n\nYour personal workspace within a rig. Where you do hands-on work.\n\n### Polecats 🦨\n\nWorker agents with persistent identity but ephemeral sessions. Spawned for tasks, sessions end on completion, but identity and work history persist.\n\n### Hooks 🪝\n\nGit worktree-based persistent storage for agent work. Survives crashes and restarts.\n\n### Convoys 🚚\n\nWork tracking units. Bundle multiple beads that get assigned to agents. Convoys labeled `mountain` get autonomous stall detection and smart skip logic for epic-scale execution.\n\n### Beads Integration 📿\n\nGit-backed issue tracking system that stores work state as structured data.\n\n**Bead IDs** (also called **issue IDs**) use a prefix + 5-character alphanumeric format (e.g., `gt-abc12`, `hq-x7k2m`). The prefix indicates the item's origin or rig. Commands like `gt sling` and `gt convoy` accept these IDs to reference specific work items. The terms \"bead\" and \"issue\" are used interchangeably—beads are the underlying data format, while issues are the work items stored as beads.\n\n### Molecules 🧬\n\nWorkflow templates that coordinate multi-step work. Formulas (TOML definitions) are instantiated as molecules with tracked steps. Two modes: root-only wisps (steps materialized at runtime, lightweight) and poured wisps (steps materialized as sub-wisps with checkpoint recovery). See [Molecules](docs\u002Fconcepts\u002Fmolecules.md).\n\n### Monitoring: Witness, Deacon, Dogs 🐕\n\nA three-tier watchdog system keeps agents healthy:\n\n- **Witness** - Per-rig lifecycle manager. Monitors polecats, detects stuck agents, triggers recovery, manages session cleanup.\n- **Deacon** - Background supervisor running continuous patrol cycles across all rigs.\n- **Dogs** - Infrastructure workers dispatched by the Deacon for maintenance tasks (e.g., Boot for triage).\n\n### Refinery 🏭\n\nPer-rig merge queue processor. When polecats complete work via `gt done`, the Refinery batches merge requests, runs verification gates, and merges to main using a Bors-style bisecting queue. Failed MRs are isolated and either fixed inline or re-dispatched.\n\n### Escalation 🚨\n\nSeverity-routed issue escalation. Agents that hit blockers escalate via `gt escalate`, which creates tracked beads routed through the Deacon, Mayor, and (if needed) Overseer. Severity levels: CRITICAL (P0), HIGH (P1), MEDIUM (P2). See [Escalation](docs\u002Fdesign\u002Fescalation.md).\n\n### Scheduler ⏱️\n\nConfig-driven capacity governor for polecat dispatch. Prevents API rate limit exhaustion by batching dispatch under configurable concurrency limits. Default is direct dispatch; set `scheduler.max_polecats` to enable deferred dispatch with the daemon. See [Scheduler](docs\u002Fdesign\u002Fscheduler.md).\n\n### Seance 👻\n\nSession discovery and continuation. Discovers previous agent sessions via `.events.jsonl` logs, enabling agents to query their predecessors for context and decisions from earlier work.\n\n```bash\ngt seance                       # List discoverable predecessor sessions\ngt seance --talk \u003Cid> -p \"What did you find?\"  # One-shot question\n```\n\n### Wasteland 🏜️\n\nFederated work coordination network linking Gas Towns through DoltHub. Rigs post wanted items, claim work from other towns, submit completion evidence, and earn portable reputation via multi-dimensional stamps. See [Wasteland](docs\u002FWASTELAND.md).\n\n> **New to Gas Town?** See the [Glossary](docs\u002Fglossary.md) for a complete guide to terminology and concepts.\n\n## Installation\n\n### Prerequisites\n\n- **Go 1.25+** - [go.dev\u002Fdl](https:\u002F\u002Fgo.dev\u002Fdl\u002F)\n- **Git 2.25+** - for worktree support\n- **Dolt 1.82.4+** - [github.com\u002Fdolthub\u002Fdolt](https:\u002F\u002Fgithub.com\u002Fdolthub\u002Fdolt)\n- **beads (bd) 0.55.4+** - [github.com\u002Fsteveyegge\u002Fbeads](https:\u002F\u002Fgithub.com\u002Fsteveyegge\u002Fbeads)\n- **sqlite3** - for convoy database queries (usually pre-installed on macOS\u002FLinux)\n- **tmux 3.0+** - recommended for full experience\n- **Claude Code CLI** (default runtime) - [claude.ai\u002Fcode](https:\u002F\u002Fclaude.ai\u002Fcode)\n- **Codex CLI** (optional runtime) - [developers.openai.com\u002Fcodex\u002Fcli](https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcli)\n- **GitHub Copilot CLI** (optional runtime) - [cli.github.com](https:\u002F\u002Fcli.github.com) (requires Copilot seat)\n\n### Setup (Docker-Compose below)\n\n```bash\n# Install Gas Town\n$ brew install gastown                                    # Homebrew (recommended)\n$ npm install -g @gastown\u002Fgt                              # npm\n$ go install github.com\u002Fsteveyegge\u002Fgastown\u002Fcmd\u002Fgt@latest  # From source (macOS\u002FLinux)\n\n# Windows (or if go install fails): clone and build manually\n$ git clone https:\u002F\u002Fgithub.com\u002Fsteveyegge\u002Fgastown.git && cd gastown\n$ go build -o gt.exe .\u002Fcmd\u002Fgt\n$ mv gt.exe $HOME\u002Fgo\u002Fbin\u002F  # or add gastown to PATH\n\n# If using go install, add Go binaries to PATH (add to ~\u002F.zshrc or ~\u002F.bashrc)\nexport PATH=\"$PATH:$HOME\u002Fgo\u002Fbin\"\n\n# Create workspace with git initialization\ngt install ~\u002Fgt --git\ncd ~\u002Fgt\n\n# Add your first project\ngt rig add myproject https:\u002F\u002Fgithub.com\u002Fyou\u002Frepo.git\n\n# Create your crew workspace\ngt crew add yourname --rig myproject\ncd myproject\u002Fcrew\u002Fyourname\n\n# Start the Mayor session (your main interface)\ngt mayor attach\n```\n\n### Docker Compose\n\n```bash\nexport GIT_USER=\"\u003Cyour name>\"\nexport GIT_EMAIL=\"\u003Cyour email>\"\nexport FOLDER=\"\u002FUsers\u002Fyou\u002Fcode\"\nexport DASHBOARD_PORT=8080  # optional, host port for the web dashboard\n\ndocker compose build              # only needed on first run or after code changes\ndocker compose up -d\n\ndocker compose exec gastown zsh   # or bash\n\ngt up\n\ngh auth login                     # if you want gh to work\n\ngt mayor attach\n```\n\n## Quick Start Guide\n\n### Getting Started\nRun\n```shell\ngt install ~\u002Fgt --git &&\ncd ~\u002Fgt &&\ngt config agent list &&\ngt mayor attach\n```\nand tell the Mayor what you want to build!\n\n---\n\n### Basic Workflow\n\n```mermaid\nsequenceDiagram\n    participant You\n    participant Mayor\n    participant Convoy\n    participant Agent\n    participant Hook\n\n    You->>Mayor: Tell Mayor what to build\n    Mayor->>Convoy: Create convoy with beads\n    Mayor->>Agent: Sling bead to agent\n    Agent->>Hook: Store work state\n    Agent->>Agent: Complete work\n    Agent->>Convoy: Report completion\n    Mayor->>You: Summary of progress\n```\n\n### Example: Feature Development\n\n```bash\n# 1. Start the Mayor\ngt mayor attach\n\n# 2. In Mayor session, create a convoy with bead IDs\ngt convoy create \"Feature X\" gt-abc12 gt-def34 --notify --human\n\n# 3. Assign work to an agent\ngt sling gt-abc12 myproject\n\n# 4. Track progress\ngt convoy list\n\n# 5. Monitor agents\ngt agents\n```\n\n## Common Workflows\n\n### Mayor Workflow (Recommended)\n\n**Best for:** Coordinating complex, multi-issue work\n\n```mermaid\nflowchart LR\n    Start([Start Mayor]) --> Tell[Tell Mayor\u003Cbr\u002F>what to build]\n    Tell --> Creates[Mayor creates\u003Cbr\u002F>convoy + agents]\n    Creates --> Monitor[Monitor progress\u003Cbr\u002F>via convoy list]\n    Monitor --> Done{All done?}\n    Done -->|No| Monitor\n    Done -->|Yes| Review[Review work]\n```\n\n**Commands:**\n\n```bash\n# Attach to Mayor\ngt mayor attach\n\n# In Mayor, create convoy and let it orchestrate\ngt convoy create \"Auth System\" gt-x7k2m gt-p9n4q --notify\n\n# Track progress\ngt convoy list\n```\n\n### Minimal Mode (No Tmux)\n\nRun individual runtime instances manually. Gas Town just tracks state.\n\n```bash\ngt convoy create \"Fix bugs\" gt-abc12   # Create convoy (sling auto-creates if skipped)\ngt sling gt-abc12 myproject            # Assign to worker\nclaude --resume                        # Agent reads mail, runs work (Claude)\n# or: codex                            # Start Codex in the workspace\ngt convoy list                         # Check progress\n```\n\n### Beads Formula Workflow\n\n**Best for:** Predefined, repeatable processes\n\nFormulas are TOML-defined workflows embedded in the `gt` binary (source in `internal\u002Fformula\u002Fformulas\u002F`).\n\n**Example Formula** (`internal\u002Fformula\u002Fformulas\u002Frelease.formula.toml`):\n\n```toml\ndescription = \"Standard release process\"\nformula = \"release\"\nversion = 1\n\n[vars.version]\ndescription = \"The semantic version to release (e.g., 1.2.0)\"\nrequired = true\n\n[[steps]]\nid = \"bump-version\"\ntitle = \"Bump version\"\ndescription = \"Run .\u002Fscripts\u002Fbump-version.sh {{version}}\"\n\n[[steps]]\nid = \"run-tests\"\ntitle = \"Run tests\"\ndescription = \"Run make test\"\nneeds = [\"bump-version\"]\n\n[[steps]]\nid = \"build\"\ntitle = \"Build\"\ndescription = \"Run make build\"\nneeds = [\"run-tests\"]\n\n[[steps]]\nid = \"create-tag\"\ntitle = \"Create release tag\"\ndescription = \"Run git tag -a v{{version}} -m 'Release v{{version}}'\"\nneeds = [\"build\"]\n\n[[steps]]\nid = \"publish\"\ntitle = \"Publish\"\ndescription = \"Run .\u002Fscripts\u002Fpublish.sh\"\nneeds = [\"create-tag\"]\n```\n\n**Execute:**\n\n```bash\n# List available formulas\nbd formula list\n\n# Run a formula with variables\nbd cook release --var version=1.2.0\n\n# Create formula instance for tracking\nbd mol pour release --var version=1.2.0\n```\n\n### Manual Convoy Workflow\n\n**Best for:** Direct control over work distribution\n\n```bash\n# Create convoy manually\ngt convoy create \"Bug Fixes\" --human\n\n# Add issues to existing convoy\ngt convoy add hq-cv-abc gt-m3k9p gt-w5t2x\n\n# Assign to specific agents\ngt sling gt-m3k9p myproject\u002Fmy-agent\n\n# Check status\ngt convoy show\n```\n\n## Runtime Configuration\n\nGas Town supports multiple AI coding runtimes. Per-rig runtime settings are in `settings\u002Fconfig.json`.\n\n```json\n{\n  \"runtime\": {\n    \"provider\": \"codex\",\n    \"command\": \"codex\",\n    \"args\": [],\n    \"prompt_mode\": \"none\"\n  }\n}\n```\n\n**Notes:**\n\n- Claude uses hooks in `.claude\u002Fsettings.json` (managed via `--settings` flag) for mail injection and startup.\n- For Codex, set `project_doc_fallback_filenames = [\"CLAUDE.md\"]` in\n  `~\u002F.codex\u002Fconfig.toml` so role instructions are picked up.\n- For runtimes without hooks (e.g., Codex), Gas Town sends a startup fallback\n  after the session is ready: `gt prime`, optional `gt mail check --inject`\n  for autonomous roles, and `gt nudge deacon session-started`.\n- **GitHub Copilot** (`copilot`) is a built-in preset using `--yolo` for autonomous\n  mode. It uses executable lifecycle hooks in `.github\u002Fhooks\u002Fgastown.json` (same events\n  as Claude: `sessionStart`, `userPromptSubmitted`, `preToolUse`, `sessionEnd`). Uses a\n  5-second ready delay instead of prompt detection. Requires a Copilot seat and org-level\n  CLI policy. See [docs\u002FINSTALLING.md](docs\u002FINSTALLING.md).\n\n## Key Commands\n\n### Workspace Management\n\n```bash\ngt install \u003Cpath>           # Initialize workspace\ngt rig add \u003Cname> \u003Crepo>    # Add project\ngt rig list                 # List projects\ngt crew add \u003Cname> --rig \u003Crig>  # Create crew workspace\n```\n\n### Agent Operations\n\n```bash\ngt agents                   # List active agents\ngt sling \u003Cbead-id> \u003Crig>    # Assign work to agent\ngt sling \u003Cbead-id> \u003Crig> --agent cursor   # Override runtime for this sling\u002Fspawn\ngt mayor attach             # Start Mayor session\ngt mayor start --agent auggie           # Run Mayor with a specific agent alias\ngt prime                    # Context recovery (run inside existing session)\ngt feed                     # Real-time activity feed (TUI)\ngt feed --problems          # Start in problems view (stuck agent detection)\n```\n\n**Built-in agent presets**: `claude`, `gemini`, `codex`, `cursor`, `auggie`, `amp`, `opencode`, `copilot`, `pi`, `omp`\n\n### Convoy (Work Tracking)\n\n```bash\ngt convoy create \u003Cname> [issues...]   # Create convoy with issues\ngt convoy list              # List all convoys\ngt convoy show [id]         # Show convoy details\ngt convoy add \u003Cconvoy-id> \u003Cissue-id...>  # Add issues to convoy\n```\n\n### Configuration\n\n```bash\n# Set custom agent command\ngt config agent set claude-glm \"claude-glm --model glm-4\"\ngt config agent set codex-low \"codex --thinking low\"\n\n# Set default agent\ngt config default-agent claude-glm\n```\n\n### Monitoring & Health\n\n```bash\ngt escalate -s HIGH \"description\"  # Escalate a blocker\ngt escalate list               # List open escalations\ngt scheduler status            # Show scheduler state\ngt seance                      # Discover previous sessions\ngt seance --talk \u003Cid>          # Query a predecessor session\n```\n\n### Beads Integration\n\n```bash\nbd formula list             # List formulas\nbd cook \u003Cformula>           # Execute formula\nbd mol pour \u003Cformula>       # Create trackable instance\nbd mol list                 # List active instances\n```\n\n### Wasteland Federation\n\n```bash\ngt wl join \u003Cremote>            # Join a wasteland\ngt wl browse                   # View wanted board\ngt wl claim \u003Cid>               # Claim work\ngt wl done \u003Cid> --evidence \u003Curl>  # Submit completion\n```\n\n## Cooking Formulas\n\nGas Town includes built-in formulas for common workflows. See `internal\u002Fformula\u002Fformulas\u002F` for available recipes.\n\n## Activity Feed\n\n`gt feed` launches an interactive terminal dashboard for monitoring all agent activity in real-time. It combines beads activity, agent events, and merge queue updates into a three-panel TUI:\n\n- **Agent Tree** - Hierarchical view of all agents grouped by rig and role\n- **Convoy Panel** - In-progress and recently-landed convoys\n- **Event Stream** - Chronological feed of creates, completions, slings, nudges, and more\n\n```bash\ngt feed                      # Launch TUI dashboard\ngt feed --problems           # Start in problems view\ngt feed --plain              # Plain text output (no TUI)\ngt feed --window             # Open in dedicated tmux window\ngt feed --since 1h           # Events from last hour\n```\n\n**Navigation:** `j`\u002F`k` to scroll, `Tab` to switch panels, `1`\u002F`2`\u002F`3` to jump to a panel, `?` for help, `q` to quit.\n\n### Problems View\n\nAt scale (20-50+ agents), spotting stuck agents in the activity stream becomes difficult. The problems view surfaces agents needing human intervention by analyzing structured beads data.\n\nPress `p` in `gt feed` (or start with `gt feed --problems`) to toggle the problems view, which groups agents by health state:\n\n| State | Condition |\n|-------|-----------|\n| **GUPP Violation** | Hooked work with no progress for an extended period |\n| **Stalled** | Hooked work with reduced progress |\n| **Zombie** | Dead tmux session |\n| **Working** | Active, progressing normally |\n| **Idle** | No hooked work |\n\n**Intervention keys** (in problems view): `n` to nudge the selected agent, `h` to handoff (refresh context).\n\n## Dashboard\n\nGas Town includes a web dashboard for monitoring your workspace. The dashboard\nmust be run from inside a Gas Town workspace (HQ) directory.\n\n```bash\n# Start dashboard (default port 8080)\ngt dashboard\n\n# Start on a custom port\ngt dashboard --port 3000\n\n# Start and automatically open in browser\ngt dashboard --open\n```\n\nThe dashboard gives you a single-page overview of everything happening in your\nworkspace: agents, convoys, hooks, queues, issues, and escalations. It\nauto-refreshes via htmx and includes a command palette for running gt commands\ndirectly from the browser.\n\n## Monitoring & Health\n\nGas Town uses a three-tier watchdog chain to keep agents healthy at scale:\n\n```\nDaemon (Go process) ← heartbeat every 3 min\n    └── Boot (AI agent) ← intelligent triage\n        └── Deacon (AI agent) ← continuous patrol\n            └── Witnesses & Refineries ← per-rig agents\n```\n\n### Witness (Per-Rig)\n\nEach rig has a Witness that monitors its polecats. The Witness detects stuck agents, triggers recovery (nudge or handoff), manages session cleanup, and tracks completion. Witnesses delegate work rather than implementing it directly.\n\n### Deacon (Cross-Rig)\n\nThe Deacon runs continuous patrol cycles across all rigs, checking agent health, dispatching Dogs for maintenance tasks, and escalating issues that individual Witnesses can't resolve.\n\n### Escalation\n\nWhen agents hit blockers, they escalate rather than waiting:\n\n```bash\ngt escalate -s HIGH \"Description of blocker\"\ngt escalate list                    # List open escalations\ngt escalate ack \u003Cbead-id>           # Acknowledge an escalation\n```\n\nEscalations route through Deacon -> Mayor -> Overseer based on severity. See [Escalation design](docs\u002Fdesign\u002Fescalation.md).\n\n## Merge Queue (Refinery)\n\nThe Refinery processes completed polecat work through a bisecting merge queue:\n\n1. Polecat runs `gt done` -> branch pushed, MR bead created\n2. Refinery batches pending MRs\n3. Runs verification gates on the merged stack\n4. If green: all MRs in batch merge to main\n5. If red: bisects to isolate the failing MR, merges the good ones\n\nThis is a Bors-style merge queue — polecats never push directly to main.\n\n## Scheduler\n\nThe scheduler controls polecat dispatch capacity to prevent API rate limit exhaustion:\n\n```bash\ngt config set scheduler.max_polecats 5   # Enable deferred dispatch (max 5 concurrent)\ngt scheduler status                      # Show scheduler state\ngt scheduler pause                       # Pause dispatch\ngt scheduler resume                      # Resume dispatch\n```\n\nDefault mode (`max_polecats = -1`) dispatches immediately via `gt sling`. When a limit is set, the daemon dispatches incrementally, respecting capacity. See [Scheduler design](docs\u002Fdesign\u002Fscheduler.md).\n\n## Seance\n\nDiscover and query previous agent sessions:\n\n```bash\ngt seance                              # List discoverable predecessor sessions\ngt seance --talk \u003Cid>                  # Full context conversation with predecessor\ngt seance --talk \u003Cid> -p \"Question?\"   # One-shot question to predecessor\n```\n\nSeance discovers sessions via `.events.jsonl` logs, enabling agents to recover context and decisions from earlier work without re-reading entire codebases.\n\n## Wasteland Federation\n\nThe Wasteland is a federated work coordination network linking multiple Gas Towns through DoltHub:\n\n```bash\ngt wl join hop\u002Fwl-commons              # Join a wasteland\ngt wl browse                           # View wanted board\ngt wl claim \u003Cid>                       # Claim a wanted item\ngt wl done \u003Cid> --evidence \u003Curl>       # Submit completion with evidence\ngt wl post --title \"Need X\"            # Post new wanted item\n```\n\nCompletions earn portable reputation via multi-dimensional stamps (quality, speed, complexity). See [Wasteland guide](docs\u002FWASTELAND.md).\n\n## Telemetry (OpenTelemetry)\n\nGas Town emits all agent operations as structured logs and metrics to any OTLP-compatible backend (VictoriaMetrics\u002FVictoriaLogs by default):\n\n```bash\n# Configure OTLP endpoints\nexport GT_OTEL_LOGS_URL=\"http:\u002F\u002Flocalhost:9428\u002Finsert\u002Fjsonline\"\nexport GT_OTEL_METRICS_URL=\"http:\u002F\u002Flocalhost:8428\u002Fapi\u002Fv1\u002Fwrite\"\n```\n\n**Events emitted:** session lifecycle, agent state changes, bd calls with duration, mail operations, sling\u002Fnudge\u002Fdone workflows, polecat spawn\u002Fremove, formula instantiation, convoy creation, daemon restarts, and more.\n\n**Metrics include:** `gastown.session.starts.total`, `gastown.bd.calls.total`, `gastown.polecat.spawns.total`, `gastown.done.total`, `gastown.convoy.creates.total`, and others.\n\nSee [OTEL data model](docs\u002Fotel-data-model.md) and [OTEL architecture](docs\u002Fdesign\u002Fotel\u002F) for the complete event schema.\n\n## Advanced Concepts\n\n### The Propulsion Principle\n\nGas Town uses git hooks as a propulsion mechanism. Each hook is a git worktree with:\n\n1. **Persistent state** - Work survives agent restarts\n2. **Version control** - All changes tracked in git\n3. **Rollback capability** - Revert to any previous state\n4. **Multi-agent coordination** - Shared through git\n\n### Hook Lifecycle\n\n```mermaid\nstateDiagram-v2\n    [*] --> Created: Agent spawned\n    Created --> Active: Work assigned\n    Active --> Suspended: Agent paused\n    Suspended --> Active: Agent resumed\n    Active --> Completed: Work done\n    Completed --> Archived: Hook archived\n    Archived --> [*]\n```\n\n### MEOW (Mayor-Enhanced Orchestration Workflow)\n\nMEOW is the recommended pattern:\n\n1. **Tell the Mayor** - Describe what you want\n2. **Mayor analyzes** - Breaks down into tasks\n3. **Convoy creation** - Mayor creates convoy with beads\n4. **Agent spawning** - Mayor spawns appropriate agents\n5. **Work distribution** - Beads slung to agents via hooks\n6. **Progress monitoring** - Track through convoy status\n7. **Completion** - Mayor summarizes results\n\n## Shell Completions\n\n```bash\n# Bash\ngt completion bash > \u002Fetc\u002Fbash_completion.d\u002Fgt\n\n# Zsh\ngt completion zsh > \"${fpath[1]}\u002F_gt\"\n\n# Fish\ngt completion fish > ~\u002F.config\u002Ffish\u002Fcompletions\u002Fgt.fish\n```\n\n## Project Roles\n\n| Role            | Description                          | Primary Interface    |\n| --------------- | ------------------------------------ | -------------------- |\n| **Mayor**       | AI coordinator                       | `gt mayor attach`    |\n| **Human (You)** | Crew member                          | Your crew directory  |\n| **Polecat**     | Worker agent                         | Spawned by Mayor     |\n| **Witness**     | Per-rig agent health monitor         | Automatic patrol     |\n| **Deacon**      | Cross-rig supervisor daemon          | `gt patrol`          |\n| **Refinery**    | Merge queue processor                | Automatic            |\n| **Hook**        | Persistent storage                   | Git worktree         |\n| **Convoy**      | Work tracker                         | `gt convoy` commands |\n\n## Tips\n\n- **Always start with the Mayor** - It's designed to be your primary interface\n- **Use convoys for coordination** - They provide visibility across agents\n- **Leverage hooks for persistence** - Your work won't disappear\n- **Create formulas for repeated tasks** - Save time with Beads recipes\n- **Use `gt feed` for live monitoring** - Watch agent activity and catch stuck agents early\n- **Monitor the dashboard** - Get real-time visibility in the browser\n- **Let the Mayor orchestrate** - It knows how to manage agents\n\n## Design Documentation\n\nFor deeper technical details, see the design docs in `docs\u002F`:\n\n| Topic | Document |\n|-------|----------|\n| Architecture | [docs\u002Fdesign\u002Farchitecture.md](docs\u002Fdesign\u002Farchitecture.md) |\n| Glossary | [docs\u002Fglossary.md](docs\u002Fglossary.md) |\n| Molecules | [docs\u002Fconcepts\u002Fmolecules.md](docs\u002Fconcepts\u002Fmolecules.md) |\n| Escalation | [docs\u002Fdesign\u002Fescalation.md](docs\u002Fdesign\u002Fescalation.md) |\n| Scheduler | [docs\u002Fdesign\u002Fscheduler.md](docs\u002Fdesign\u002Fscheduler.md) |\n| Wasteland | [docs\u002FWASTELAND.md](docs\u002FWASTELAND.md) |\n| OTEL data model | [docs\u002Fotel-data-model.md](docs\u002Fotel-data-model.md) |\n| Witness design | [docs\u002Fdesign\u002Fwitness-at-team-lead.md](docs\u002Fdesign\u002Fwitness-at-team-lead.md) |\n| Convoy lifecycle | [docs\u002Fdesign\u002Fconvoy\u002F](docs\u002Fdesign\u002Fconvoy\u002F) |\n| Polecat lifecycle | [docs\u002Fdesign\u002Fpolecat-lifecycle-patrol.md](docs\u002Fdesign\u002Fpolecat-lifecycle-patrol.md) |\n| Plugin system | [docs\u002Fdesign\u002Fplugin-system.md](docs\u002Fdesign\u002Fplugin-system.md) |\n| Agent providers | [docs\u002Fagent-provider-integration.md](docs\u002Fagent-provider-integration.md) |\n| Hooks | [docs\u002FHOOKS.md](docs\u002FHOOKS.md) |\n| Installation guide | [docs\u002FINSTALLING.md](docs\u002FINSTALLING.md) |\n\n## Troubleshooting\n\n### Agents lose connection\n\nCheck hooks are properly initialized:\n\n```bash\ngt hooks list\ngt hooks repair\n```\n\n### Convoy stuck\n\nForce refresh:\n\n```bash\ngt convoy refresh \u003Cconvoy-id>\n```\n\n### Mayor not responding\n\nRestart Mayor session:\n\n```bash\ngt mayor detach\ngt mayor attach\n```\n\n## License\n\nMIT License - see LICENSE file for details\n","# 燃气小镇\n\n**面向 Claude Code、GitHub Copilot 及其他 AI 助手的多智能体编排系统，支持持久化工作追踪**\n\n## 概述\n\n燃气小镇是一个工作空间管理器，允许您协调多个 AI 编程助手（Claude Code、GitHub Copilot、Codex、Gemini 等）同时处理不同的任务。与传统方式中助手重启后丢失上下文不同，燃气小镇通过 Git 支持的钩子持久化工作状态，从而实现可靠的多智能体工作流。\n\n### 解决了哪些问题？\n\n| 挑战                       | 燃气小镇的解决方案                            |\n| ------------------------------- | -------------------------------------------- |\n| 助手重启后丢失上下文          | 工作状态保存在 Git 支持的钩子中              |\n| 手动协调助手                  | 内置邮箱、身份和交接机制                     |\n| 4–10 个助手协作变得混乱        | 可轻松扩展至 20–30 个助手                   |\n| 助手内存中丢失工作状态        | 工作状态存储在 Beads 账本中                  |\n\n### 架构\n\n```mermaid\ngraph TB\n    Mayor[市长\u003Cbr\u002F>AI 协调员]\n    Town[城镇工作空间\u003Cbr\u002F>~\u002Fgt\u002F]\n\n    Town --> Mayor\n    Town --> Rig1[装置：项目 A]\n    Town --> Rig2[装置：项目 B]\n\n    Rig1 --> Crew1[船员成员\u003Cbr\u002F>您的工作空间]\n    Rig1 --> Hooks1[钩子\u003Cbr\u002F>持久化存储]\n    Rig1 --> Polecats1[黄鼠狼\u003Cbr\u002F>工作者助手]\n\n    Rig2 --> Crew2[船员成员]\n    Rig2 --> Hooks2[钩子]\n    Rig2 --> Polecats2[黄鼠狼]\n\n    Hooks1 -.git worktree.-> GitRepo1[Git 仓库]\n    Hooks2 -.git worktree.-> GitRepo2[Git 仓库]\n\n    style Mayor fill:#e1f5ff,color:#000000\n    style Town fill:#f0f0f0,color:#000000\n    style Rig1 fill:#fff4e1,color:#000000\n    style Rig2 fill:#fff4e1,color:#000000\n```\n\n## 核心概念\n\n### 市长 🎩\n\n您的主要 AI 协调员。市长是一个拥有完整工作空间、项目和助手信息的 Claude Code 实例。**从这里开始**——只需告诉市长您想完成什么。\n\n### 城镇 🏘️\n\n您的工作目录（例如 `~\u002Fgt\u002F`）。包含所有项目、助手和配置。\n\n### 装置 🏗️\n\n项目容器。每个装置包裹一个 Git 仓库，并管理其相关的助手。\n\n### 船员成员 👤\n\n您在装置中的个人工作空间。您在此进行实际操作。\n\n### 黄鼠狼 🦨\n\n具有持久身份但会话短暂的工作者助手。它们为特定任务而启动，任务完成后会话结束，但身份和工作历史仍然保留。\n\n### 钩子 🪝\n\n基于 Git 工作树的助手工作持久化存储。即使崩溃或重启也能保持数据。\n\n### 运输队 🚚\n\n工作追踪单元。将多个珠子捆绑在一起并分配给助手。标记为 `mountain` 的运输队具备自主卡顿检测和智能跳过逻辑，适用于大型执行场景。\n\n### 珠子集成 📿\n\n基于 Git 的问题追踪系统，以结构化数据形式存储工作状态。\n\n**珠子 ID**（也称为 **问题 ID**）采用前缀加 5 位字母数字格式（如 `gt-abc12`、`hq-x7k2m`）。前缀表示项目的来源或装置。诸如 `gt sling` 和 `gt convoy` 等命令可接受这些 ID 来引用特定的工作项。“珠子”和“问题”这两个术语可以互换使用——珠子是底层数据格式，而问题是作为珠子存储的工作项。\n\n### 分子 🧬\n\n协调多步骤工作的流程模板。配方（TOML 定义）被实例化为带有跟踪步骤的分子。有两种模式：仅根级细丝（运行时展开步骤，轻量级）和浇注细丝（步骤被展开为子细丝，并支持检查点恢复）。详情请参阅 [分子](docs\u002Fconcepts\u002Fmolecules.md)。\n\n### 监控：目击者、执事、警犬 🐕\n\n三级看门狗系统确保助手健康运行：\n\n- **目击者**——每装置生命周期管理者。监控黄鼠狼，检测卡住的助手，触发恢复，管理会话清理。\n- **执事**——后台监督员，在所有装置间持续巡逻。\n- **警犬**——由执事派遣的基础设施工作人员，负责维护任务（例如引导进行故障排除）。\n\n### 精炼厂 🏭\n\n每装置的合并队列处理器。当黄鼠狼通过 `gt done` 完成工作时，精炼厂会批量处理合并请求，运行验证关卡，并使用类似 Bors 的二分队列合并到主分支。失败的 MR 会被隔离，要么就地修复，要么重新调度。\n\n### 上报 🚨\n\n按严重程度路由的问题上报机制。遇到阻塞的助手可通过 `gt escalate` 上报，该命令会创建由执事、市长以及（必要时）监督员处理的跟踪珠子。严重等级：CRITICAL（P0）、HIGH（P1）、MEDIUM（P2）。详情请参阅 [上报](docs\u002Fdesign\u002Fescalation.md)。\n\n### 调度器 ⏱️\n\n基于配置的黄鼠狼调度容量控制器。通过在可配置的并发限制下批量调度，防止 API 速率限制耗尽。默认为直接调度；设置 `scheduler.max_polecats` 可启用带有守护进程的延迟调度。详情请参阅 [调度器](docs\u002Fdesign\u002Fscheduler.md)。\n\n### 通灵会 👻\n\n会话发现与延续。通过 `.events.jsonl` 日志发现之前的助手会话，使助手能够查询其前任助手，获取早期工作的上下文和决策。\n\n```bash\ngt seance                       # 列出可发现的前任会话\ngt seance --talk \u003Cid> -p \"你发现了什么？\"  # 一次性的提问\n```\n\n### 荒原 🏜️\n\n通过 DoltHub 连接各个燃气小镇的联邦式工作协调网络。装置发布所需任务，从其他城镇领取工作，提交完成证据，并通过多维印章获得可移植的声誉。详情请参阅 [荒原](docs\u002FWASTELAND.md)。\n\n> **初次接触燃气小镇？** 请参阅 [术语表](docs\u002Fglossary.md)，获取完整的术语和概念指南。\n\n## 安装\n\n### 先决条件\n\n- **Go 1.25+** —— [go.dev\u002Fdl](https:\u002F\u002Fgo.dev\u002Fdl\u002F)\n- **Git 2.25+** —— 用于支持工作树功能\n- **Dolt 1.82.4+** —— [github.com\u002Fdolthub\u002Fdolt](https:\u002F\u002Fgithub.com\u002Fdolthub\u002Fdolt)\n- **beads (bd) 0.55.4+** —— [github.com\u002Fsteveyegge\u002Fbeads](https:\u002F\u002Fgithub.com\u002Fsteveyegge\u002Fbeads)\n- **sqlite3** —— 用于运输队数据库查询（通常在 macOS\u002FLinux 上已预装）\n- **tmux 3.0+** —— 推荐以获得完整体验\n- **Claude Code CLI**（默认运行时）—— [claude.ai\u002Fcode](https:\u002F\u002Fclaude.ai\u002Fcode)\n- **Codex CLI**（可选运行时）—— [developers.openai.com\u002Fcodex\u002Fcli](https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcli)\n- **GitHub Copilot CLI**（可选运行时）—— [cli.github.com](https:\u002F\u002Fcli.github.com)（需要 Copilot 许可）\n\n### 设置（下方为 Docker Compose 示例）\n\n```bash\n# 安装燃气小镇\n$ brew install gastown                                    # Homebrew（推荐）\n$ npm install -g @gastown\u002Fgt                              # npm\n$ go install github.com\u002Fsteveyegge\u002Fgastown\u002Fcmd\u002Fgt@latest  # 从源码安装（macOS\u002FLinux）\n\n# Windows（或若 go install 失败）：手动克隆并构建\n$ git clone https:\u002F\u002Fgithub.com\u002Fsteveyegge\u002Fgastown.git && cd gastown\n$ go build -o gt.exe .\u002Fcmd\u002Fgt\n$ mv gt.exe $HOME\u002Fgo\u002Fbin\u002F  # 或将燃气小镇添加到 PATH\n\n# 若使用 go install，请将 Go 二进制文件添加到 PATH（添加至 ~\u002F.zshrc 或 ~\u002F.bashrc）\nexport PATH=\"$PATH:$HOME\u002Fgo\u002Fbin\"\n\n# 创建带有 Git 初始化的工作区\ngt install ~\u002Fgt --git\ncd ~\u002Fgt\n\n# 添加你的第一个项目\ngt rig add myproject https:\u002F\u002Fgithub.com\u002Fyou\u002Frepo.git\n\n# 创建你的团队工作区\ngt crew add yourname --rig myproject\ncd myproject\u002Fcrew\u002Fyourname\n\n# 启动 Mayor 会话（你的主界面）\ngt mayor attach\n```\n\n### Docker Compose\n\n```bash\nexport GIT_USER=\"\u003C你的名字>\"\nexport GIT_EMAIL=\"\u003C你的邮箱>\"\nexport FOLDER=\"\u002FUsers\u002Fyou\u002Fcode\"\nexport DASHBOARD_PORT=8080  # 可选，用于 Web 仪表盘的主机端口\n\ndocker compose build              # 仅在首次运行或代码更改后需要\ndocker compose up -d\n\ndocker compose exec gastown zsh   # 或 bash\n\ngt up\n\ngh auth login                     # 如果你想让 gh 正常工作\n\ngt mayor attach\n```\n\n## 快速入门指南\n\n### 开始使用\n运行以下命令：\n```shell\ngt install ~\u002Fgt --git &&\ncd ~\u002Fgt &&\ngt config agent list &&\ngt mayor attach\n```\n然后告诉 Mayor 你想要构建什么！\n\n---\n\n### 基本工作流程\n\n```mermaid\nsequenceDiagram\n    participant 你\n    participant Mayor\n    participant Convoy\n    participant Agent\n    participant Hook\n\n    你->>Mayor: 告诉 Mayor 要构建什么\n    Mayor->>Convoy: 创建包含珠子的 convoy\n    Mayor->>Agent: 将珠子发送给代理\n    Agent->>Hook: 存储工作状态\n    Agent->>Agent: 完成工作\n    Agent->>Convoy: 报告完成情况\n    Mayor->>你: 进度总结\n```\n\n### 示例：功能开发\n\n```bash\n# 1. 启动 Mayor\ngt mayor attach\n\n# 2. 在 Mayor 会话中，创建包含珠子 ID 的 convoy\ngt convoy create \"Feature X\" gt-abc12 gt-def34 --notify --human\n\n# 3. 将任务分配给一个代理\ngt sling gt-abc12 myproject\n\n# 4. 跟踪进度\ngt convoy list\n\n# 5. 监控代理\ngt agents\n```\n\n## 常见工作流程\n\n### Mayor 工作流程（推荐）\n\n**最适合：** 协调复杂的多任务工作\n\n```mermaid\nflowchart LR\n    Start([启动 Mayor]) --> Tell[告诉 Mayor\u003Cbr\u002F>要构建什么]\n    Tell --> Creates[Mayor 创建\u003Cbr\u002F>convoy + 代理]\n    Creates --> Monitor[通过 convoy 列表监控进度]\n    Monitor --> Done{都完成了吗？}\n    Done -->|否| Monitor\n    Done -->|是| Review[审查工作]\n```\n\n**命令：**\n\n```bash\n# 附着到 Mayor\ngt mayor attach\n\n# 在 Mayor 中，创建 convoy 并让其协调\ngt convoy create \"Auth System\" gt-x7k2m gt-p9n4q --notify\n\n# 跟踪进度\ngt convoy list\n```\n\n### 极简模式（无 Tmux）\n\n手动运行单个运行时实例。Gas Town 只负责跟踪状态。\n\n```bash\ngt convoy create \"修复 bug\" gt-abc12   # 创建 convoy（如果省略，则 sling 会自动创建）\ngt sling gt-abc12 myproject            # 分配给工作者\nclaude --resume                        # 代理读取邮件并执行工作（Claude）\n# 或者：codex                            # 在工作空间中启动 Codex\ngt convoy list                         # 检查进度\n```\n\n### 珠子公式工作流程\n\n**最适合：** 预定义的可重复流程\n\n公式是嵌入在 `gt` 二进制文件中的 TOML 定义的工作流（源代码位于 `internal\u002Fformula\u002Fformulas\u002F`）。\n\n**示例公式** (`internal\u002Fformula\u002Fformulas\u002Frelease.formula.toml`)：\n\n```toml\ndescription = \"标准发布流程\"\nformula = \"release\"\nversion = 1\n\n[vars.version]\ndescription = \"要发布的语义版本号（例如 1.2.0）\"\nrequired = true\n\n[[steps]]\nid = \"bump-version\"\ntitle = \"升级版本\"\ndescription = \"运行 .\u002Fscripts\u002Fbump-version.sh {{version}}\"\n\n[[steps]]\nid = \"run-tests\"\ntitle = \"运行测试\"\ndescription = \"运行 make test\"\nneeds = [\"bump-version\"]\n\n[[steps]]\nid = \"build\"\ntitle = \"构建\"\ndescription = \"运行 make build\"\nneeds = [\"run-tests\"]\n\n[[steps]]\nid = \"create-tag\"\ntitle = \"创建发布标签\"\ndescription = \"运行 git tag -a v{{version}} -m 'Release v{{version}}'\"\nneeds = [\"build\"]\n\n[[steps]]\nid = \"publish\"\ntitle = \"发布\"\ndescription = \"运行 .\u002Fscripts\u002Fpublish.sh\"\nneeds = [\"create-tag\"]\n```\n\n**执行：**\n\n```bash\n# 列出可用的公式\nbd formula list\n\n# 运行带有变量的公式\nbd cook release --var version=1.2.0\n\n# 创建公式实例以进行跟踪\nbd mol pour release --var version=1.2.0\n```\n\n### 手动 convoy 工作流程\n\n**最适合：** 直接控制工作分配\n\n```bash\n# 手动创建 convoy\ngt convoy create \"Bug Fixes\" --human\n\n# 向现有 convoy 添加问题\ngt convoy add hq-cv-abc gt-m3k9p gt-w5t2x\n\n# 分配给特定代理\ngt sling gt-m3k9p myproject\u002Fmy-agent\n\n# 检查状态\ngt convoy show\n```\n\n## 运行时配置\n\nGas Town 支持多种 AI 编码运行时。每个项目的运行时设置位于 `settings\u002Fconfig.json` 中。\n\n```json\n{\n  \"runtime\": {\n    \"provider\": \"codex\",\n    \"command\": \"codex\",\n    \"args\": [],\n    \"prompt_mode\": \"none\"\n  }\n}\n```\n\n**注意事项：**\n\n- Claude 使用 `.claude\u002Fsettings.json` 中的钩子（通过 `--settings` 标志管理）来注入邮件和启动。\n- 对于 Codex，在 `~\u002F.codex\u002Fconfig.toml` 中设置 `project_doc_fallback_filenames = [\"CLAUDE.md\"]`，以便拾取角色指令。\n- 对于没有钩子的运行时（如 Codex），Gas Town 会在会话准备好后发送启动回退：`gt prime`，可选的 `gt mail check --inject` 用于自主角色，以及 `gt nudge deacon session-started`。\n- **GitHub Copilot** (`copilot`) 是一个内置预设，使用 `--yolo` 进入自主模式。它使用 `.github\u002Fhooks\u002Fgastown.json` 中的可执行生命周期钩子（与 Claude 相同的事件：`sessionStart`、`userPromptSubmitted`、`preToolUse`、`sessionEnd`）。它采用 5 秒的就绪延迟，而不是检测提示。需要 Copilot 座位和组织级别的 CLI 策略。请参阅 [docs\u002FINSTALLING.md](docs\u002FINSTALLING.md)。\n\n## 关键命令\n\n### 工作区管理\n\n```bash\ngt install \u003C路径>           # 初始化工作区\ngt rig add \u003C名称> \u003C仓库>    # 添加项目\ngt rig list                 # 列出项目\ngt crew add \u003C名称> --rig \u003Crig>  # 创建团队工作区\n```\n\n### 代理操作\n\n```bash\ngt agents                   # 列出活跃代理\ngt sling \u003C珠子 ID> \u003C项目>    # 将工作分配给代理\ngt sling \u003C珠子 ID> \u003C项目> --agent cursor   # 覆盖本次 sling\u002Fspawn 的运行时\ngt mayor attach             # 启动 Mayor 会话\ngt mayor start --agent auggie           # 使用特定代理别名运行 Mayor\ngt prime                    # 上下文恢复（在现有会话内运行）\ngt feed                     # 实时活动信息流（TUI）\ngt feed --problems          # 以问题视图启动（检测卡住的代理）\n```\n\n**内置代理预设**：`claude`、`gemini`、`codex`、`cursor`、`auggie`、`amp`、`opencode`、`copilot`、`pi`、`omp`\n\n### Convoy（工作跟踪）\n\n```bash\ngt convoy create \u003C名称> [问题...]   # 创建包含问题的 convoy\ngt convoy list              # 列出所有 convoy\ngt convoy show [ID]         # 显示 convoy 详情\ngt convoy add \u003Cconvoy ID> \u003C问题 ID...>  # 向 convoy 添加问题\n```\n\n### 配置\n\n```bash\n# 设置自定义代理命令\ngt config agent set claude-glm \"claude-glm --model glm-4\"\ngt config agent set codex-low \"codex --thinking low\"\n\n# 设置默认代理\ngt config default-agent claude-glm\n```\n\n### 监控与健康\n\n```bash\ngt escalate -s HIGH \"description\"  # 升级为阻塞问题\ngt escalate list               # 列出未处理的升级问题\ngt scheduler status            # 显示调度器状态\ngt seance                      # 发现之前的会话\ngt seance --talk \u003Cid>          # 查询前一个会话\n```\n\n### Beads 集成\n\n```bash\nbd formula list             # 列出配方\nbd cook \u003Cformula>           # 执行配方\nbd mol pour \u003Cformula>       # 创建可追踪实例\nbd mol list                 # 列出当前活跃实例\n```\n\n### 荒原联邦\n\n```bash\ngt wl join \u003Cremote>            # 加入荒原\ngt wl browse                   # 查看待办事项板\ngt wl claim \u003Cid>               # 领取任务\ngt wl done \u003Cid> --evidence \u003Curl>  # 提交完成情况\n```\n\n## 烹饪配方\n\nGas Town 内置了常见工作流的配方。可用配方请参阅 `internal\u002Fformula\u002Fformulas\u002F`。\n\n## 活动信息流\n\n`gt feed` 启动一个交互式终端仪表盘，用于实时监控所有代理的活动。它将 beads 活动、代理事件和合并队列更新整合到一个三面板的 TUI 中：\n\n- **代理树** - 按照机架和角色分组的所有代理的层级视图\n- **车队面板** - 正在进行中和最近到达的车队\n- **事件流** - 按时间顺序排列的创建、完成、推送、提醒等事件\n\n```bash\ngt feed                      # 启动 TUI 仪表盘\ngt feed --problems           # 从问题视图开始\ngt feed --plain              # 纯文本输出（无 TUI）\ngt feed --window             # 在专用 tmux 窗口中打开\ngt feed --since 1h           # 过去一小时内的事件\n```\n\n**导航：** `j`\u002F`k` 滚动，`Tab` 切换面板，`1`\u002F`2`\u002F`3` 跳转到特定面板，`?` 获取帮助，`q` 退出。\n\n### 问题视图\n\n在大规模场景下（20-50+ 个代理），在活动流中很难发现卡住的代理。问题视图通过分析结构化的 beads 数据，突出显示需要人工干预的代理。\n\n在 `gt feed` 中按 `p` 键（或直接使用 `gt feed --problems`）可以切换到问题视图，该视图按代理的健康状态分组：\n\n| 状态 | 条件 |\n|-------|-----------|\n| **GUPP 违规** | 长时间没有进展的工作 |\n| **停滞** | 工作进展缓慢 |\n| **僵尸** | 已经死亡的 tmux 会话 |\n| **运行中** | 正常运行并取得进展 |\n| **空闲** | 当前没有工作任务 |\n\n**干预键**（在问题视图中）：`n` 提醒选中的代理，`h` 交接（刷新上下文）。\n\n## 仪表盘\n\nGas Town 包含一个用于监控工作空间的 Web 仪表盘。该仪表盘必须在 Gas Town 工作空间（HQ）目录内运行。\n\n```bash\n# 启动仪表盘（默认端口 8080）\ngt dashboard\n\n# 在自定义端口启动\ngt dashboard --port 3000\n\n# 启动并自动在浏览器中打开\ngt dashboard --open\n```\n\n仪表盘提供了一个单页概览，展示了工作空间中发生的一切：代理、车队、任务、队列、问题和升级情况。它通过 htmx 自动刷新，并包含一个命令面板，允许您直接在浏览器中运行 gt 命令。\n\n## 监控与健康\n\nGas Town 使用三层看门狗机制来确保大规模下的代理健康：\n\n```\n守护进程（Go 进程）← 每 3 分钟发送一次心跳\n    └── Boot（AI 代理）← 智能分流\n        └── Deacon（AI 代理）← 持续巡逻\n            └── Witnesses & Refineries ← 每个机架的代理\n```\n\n### Witness（每个机架）\n\n每个机架都有一个 Witness，负责监控其 polecats。Witness 能够检测卡住的代理，触发恢复操作（提醒或交接），管理会话清理，并跟踪完成情况。Witness 不会直接执行任务，而是将任务委派给其他代理。\n\n### Deacon（跨机架）\n\nDeacon 会在所有机架之间持续巡逻，检查代理的健康状况，派遣 Dogs 处理维护任务，并将个别 Witness 无法解决的问题上报给更高层级。\n\n### 升级\n\n当代理遇到阻塞问题时，他们会主动升级，而不是等待：\n\n```bash\ngt escalate -s HIGH \"阻塞问题描述\"\ngt escalate list                    # 列出未处理的升级问题\ngt escalate ack \u003Cbead-id>           # 确认升级问题\n```\n\n升级问题会根据严重程度依次传递给 Deacon、Mayor 和 Overseer。详细信息请参阅 [升级设计](docs\u002Fdesign\u002Fescalation.md)。\n\n## 合并队列（Refinery）\n\nRefinery 通过二分法合并队列处理已完成的 polecat 工作：\n\n1. Polecat 执行 `gt done` -> 推送分支，创建 MR bead\n2. Refinery 将待处理的 MRs 分批处理\n3. 对合并后的代码栈运行验证门限\n4. 如果通过：该批次的所有 MRs 合并到主分支\n5. 如果失败：进行二分查找以隔离失败的 MR，合并其余成功的 MRs\n\n这是一种类似 Bors 的合并队列——polecats 不会直接推送到主分支。\n\n## 调度器\n\n调度器控制 polecat 的派遣能力，以防止 API 速率限制被耗尽：\n\n```bash\ngt config set scheduler.max_polecats 5   # 启用延迟派遣（最多 5 个并发）\ngt scheduler status                      # 显示调度器状态\ngt scheduler pause                       # 暂停派遣\ngt scheduler resume                      # 继续派遣\n```\n\n默认模式（`max_polecats = -1`）会立即通过 `gt sling` 派遣。当设置了限制后，守护进程会逐步派遣，以遵守容量限制。详细信息请参阅 [调度器设计](docs\u002Fdesign\u002Fscheduler.md)。\n\n## Seance\n\n发现并查询之前的代理会话：\n\n```bash\ngt seance                              # 列出可发现的先前会话\ngt seance --talk \u003Cid>                  # 与前任代理的完整对话\ngt seance --talk \u003Cid> -p \"Question?\"   # 向前任代理提出一次性问题\n```\n\nSeance 通过 `.events.jsonl` 日志发现会话，使代理能够从之前的工作中恢复上下文和决策，而无需重新阅读整个代码库。\n\n## 荒原联邦\n\n荒原是一个通过 DoltHub 连接多个 Gas Town 的联邦工作协调网络：\n\n```bash\ngt wl join hop\u002Fwl-commons              # 加入荒原\ngt wl browse                           # 查看待办事项板\ngt wl claim \u003Cid>                       # 领取待办事项\ngt wl done \u003Cid> --evidence \u003Curl>       # 提交完成情况及证据\ngt wl post --title \"Need X\"            # 发布新的待办事项\n```\n\n完成任务可以获得多维度的印章形式的可移植声誉（质量、速度、复杂性）。详细信息请参阅 [荒原指南](docs\u002FWASTELAND.md)。\n\n## 遥测（OpenTelemetry）\n\nGas Town 会将所有代理的操作作为结构化日志和指标发送到任何兼容 OTLP 的后端（默认为 VictoriaMetrics\u002FVictoriaLogs）：\n\n```bash\n\n# 配置 OTLP 端点\nexport GT_OTEL_LOGS_URL=\"http:\u002F\u002Flocalhost:9428\u002Finsert\u002Fjsonline\"\nexport GT_OTEL_METRICS_URL=\"http:\u002F\u002Flocalhost:8428\u002Fapi\u002Fv1\u002Fwrite\"\n```\n\n**发出的事件：** 会话生命周期、代理状态变化、带有持续时间的 BD 调用、邮件操作、投掷\u002F推动\u002F完成工作流、Polecat 派生\u002F移除、公式实例化、车队创建、守护进程重启等。\n\n**指标包括：** `gastown.session.starts.total`、`gastown.bd.calls.total`、`gastown.polecat.spawns.total`、`gastown.done.total`、`gastown.convoy.creates.total` 等。\n\n完整事件模式请参阅 [OTEL 数据模型](docs\u002Fotel-data-model.md) 和 [OTEL 架构](docs\u002Fdesign\u002Fotel\u002F)。\n\n## 高级概念\n\n### 推进原理\n\nGas Town 使用 Git 钩子作为推进机制。每个钩子都是一个 Git 工作树，具备以下特性：\n\n1. **持久化状态** - 即使代理重启，工作仍能保存。\n2. **版本控制** - 所有更改都记录在 Git 中。\n3. **回滚能力** - 可以恢复到任意先前状态。\n4. **多代理协调** - 通过 Git 共享。\n\n### 钩子生命周期\n\n```mermaid\nstateDiagram-v2\n    [*] --> Created: 代理被派生\n    Created --> Active: 分配了工作\n    Active --> Suspended: 代理暂停\n    Suspended --> Active: 代理恢复\n    Active --> Completed: 工作完成\n    Completed --> Archived: 钩子归档\n    Archived --> [*]\n```\n\n### MEOW（市长增强型编排工作流）\n\nMEOW 是推荐的模式：\n\n1. **告知市长** - 描述你的需求。\n2. **市长分析** - 将任务分解。\n3. **创建车队** - 市长创建包含“珠子”的车队。\n4. **派生代理** - 市长派生合适的代理。\n5. **分配工作** - 通过钩子将“珠子”分发给代理。\n6. **进度监控** - 通过车队状态跟踪进展。\n7. **完成** - 市长总结结果。\n\n## Shell 补全\n\n```bash\n# Bash\ngt completion bash > \u002Fetc\u002Fbash_completion.d\u002Fgt\n\n# Zsh\ngt completion zsh > \"${fpath[1]}\u002F_gt\"\n\n# Fish\ngt completion fish > ~\u002F.config\u002Ffish\u002Fcompletions\u002Fgt.fish\n```\n\n## 项目角色\n\n| 角色            | 描述                          | 主要接口    |\n| --------------- | ----------------------------- | ----------- |\n| **市长**       | AI 协调员                     | `gt mayor attach`    |\n| **人类（您）** | 队员                          | 您的工作目录  |\n| **Polecat**     | 工作代理                      | 由市长派生   |\n| **目击者**      | 每个平台的代理健康监测        | 自动巡逻     |\n| **执事**        | 跨平台监督守护进程            | `gt patrol`  |\n| **炼油厂**      | 合并队列处理器                | 自动处理     |\n| **钩子**        | 持久化存储                    | Git 工作树   |\n| **车队**        | 工作追踪器                    | `gt convoy` 命令 |\n\n## 小贴士\n\n- **始终从市长开始** - 它是专为您的主要界面设计的。\n- **使用车队进行协调** - 车队可以跨代理提供可见性。\n- **利用钩子实现持久化** - 您的工作不会丢失。\n- **为重复任务创建公式** - 使用“珠子”配方节省时间。\n- **使用 `gt feed` 进行实时监控** - 观察代理活动，及早发现卡住的代理。\n- **监控仪表板** - 在浏览器中获取实时可见性。\n- **让市长进行编排** - 它知道如何管理代理。\n\n## 设计文档\n\n如需深入了解技术细节，请参阅 `docs\u002F` 目录下的设计文档：\n\n| 主题           | 文档                           |\n|----------------|--------------------------------|\n| 架构           | [docs\u002Fdesign\u002Farchitecture.md](docs\u002Fdesign\u002Farchitecture.md) |\n| 术语表         | [docs\u002Fglossary.md](docs\u002Fglossary.md) |\n| 分子           | [docs\u002Fconcepts\u002Fmolecules.md](docs\u002Fconcepts\u002Fmolecules.md) |\n| 升级策略       | [docs\u002Fdesign\u002Fescalation.md](docs\u002Fdesign\u002Fescalation.md) |\n| 调度器         | [docs\u002Fdesign\u002Fscheduler.md](docs\u002Fdesign\u002Fscheduler.md) |\n| 废土           | [docs\u002FWASTELAND.md](docs\u002FWASTELAND.md) |\n| OTEL 数据模型  | [docs\u002Fotel-data-model.md](docs\u002Fotel-data-model.md) |\n| 目击者设计     | [docs\u002Fdesign\u002Fwitness-at-team-lead.md](docs\u002Fdesign\u002Fwitness-at-team-lead.md) |\n| 车队生命周期   | [docs\u002Fdesign\u002Fconvoy\u002F](docs\u002Fdesign\u002Fconvoy\u002F) |\n| Polecat 生命周期 | [docs\u002Fdesign\u002Fpolecat-lifecycle-patrol.md](docs\u002Fdesign\u002Fpolecat-lifecycle-patrol.md) |\n| 插件系统       | [docs\u002Fdesign\u002Fplugin-system.md](docs\u002Fdesign\u002Fplugin-system.md) |\n| 代理提供商     | [docs\u002Fagent-provider-integration.md](docs\u002Fagent-provider-integration.md) |\n| 钩子           | [docs\u002FHOOKS.md](docs\u002FHOOKS.md) |\n| 安装指南       | [docs\u002FINSTALLING.md](docs\u002FINSTALLING.md) |\n\n## 故障排除\n\n### 代理失去连接\n\n检查钩子是否正确初始化：\n\n```bash\ngt hooks list\ngt hooks repair\n```\n\n### 车队卡住\n\n强制刷新：\n\n```bash\ngt convoy refresh \u003C车队ID>\n```\n\n### 市长无响应\n\n重启市长会话：\n\n```bash\ngt mayor detach\ngt mayor attach\n```\n\n## 许可证\n\nMIT 许可证 - 详情请参阅 LICENSE 文件。","# Gas Town 快速上手指南\n\nGas Town 是一个多智能体编排系统，旨在协调 Claude Code、GitHub Copilot 等 AI 编程助手协同工作。它通过 Git 支持的持久化存储（Hooks）和任务追踪机制（Beads\u002FConvoys），解决了多智能体协作中上下文丢失和状态管理混乱的问题。\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n### 系统要求\n- **操作系统**: macOS, Linux (Windows 需手动编译或使用 Docker)\n- **Git**: 版本 2.25+ (必须支持 worktree)\n- **Go**: 版本 1.25+\n- **tmux**: 版本 3.0+ (推荐，用于获得完整体验)\n\n### 核心依赖\n- **Dolt**: 版本 1.82.4+ (分布式 SQL 数据库，用于状态存储)\n- **beads (bd)**: 版本 0.55.4+ (问题追踪底层格式)\n- **sqlite3**: 通常 macOS\u002FLinux 预装，用于 convoy 数据库查询\n\n### AI 运行时 (至少安装其一)\n- **Claude Code CLI** (默认推荐): `claude.ai\u002Fcode`\n- **Codex CLI** (可选): `developers.openai.com\u002Fcodex\u002Fcli`\n- **GitHub Copilot CLI** (可选): 需拥有 Copilot 席位\n\n> **国内开发者提示**: 由于部分依赖（如 Go 模块、npm 包、Dolt）托管在海外，建议配置国内镜像源以加速下载：\n> - **Go**: `export GOPROXY=https:\u002F\u002Fgoproxy.cn,direct`\n> - **npm**: `npm config set registry https:\u002F\u002Fregistry.npmmirror.com`\n> - **Git**: 若克隆 GitHub 仓库缓慢，可考虑使用镜像站或代理。\n\n## 2. 安装步骤\n\n您可以选择以下任一方式进行安装：\n\n### 方式 A：Homebrew (macOS 推荐)\n```bash\nbrew install gastown\n```\n\n### 方式 B：npm (跨平台)\n```bash\nnpm install -g @gastown\u002Fgt\n```\n\n### 方式 C：从源码安装 (Go)\n```bash\n# 设置 Go 代理 (可选，加速下载)\nexport GOPROXY=https:\u002F\u002Fgoproxy.cn,direct\n\n# 安装最新正式版\ngo install github.com\u002Fsteveyegge\u002Fgastown\u002Fcmd\u002Fgt@latest\n\n# 将 Go bin 目录加入 PATH (如果尚未添加)\nexport PATH=\"$PATH:$HOME\u002Fgo\u002Fbin\"\n```\n\n### 方式 D：Docker Compose (隔离环境)\n如果您希望避免本地依赖冲突，可使用 Docker：\n```bash\nexport GIT_USER=\"\u003C您的名字>\"\nexport GIT_EMAIL=\"\u003C您的邮箱>\"\nexport FOLDER=\"\u002FUsers\u002Fyou\u002Fcode\" # 替换为您的代码目录\n\ndocker compose build\ndocker compose up -d\ndocker compose exec gastown zsh\n```\n\n### 初始化工作区\n安装完成后，执行以下命令创建初始工作区并关联 Git：\n\n```bash\n# 创建名为 ~\u002Fgt 的工作区并初始化 git\ngt install ~\u002Fgt --git\n\n# 进入工作区\ncd ~\u002Fgt\n\n# 添加第一个项目 (Rig)\ngt rig add myproject https:\u002F\u002Fgithub.com\u002Fyourname\u002Fyourrepo.git\n\n# 创建个人工作空间 (Crew)\ngt crew add yourname --rig myproject\n\n# 进入个人工作目录\ncd myproject\u002Fcrew\u002Fyourname\n```\n\n## 3. 基本使用\n\nGas Town 的核心是 **\"The Mayor\" (市长)**，它是一个拥有全局上下文的 AI 协调员。您只需告诉 Mayor 要做什么，它会自动创建任务队列（Convoy）、分配智能体（Polecats）并追踪进度。\n\n### 启动协调员\n运行以下命令启动 Mayor 会话：\n\n```bash\ngt mayor attach\n```\n\n### 简单工作流示例\n\n一旦进入 `gt mayor attach` 会话，您可以直接用自然语言下达指令。例如：\n\n1.  **下达指令**:\n    > \"我要为 myproject 添加一个用户登录功能，包含前端表单和后端 API。\"\n\n    Mayor 会自动：\n    - 创建相关的任务项 (Beads)。\n    - 组建任务车队 (Convoy)。\n    - 调度合适的 AI 智能体 (Polecats) 开始工作。\n\n2.  **监控进度** (在另一个终端窗口或退出 Mayor 后):\n    ```bash\n    # 查看当前所有任务车队状态\n    gt convoy list\n\n    # 查看正在运行的智能体\n    gt agents\n    ```\n\n3.  **手动分配任务** (如果不使用 Mayor 自动编排):\n    ```bash\n    # 创建一个名为 \"Fix bugs\" 的车队\n    gt convoy create \"Fix bugs\" gt-abc12 gt-def34\n\n    # 将特定任务 (bead) 分配给指定项目的智能体\n    gt sling gt-abc12 myproject\n\n    # 检查状态\n    gt convoy show\n    ```\n\n### 核心概念速查\n- **Town (`~\u002Fgt`)**: 总工作区目录。\n- **Rig**: 项目容器，每个 Rig 对应一个 Git 仓库。\n- **Mayor**: 主协调 AI，负责拆解任务和调度。\n- **Polecats**: 执行具体任务的临时工作智能体。\n- **Beads**: 持久化的任务单元 (类似 Issue)，格式如 `gt-abc12`。\n- **Convoy**: 任务车队，将多个 Beads 打包分配给智能体执行。\n\n现在，您已经准备好使用 Gas Town 协调多个 AI 智能体进行高效开发了！","某初创团队的技术负责人正带领 5 名开发者与 20 个 AI 编码代理（如 Claude Code、Copilot）并行重构一个大型微服务架构，需同时处理数据库迁移、API 网关升级及前端适配等复杂任务。\n\n### 没有 gastown 时\n- **上下文频繁丢失**：AI 代理因超时或报错重启后，之前的代码修改思路和中间状态全部清零，必须人工重新输入大量背景信息。\n- **协作混乱低效**：多个代理在同一项目上“各自为战”，缺乏统一协调，常出现代码冲突或重复劳动，人工调度成本极高。\n- **进度难以追踪**：工作任务分散在各个代理的临时内存中，一旦会话结束就无法回溯具体完成了哪些步骤，导致项目状态不透明。\n- **规模扩展受限**：当并发代理数量超过 10 个时，管理复杂度呈指数级上升，团队被迫限制 AI 使用数量以维持秩序。\n\n### 使用 gastown 后\n- **状态持久化保存**：gastown 利用 Git Hooks 将每个代理的工作现场（如代码片段、思考链）实时存入\"Beads\"账本，即使代理重启也能瞬间恢复上下文。\n- **自动化智能调度**：\"Mayor\"作为总协调员自动分配任务并通过内置信箱机制处理代理间的交接，20+ 个代理有序协作而无冲突。\n- **全流程可追溯**：所有任务被封装为带唯一 ID 的\"Convoys\"，管理者可随时查询任意任务的详细执行历史和当前状态，实现精细化管控。\n- **弹性支撑大规模并发**：凭借\"Witness\"和\"Deacon\"组成的监控体系，系统能自动检测并修复卡死的代理，轻松支撑 30 个以上代理同时作业。\n\ngastown 通过将易失的 AI 会话转化为基于 Git 的持久化工作流，让大规模多智能体协作从“混沌实验”变成了“可控的工程实践”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgastownhall_gastown_7473d547.png","gastownhall","Gas Town Hall","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgastownhall_a76ff61d.png","Building community for Gas Town, your AI agent orchestrator.",null,"csells@sellsbrothers.com","https:\u002F\u002Fgastownhall.ai","https:\u002F\u002Fgithub.com\u002Fgastownhall",[81,85,89,93,96,100,104,108,112,116],{"name":82,"color":83,"percentage":84},"Go","#00ADD8",94.7,{"name":86,"color":87,"percentage":88},"Shell","#89e051",1.7,{"name":90,"color":91,"percentage":92},"JavaScript","#f1e05a",1.2,{"name":94,"color":83,"percentage":95},"Go Template",0.9,{"name":97,"color":98,"percentage":99},"CSS","#663399",0.7,{"name":101,"color":102,"percentage":103},"HTML","#e34c26",0.4,{"name":105,"color":106,"percentage":107},"Python","#3572A5",0.3,{"name":109,"color":110,"percentage":111},"Makefile","#427819",0.1,{"name":113,"color":114,"percentage":115},"TypeScript","#3178c6",0,{"name":117,"color":118,"percentage":115},"Nix","#7e7eff",13710,1232,"2026-04-08T17:08:13","MIT",4,"Linux, macOS, Windows","未说明",{"notes":127,"python":125,"dependencies":128},"该工具主要基于 Go 语言开发，而非 Python。核心依赖包括 Dolt（版本控制数据库）和 beads（问题追踪系统）。推荐使用 tmux 以获得完整体验。支持通过 Docker Compose 部署。需要配置至少一种 AI 编码代理运行时（默认为 Claude Code）。",[129,130,131,132,133,134,135,136,137],"Go 1.25+","Git 2.25+","Dolt 1.82.4+","beads (bd) 0.55.4+","sqlite3","tmux 3.0+","Claude Code CLI","Codex CLI (可选)","GitHub Copilot CLI (可选)",[13,14],"2026-03-27T02:49:30.150509","2026-04-09T05:24:01.707835",[142,147,152,157,162,166],{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},25773,"为什么使用 `--agent` 标志启动 Mayor 时会失败并回退到 Claude，或者提示找不到会话？","这是一个已知问题，已在多个提交中修复。主要原因包括：\n1. **运行时配置字段丢失**：`fillRuntimeDefaults` 函数之前只复制了 `Command` 和 `Args`，导致非 Claude agent（如 opencode）所需的 `PromptMode` 等字段丢失。\n2. **未找到项目根目录时忽略标志**：如果 `findTownRootFromCwd()` 失败，系统会忽略 `--agent` 标志并强制回退到 Claude。现已修复为直接查找预设配置。\n3. **交接后标志未保留**：会话重启时会丢失 agent 覆盖设置。修复方法是将该设置存储在 tmux 会话环境变量中。\n4. **Crew 未正确配置钩子**：非默认 agent 未能部署 gastown 插件到工作区。\n\n请确保升级到最新版本以获取这些修复。如果问题仍然存在，请检查是否使用了最新的构建版本。","https:\u002F\u002Fgithub.com\u002Fgastownhall\u002Fgastown\u002Fissues\u002F925",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},25774,"在 Ubuntu 24.04 上全新安装后，为什么运行 `gt mayor attach` 会报错 \"no sessions\" 且无法启动 Mayor？","这是因为在 Ubuntu 24.04 (tmux 3.4) 上，当没有运行 tmux 服务器时，`attach-session` 命令会返回 \"no sessions\" 错误，而旧版本的 gastown 未能正确识别此错误从而创建新会话。\n\n**解决方案**：\n该问题已在 commit `2a30819a` 中修复。代码现在能正确识别 \"no sessions\" 和 \"no current target\" 错误，并将其映射为 `ErrNoServer`，从而允许正常创建新会话。\n\n如果您遇到此问题，请更新到包含此修复的最新版本。文件变更涉及 `internal\u002Ftmux\u002Ftmux.go`（添加错误检测）和 `internal\u002Fcmd\u002Fcrew_helpers.go`（添加会话存在性检查）。","https:\u002F\u002Fgithub.com\u002Fgastownhall\u002Fgastown\u002Fissues\u002F741",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},25775,"Scheduler 集成测试在 CI 中不稳定（Flaky），每次运行失败的测试都不同，该如何解决？","这是由于测试数据库未在每次运行后清理导致的资源竞争问题。\n\n**解决方案**：\n已在 PR #2892 中提交修复。主要改动是在 `setupMultiRigSchedulerTown` 函数中添加了 `t.Cleanup`，用于在每个测试运行结束后自动删除测试数据库（如 `beads_h*`, `beads_r*`, `beads_s*`）。这与单 rig 设置函数中现有的清理逻辑保持一致，从而消除了测试间的状态干扰。","https:\u002F\u002Fgithub.com\u002Fgastownhall\u002Fgastown\u002Fissues\u002F2832",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},25776,"如何为 Crew 成员或 Polecat 分配行为 specialization（如 Foreman\u002FDispatcher），而不硬编码名字？","不要硬编码 crew 成员的名字来判断角色。应使用配置字段 `crew_role` 进行控制。\n\n**设计思路**：\n系统引入了一个 \"posting\"（岗位）系统，这是一种行为专业化覆盖层，可以分配给任何 crew 成员或 polecat。\n- **持久化分配**：通过配置文件设置 `crew_role`。\n- **临时分配**：在每次会话中动态指定。\n\n这种方法避免了与现有结构性角色（如 mayor, witness）的冲突，并允许任何配置了相应 `crew_role` 的成员承担特定行为职责（如 dispatcher）。具体实现可参考相关设计文档和 PR #2806。","https:\u002F\u002Fgithub.com\u002Fgastownhall\u002Fgastown\u002Fissues\u002F2818",{"id":163,"question_zh":164,"answer_zh":165,"source_url":146},25777,"Mayor 在没有使用 Rig 的情况下尝试访问项目，且不进行任务委托，这是什么原因？","这通常是因为 Agent 配置或模型选择不当导致的。用户反馈在使用某些模型（如 devstral small）时，Mayor 可能会出现卡顿或不按预期委托任务的行为。\n\n**建议**：\n1. 检查是否已正确配置 Agent 和模型。例如：`gt config agent set opencode \"opencode --model \u003Cyour-model>\"`。\n2. 确保 Mayor 会话已正确附加并识别了当前的项目上下文（Rig）。\n3. 尝试更换更强大的模型，特别是对于 RTX 5090 等高算力设备，选择参数量更大或针对代码优化的模型可能效果更好。\n4. 确认 `gt mail send` 等命令是否正确触发了 Mayor 的调度逻辑。",{"id":167,"question_zh":168,"answer_zh":169,"source_url":151},25778,"如果在 macOS 上也遇到 Mayor 无法启动的问题，是否与 Ubuntu 上的 \"no sessions\" 错误类似？","是的，macOS 用户也可能遇到类似的 Mayor 无法启动问题。虽然具体的 tmux 错误信息可能因操作系统和 tmux 版本而异，但根本原因通常是 gastown 未能正确处理 tmux 在无会话时的返回状态。\n\n**解决方法**：\n请参考 Ubuntu 问题的修复方案（commit `2a30819a`），该修复旨在通用化处理 tmux 的 \"no sessions\" 或 \"no current target\" 错误。请确保您使用的是包含此修复的最新版本 gastown。如果问题依旧，请提供具体的错误日志以便进一步诊断。",[171,176,181,186,191,196,201,206,211,216],{"id":172,"version":173,"summary_zh":174,"released_at":175},163109,"v1.0.0","# Gas Town v1.0.0\n\nGas Town 终于迎来了 1.0 版本！这一里程碑式的发布标志着经过 14 次迭代开发（v0.5.0 至 v0.13.0），并在不断壮大的开源社区支持下，系统已达到生产级稳定性。\n\n## 亮点\n\n- **Windows 平台支持** — 实现了完整的平台特定信号处理、进程管理以及 tmux 子进程跟踪功能\n- **工作流公式类型** — `gt formula run` 现已支持 `type = \"workflow\"`，用于交互式多步骤执行\n- **Refinery PR 合并策略** — 通过 `merge_strategy=pr` 原生集成 GitHub 合并队列\n- **安全加固** — 修复了 dolt_remotes 中的 SQL 注入漏洞；polecat 的 PreToolUse 防护机制会阻止 `sudo` 和系统包安装操作；拒绝未经签名的二进制文件\n- **市长审批关卡** — Polecats 在扩大分子作用范围之前，必须先获得市长的批准\n- **速率限制看门狗插件** — 当 API 返回 429 速率限制错误时，自动停止执行\n\n## 社区贡献\n\n本次发布包含了来自多位社区成员的贡献，共计 75 次提交。感谢所有提交 PR、报告问题以及参与测试的朋友们！\n\n## 完整变更日志\n\n完整的变更列表请参阅 [CHANGELOG.md](https:\u002F\u002Fgithub.com\u002Fgastownhall\u002Fgastown\u002Fblob\u002Fmain\u002FCHANGELOG.md)。\n\n## 安装\n\n```bash\n# 使用 npm\nnpm install -g @anthropic\u002Fgastown\n\n# 或者从源码构建\ngit clone https:\u002F\u002Fgithub.com\u002Fgastownhall\u002Fgastown.git\ncd gastown\nmake install\n```","2026-04-03T05:46:01",{"id":177,"version":178,"summary_zh":179,"released_at":180},163110,"v0.13.0","## Gas Town v0.13.0\n\n适用于 Linux、macOS（Intel 和 Apple Silicon）以及 Windows 的预编译二进制文件。\n\n### 安装\n\n**Homebrew（macOS\u002FLinux）：**\n```bash\nbrew install gastown\n```\n\n**npm（Node.js）：**\n```bash\nnpm install -g @gastown\u002Fgt\n```\n\n**手动安装：**\n请在下方下载适合您平台的二进制文件，解压后将其放置在您的 PATH 环境变量中。\n\n## 更改日志\n### 功能\n* 6a4d74f44df49216a254cb56de68794f526663a2 合并 PR #2916：新增 gt wl show \u003Cwork-id> 命令 (#2792)\n* 801af44e66b9590df5df88cd7277eb610da2587d 合并 PR #2986：通过全局名称池实现各 Rig 上的 Polecats 名称唯一化（gas-21k）\n* 198f0fd532fff7bc26d17056640287fd7249c2b6 合并 PR #3011：为 refinery 添加 auto_push 配置，以控制合并后的推送\n* 25db7294a3d8b89cb63bb762420d456c63529cf2 为 config 添加 list 子命令到 default-agent\n* 8533f2a89b1b871dbbd0435f1b8e04a08edcb0d0 为 convoy 添加 gt convoy watch\u002Funwatch 命令，用于完成通知（GH#gt-12o）\n* b4fe4f75f1641fb180f0fc75e486d00e69ad74ea 为 daemon 添加 disabled_patrols 城镇设置，无需编辑 daemon.json 即可禁用巡逻\n* ab940a4748cab3a8ef1fe7d308ac3efe14503e55 为 doctor 添加叠加健康检查\n* c171a391ae63d650f9a2befc8f7fa30ab3fccf4f 为 feed 添加合并队列面板到 convoy 视图（gt-et9）\n* b9978fb90f702e2f8204cfc747d0c6774308ccd3 为 formula 添加 mol-pr-feedback-patrol 公式（修复合并 PR #3261）\n* 4ddf5c48beaf548e20688162a97a40d9bcbff920 为 formula 实现叠加加载器和应用者（gt-3kg.2）\n* a4611422211826550f6d4e4fcd565809d1da1a8d 为 handoff 添加会话重启前的用户提示（gas-6z0）\n* 13328c0ff9967353d8457e2b1530b3df7e1331ff 为 prime 添加公式叠加支持\n* e7e646ac60da94db0a6ee051f875472353a5b901 为 prime 添加角色指令输出\n* b06cad53fc15e53e701ebbc868e06e47f1eb3ec0 为 refinery 添加 auto_push 配置，以控制合并后的推送\n* 9ae750dcb79001e9ce5f1e8000ea54799a34d034 为 refinery 添加 squash 后的门控阶段，用于推送前的验证\n* ba96fa0f86c4a9a8a13123b77a3b95c97124ec63 为 rig 支持通过文件 URL 进行本地引导（#3325）\n* 9298634cd3e343721868a321687497d24e99e604 为 wasteland 添加角色卡、计分器以及戳记循环的集成测试\n* c66fa5a010f48a01a863eb5dd5f19c41e2bfdf34 为 wasteland 添加 gt wl stamp 和 gt wl stamps 命令，用于 HOP 试点\n* 331e708a820719116c7d7c135725213e7c19e738 为 wasteland 添加 pilot_cohort 列及 endorsement 指印类型\n* c8d36a7d3ba18543feadabaaf533555f5bea8062 新增 \u002Fdone 斜杠命令及 Polecats Stop 钩子安全网（gas-lob）\n* 394d8df5f6b7cf878bc19b06ffbd3c34801e3558 新增用于指令和叠加层的 CLI 命令（gt-3kg.5）\n* 848fe2025a558595b7f3a62cf98869fb716f61bc 新增门珠说明模板和 GitHub API 客户端（修复合并 PR #3311）\n* 2006f433794580bb48177d988f08f79edf8b15e4 新增带有测试的 gt changelog 命令（gt-5jf）（#2971）\n* 30c243c1f62ac1e9cf9e929bcb5350ad9269a63c 新增 gt wl show \u003Cwork-id> 命令（#2792）\n* 289ab4794c64","2026-03-29T22:15:00",{"id":182,"version":183,"summary_zh":184,"released_at":185},163111,"v0.12.1","## Gas Town v0.12.1\n\n适用于 Linux、macOS（Intel 和 Apple Silicon）以及 Windows 的预编译二进制文件。\n\n### 安装\n\n**Homebrew（macOS\u002FLinux）：**\n```bash\nbrew install gastown\n```\n\n**npm（Node.js）：**\n```bash\nnpm install -g @gastown\u002Fgt\n```\n\n**手动安装：**\n请在下方下载适合您平台的二进制文件，解压后将其放置在您的 PATH 环境变量中。\n\n## 更改日志\n### 功能\n* 4feaa540fc078fa1e2e272d770ced8ec46e337cd 合并 PR #2681：新增 gt assign 命令\n* 9a0f74cf414f88e44b2e1f4dc2ea7a355b3536d8 合并 PR #2688：在所有船员命令中根据船员姓名推断装备配置\n* 41c41e547c505819e527c74ec941812987099831 合并 PR #2699：在 gt done 中实现子模块更改自动推送至父仓库之前\n* a4f99b598fab100086da241972b9a632860712fb 合并 PR #2740：支持从仓库获取装备设置，并增加对 polecat 测试的支持\n* ce95c27b20cb909beaa6bc4b7064d01fd6ca577b 合并 PR #2775：在 daemon.json 生命周期默认配置中添加 handler（狗调度）功能\n* 0f7be9252077014bfe4c0b74033e3c8a008ca901 合并 PR：feat(convoy)：在准备史诗任务时，自动将验证珠作为最后一波追加（gt-m65）\n* 317c960ccd7b4802596de1973e2d94b2ccdb10ce 合并 PR：feat(formula)：在 mol-idea-to-plan 中添加内联评估\u002F烟雾测试珠的创建功能（gt-bxx）\n* bfa042aaa181b77a22adc4db62a26ac84d38d196 feat(acp)：实现不区分大小写且支持多行的推进触发检测（gt-bu1）\n* 30a9106759e74f729540aa9a7e5af2278249d5a4 feat(acp)：重构 runKeepAlive 以提高可测试性，并添加推进抑制功能（gt-58p）\n* f28273a1e2f3393ef440a15c4eeb7cd49ac5c292 feat(convoy)：为 convoy create 添加 --from-epic 标志（PR #2771）\n* aaff1f1481c4843a22c8b873c9466debeda91bfd feat(convoy)：在准备史诗任务时，自动将验证珠作为最后一波追加\n* eedb353be7fbf702c1f657861acb0ee56216fbbc feat(formula)：在 mol-idea-to-plan 中添加内联评估\u002F烟雾测试珠的创建功能\n* 6c300d48b9c52562c8fc07f51c71b854dea1821a feat(formula)：mol-idea-to-plan v2，加入迭代评审环节\n* c42daccfdafc68de02fac0235ee2a97320d385b0 feat(plans)：起草 codex-hooks 规范\n* 9b1c3ef3481572c6e16123afb69bd6e6d90cfc8e feat(plans)：丰富 codex-hooks 规范\n* 7eb479273559bae2cfb909cc10cc9a78c956ccd7 feat：为 Proxy 添加 Propelled 状态，用于在推进过程中抑制输出（gt-gqb）\n* bfa4696c460ccca619172d579712284ee86ecbbd feat：实现 Agent 客户端协议（ACP）\n* 5f9493fce59fa8f05353aa6fdfd8aaa47b0d9822 feat：实现 MockAgent 测试基础设施（gt-rsh）\n* b38e875571339434182da0ff573f805c489a88e8 feat：向插件系统添加 exec-wrapper 插件类型（gt-5xg）\n* 2f3f2902c13812b783cdc3a97e775de1159c894a feat：添加 foreign-remotes 医生检查，并修复 dolt-archive 默认数据库\n* 712c5b5f58d66aa4d2f9c1e793a417614c6bc9ac feat：新增 gt assign 命令，用于一次性创建珠子并挂钩\n* dd1a5e22d728d72d8bf79aef2eb546c35761065f feat：新增 gt mountain CLI 命令（阶段 + 标签 + 发布）（gt-1v3）\n* 3106337ab6d24ef84e978aae0ccbf21418a848e6 feat：在 daemon.json 生命周期默认配置中添加 handler（狗调度）功能\n* c11da4d8bdb6a1c02144fa75ada09361b71b80f7","2026-03-16T02:10:42",{"id":187,"version":188,"summary_zh":189,"released_at":190},163112,"v0.12.0","## Gas Town v0.12.0\n\n适用于 Linux、macOS（Intel 和 Apple Silicon）以及 Windows 的预编译二进制文件。\n\n### 安装\n\n**Homebrew（macOS\u002FLinux）：**\n```bash\nbrew install gastown\n```\n\n**npm（Node.js）：**\n```bash\nnpm install -g @gastown\u002Fgt\n```\n\n**手动安装：**\n请在下方下载适合您平台的二进制文件，解压后将其放置到您的 PATH 环境变量中。\n\n## 更改日志\n### 功能\n* 98a2d06c8dd63928e21746e0f373e2ba358770b6 合并 PR #2370：新增守护进程功能，在代理启动前可选择性进行压力检查\n* 4ba154a77ac49bb08e89f766b570de850b227095 合并 PR #2398：为 convoy create 添加 --base-branch 支持\n* 92ab22d860feed0ba0151f1f4b87a5c58d8803de 合并 PR #2466：新增 gt 插件同步功能，可在构建后自动部署插件\n* 43ead392728f183f7d4362523cd227b18a387c37 合并 PR #2580：新增 Witness 派遣消息类型\n* 207f1a5c72854d25c4cfd2e5df3c0d42b930d5c2 合并 PR #2609：为 refinery 添加 merge_strategy 配置（直接模式 vs PR 模式）\n* 5dc606f291df0741774ca8a0dfa7cad055830ccb 合并 PR #2633：基于事件驱动的 polecat 生命周期，并引入 FIX_NEEDED 反馈循环\n* 2eebe50e2c939dee4756d535f696f7cd4f304eca 合并 PR #2674：新增邮件功能，自动提醒代理通过邮件而非聊天回复\n* 74f19f8252bcb874143155bf773d9f0699cf7a40 合并 PR #2676：在工作树中使用 --reference 初始化子模块\n* efb16615854b5b9f960fe55a55c5d79338d4ac6a 配置功能：为 MailThresholds 添加可配置的回复提醒延迟\n* 7307240240d54848dbfc3dc3e2c0555935cd9da3 convoy 功能：为 convoy create 添加 --base-branch 支持\n* ae72e8e14d345b3818964207d1ddfab9de4ea908 守护进程功能：在启动非基础设施代理之前添加可选的压力检查\n* 94cd895dc0b8ef3ba06a24689880e057ea131913 dog 功能：为 dog 工作人员派遣添加等待 sling 的保护机制\n* 22a1630d3663344bc7d2097116caae3bd7edef7d dogs 功能：在 dog 准备阶段硬编码公式 CLI 路径及查找顺序\n* 7fcfe8e80908dd612e39b89c1b600daf9ed9d928 formula 功能：实现 extends 和 compose\u002Fexpand 支持\n* 7f3a8130ca9f93d188dc30dd91966a4e93df6414 mail 功能：在邮件送达后将延迟的回复提醒加入队列\n* 3d5c721d438dde881350445bbbdad00a4e89325e nudge 功能：新增 DeliverAfter 字段，用于延迟队列投递\n* 8da798be0663af74be7960844b90038e51769203 sling 功能：添加 --crew 标志，以便按船员定位目标成员\n* 2fc2bab2dafa67bde9f7c1460001e5a4dafae4aa 功能：新增 \u002Freaper、\u002Fbackup 和 \u002Fpatrol 自定义技能（gt-pv3k）\n* 77c6683f70462684d42fd22b96828a105f61d489 功能：新增 \u002Freview 命令，支持 A-F 评分并与 refinery 集成 (#2636)\n* 2e69cdfbb4205af5d322a30e8dd6d5cfdf0e1457 功能：为基于事件驱动的 polecat 生命周期添加 FIX_NEEDED 协议消息（gt-k0h）\n* 7ec0de9f7b77674f31191eaaefabda8d1005fd1b 功能：新增 Witness 派遣消息类型（te-l0o）\n* 44fe386a96468719c187aebca17ea7172bce3d4f 功能：为 compactor-dog 插件添加可执行 run.sh 脚本\n* 380fc9c23a540fb8550919c4cd1cac5b8080c583 功能：新增 git-hygiene 狗插件，用于自动化仓库清理（gt-cdm）\n* 7a4ac8f7321dcf9a2426cb78ba409adc5b8e2e65 ","2026-03-12T03:46:56",{"id":192,"version":193,"summary_zh":194,"released_at":195},163113,"v0.11.0","## Gas Town v0.11.0\n\n适用于 Linux、macOS（Intel 和 Apple Silicon）以及 Windows 的预编译二进制文件。\n\n### 安装\n\n**Homebrew（macOS\u002FLinux）：**\n```bash\nbrew install gastown\n```\n\n**npm（Node.js）：**\n```bash\nnpm install -g @gastown\u002Fgt\n```\n\n**手动安装：**\n请在下方下载适合您平台的二进制文件，解压后将其放置在您的 PATH 环境变量中。\n\n## 更改日志\n### 功能\n* 38bc447924e9d3610e9d9a3b5a849d90f8cf09bf feat(close): 添加 --cascade 标志，用于关闭父级及所有子级（GH#998）\n* 3b9b0f04db3439fd31fe25d483e9b2b0b0facbd2 feat(dashboard): 在 convoy 面板中增加进度百分比、就绪\u002F活跃任务数量以及分配对象信息\n* dafcd2417fbbc9960f9527f39f60c3044ce9fdd3 feat(polecat): 设置 POLECAT_SLOT 环境变量以实现测试隔离（GH#954）\n* 64bd736e13463004ba4f1092eb6b2dc3f7050c88 feat: 添加 docker-compose 和 Dockerfile\n* 86e3b89b3478872bef98c0ddd8570e1f6ae94c33 feat: 为 polecat 代理集成添加 Cursor hooks 支持\n* 330aec8ea401fb5e3cf3ea77ce6705d14aaa87cb feat: 添加 context-budget guard 作为外部脚本（hq-48p）(#2008)\n* 3f533d93400114875cc4a26dedcc2b9cdaf0e52b feat: 为 gt wl sync 添加模式演进支持（gp-c7e）(#2388)\n### 错误修复\n* 1f9bfaf10e0662af155423354405a5bf0d3cee22 合并 PR #2284: 修复：在 make build 中构建 gt-proxy-server 和 gt-proxy-client\n* b78d1981f8e875afabb31cd7324c01e01fd748cb 合并 PR #2294: 修复(reaper): 将 Scan\u002FReap 中 O(n*m) 的相关 EXISTS 替换为 LEFT JOIN 反模式\n* d69d618a7cffe1d22a2abeb50dc008c0f4b302d2 合并 PR #2295: 修复(rig): 当移除孤立的 rig 目录时显示可操作的指导信息\n* 2f379d242b2933d8e9f3a38bb6ad19a95d7f8eb4 合并 PR #2298: 修复(ci): 将 bd 升级至 v0.57.0，并添加测试超时以避免 CI 中断\n* 6890d7bc8346f8c00ea1b2ee025575a70afddd5c 合并 PR #2301: 修复(rig): 在裸克隆中从 HEAD 检测默认分支\n* 00710018af45a9b8369c460607289bfa7c653baa 合并 PR #2302: 修复(ci): 解决 lint 错误和 Windows 测试失败问题\n* 5dbcd80e90bc8af8d6bda0fbf273ca94317198b1 合并 PR #2310: 修复：在 gt done 中添加分支污染事前检查 (#2220)\n* 3a71782561ed64f1aa1276fa9da6108b7a4f10f8 合并 PR #2367: 修复：在 Dockerfile COPY 中添加 --chown=agent:agent\n* 4414e71b98721573cfbcc7628d41a6ebbb4d5729 合并 PR #2374: 修复：规范 GT_ROLE 解析中的双斜杠\n* 335856ef27875cc0ab865f95dbf60872d62637f2 合并 PR #2377: 修复(convoy): 在启动收集过程中解析外部跟踪 ID\n* 8e7ee506bdaf10bb5e28be6f2d2dba6df86bcfc2 合并 PR #2379: 修复(polecat): 将 JSON 状态与会话存活状态进行协调\n* 0760714b65121ea252b996facd087b0e4d553d10 合并 PR #2396: 修复：使 --allow-stale 条件依赖于 bd 版本支持\n* 6bc38c7b442a9f58e53caa280c6aaaff87ce5699 合并 PR #2397: 修复(polecat): 在 nuke 操作中使用 ClonePath 进行尽力推送\n* f43708c293b2d5fe78cc47539a51656751915e59 修复(ci): 将 bd 升级至 v0.57.0，并在测试运行器中添加 -timeout=10m（gt-4v0t）\n* 5ff86dfdfba49e1cf9fa5ce4ff6753e1ab5f0490 修复(ci): 解决 lint 错误和 Windows 测试失败问题\n* 2ca2494e0c193ee5022ac2b0953201b130b8ce5f 修复(cmd): 替换硬编码","2026-03-06T06:44:01",{"id":197,"version":198,"summary_zh":199,"released_at":200},163114,"v0.10.0","自 v0.9.0 以来共有 150 次提交。主要主题包括：可靠性增强、遥测、基于公式驱动的架构，以及跨平台修复。\n\n## 亮点\n\n### go install 已修复\n已移除针对 zfogg\u002Fdolt 分支的 `replace` 指令。现在可以再次使用 `go install github.com\u002Fsteveyegge\u002Fgastown\u002Fcmd\u002Fgt@v0.10.0`。(#2230)\n\n### Polecat 可靠性改进（小丑表演 #22 解决）\n- 每个珠子的重新启动熔断器可防止大量生成风暴 (#2203)\n- 防止同一珠子重复生成\n- 自动销毁过时分子以解除重新调度的阻塞\n- 修复了名称分配、僵尸检测和重新启动记录中的 TOCTOU 竞争条件\n\n### Convoy 和 sling 修复\n- 在波形计算中尊重不可 sling 的阻挡物 (#2228)\n- 带医生检查的 `EnsureCustomStatuses`，用于 staged_ready\u002Fstaged_warnings 状态 (#2275)\n- 在 runSling 中添加了对 cobra.Command 的空值保护\n- 在 gt show 和 gt sling 中解决了带有 rig 前缀的珠子解析问题 (#2126)\n- 通过捕获 bd 的 stderr 来抑制使用情况转储的噪声 (#2270)\n\n### 合并队列预验证\n- mol-polecat-work v8 中新增预验证步骤\n- `gt done --pre-verified` 标志用于合并队列的快速路径\n- 炼油厂预验证的快速路径会跳过冗余的 CI\n\n### 遥测 (OTel)\n- 对代理会话、邮件和令牌使用的监控\n- 工作上下文注入 + 代理对话流式传输\n- PII 限制、孤儿进程清理以及内容限制缓存\n\n### 守护进程和见证人加固\n- 炼油厂的生成受待处理事件的限制（避免空闲 API 调用浪费）\n- 移交冷却时间可防止空闲 rig 上的崩溃循环\n- Wisp 清理程序将 UPDATE 操作分批执行，以避免阻塞总部查询（从 60-90 秒缩短至快速完成）\n- Wisp 清理程序已重写为基于 Dog 公式的驱动方式\n- 见证人处理器中移除了违反 ZFC 的策略决策\n- 带有代理报告状态的心跳 v2\n\n### 用于沙盒化 polecat 的 mTLS 代理\n- 新的 mTLS 代理服务器和客户端，用于沙盒化的 polecat 执行\n- gt 命令被标注为 polecat-safe，以便加入代理允许列表\n\n### 代理内存\n- `gt remember\u002Fmemories\u002Fforget` 命令由珠子支持\n- 跨会话持久化，并在关键时刻注入\n\n### 按城镇隔离的 tmux\n- `GT_TMUX_SOCKET=auto` 用于选择性启用按城镇隔离的 tmux\n- gt status 显示 dolt 数据目录以及 tmux 套接字\u002FPID\n\n### 自定义 polecat 名称主题\n- `gt namepool theme` 支持自定义主题文件\n- 包括验证、预览和删除警告\n\n### 其他显著修复\n- 当 setupSharedBeads 失败时，MR 珠子对炼油厂不可见——现在被视为致命错误 (#2282)\n- 炼油厂会将无效的 MR 优先级限制为最低值，而不是最高值\n- `gt doctor --fix` 会补全缺失的巡逻公式 (#2105)\n- SHOW DATABASES 结果缓存可防止惊群现象 (#2180)\n- 跨平台：Setpgid 已提取到 Windows 版本，syscall.Flock 已替换为跨平台锁\n- `make install` 现在可在标签检出时正常工作 (#2062)\n- 插件冷却时间门控已修复（之前使用的是月而不是分钟）\n- 修复了守护进程 PID=0 的问题，以及 dolt 多城镇 PID 重复使用的问题 (#2243)\n- 如果 dolt 启动失败，gt mayor 会在 abort 时退出 (#2246)\n\n## 破坏性变更\n- 最低珠子版本提升至 v0.57.0\n- `setupSharedBeads` 失败现在被视为致命错误（之前会被静默忽略）\n\n#","2026-03-03T06:16:25",{"id":202,"version":203,"summary_zh":204,"released_at":205},163115,"v0.9.0","## Gas Town v0.9.0\n\n适用于 Linux、macOS（Intel 和 Apple Silicon）以及 Windows 的预编译二进制文件。\n\n### 安装\n\n**Homebrew（macOS\u002FLinux）：**\n```bash\nbrew install gastown\n```\n\n**npm（Node.js）：**\n```bash\nnpm install -g @gastown\u002Fgt\n```\n\n**手动安装：**\n请在下方下载适合您平台的二进制文件，解压后将其放置在您的 PATH 环境变量中。\n\n## 更改日志\n### 功能\n* 0d264b2702693f33a5eca5096d991e487253757d 合并 PR #2019：新增功能（doctor）：通过 `gt doctor --fix` 实现环境变量检查的自动修复\n* a6829ee0d8a8f818c4b09d051d1600a6465592d4 合并：新增功能：为医生犬健康监测器添加自动化响应操作（gt-nek89）\n* 21e2b724b83935c1e754cbd71614223d18edeb66 新增功能（CLI）：为未知子命令显示“您是不是想输入”的建议\n* 355f01124b4f5bdfc341cf14c6f8eeeace558da3 新增功能（命令）：当设置时，将遥测和成本日志写入 `GT_HOME\u002F.gt`\n* 85887e8817448b9ad2799e8eeb24c724b4fcdc9f 新增功能（压缩器）：添加压缩犬，用于每日 Dolt 提交历史的扁平化处理\n* c13cc276eb09b9ff20ee33a8ae8de69a2169a713 新增功能（压缩器）：启用具有可配置阈值的压缩犬（gt-l8dc）\n* 0611a69b3d9ba8321252ce4d11c848af752e0223 新增功能（压缩器）：将 Dolt GC 从医生犬转移到压缩犬（gt-emm4）\n* 7342fcdd227e7a8ddcef99c8ed6cca5cba15f11a 新增功能（车队）：添加合并块依赖类型，用于合并后的门控操作（#1893）\n* e060349be9ed1d9af79c7e380e2ec0c5529fa114 新增功能（船员）：通过 `worker_agents` 配置实现每个工作进程的代理选择（GH#2175）\n* 289a94a0bb4f487d552b0cdc1a521d302391ded5 新增功能（守护进程）：JSONL Git 备份犬巡逻\n* fcad605c692db7010fba3166232b822db50faa4f 新增功能（守护进程）：添加 `gt daemon clear-backoff` 命令\n* 739a36b7e06ae7aaa25531cad41ee3a8c8fc80f5 新增功能（守护进程）：添加清洁犬公式，用于测试服务器清理（gt-8xgm）\n* 3243d688244676a97ca80ff7e885fdef78f20cba 新增功能（守护进程）：为守护进程和 Dolt 服务器日志添加日志轮转功能（gt-9w0d）\n* af4e172e3f9b0a8f58b40ae277e2b65af4a3c57d 新增功能（守护进程）：添加孤儿数据库和备份新鲜度健康检查（hq-rjh）\n* 419f90a37f970c7463704e80a8f6b0c1e47e3925 新增功能（守护进程）：添加微丝收割犬巡逻，用于自动化的微丝 GC（hq-j42）\n* 7def59fec354a0a153e538ea002087ad585fea18 新增功能（守护进程）：将 JSONL 备份扩展到所有核心表（hq-u6t）\n* 370493a47841b9bf3c172e90408c21dc3833b530 新增功能（守护进程）：将 Dolt 备份同步接入守护进程定时器\n* 25d1b39e673886bba2007a7fe98453facecc4d2b 新增功能（医生）：添加 `--no-start` 标志，以在使用 `--fix` 时抑制守护进程启动\n* b87b3f635b991716016cae7b50e15b9495f4c593 新增功能（医生）：添加 `--no-start` 标志，以在使用 `--fix` 时抑制守护进程启动\n* f50d0232bada280799ea6cd4393e0beeb1207427 新增功能（医生）：为分子犬医生分子添加选项 B 节流功能（gt-loah）\n* 9730e27161ad30defbbd94dc878193385193329d 新增功能（医生）：使环境变量检查可通过 `gt doctor --fix` 自动修复\n* e04237abf43db682271fe75baa3c0956d0a5b56c 新增功能（医生）：清除误分类的微丝并检测 JSONL 膨胀\n* 23d55b7060fb9150777e3ed98b1cbe3691e69969 新增功能（Dolt）：为 testcontainers 添加 WithScripts 初始化 SQL，以修复 root@% 认证问题\n* 67e8d9a9cd6dbf641ab1d45a0736","2026-03-01T08:45:27",{"id":207,"version":208,"summary_zh":209,"released_at":210},163116,"v0.7.0","## Gas Town v0.7.0 新功能介绍\n\n自 v0.6.0 以来共提交了 135 次更新。本次发布带来了车队所有权管理、代理韧性改进、新的运行时集成以及大量冗余代码的清理。\n\n### 亮点\n\n- **车队所有权管理** — 新增 `--owned` 标志、`--merge` 策略选择（direct\u002Fmr\u002Flocal），并提供 `gt convoy land` 命令用于清理已拥有车队。对于已拥有且采用 direct 方式的车队，可跳过见证者\u002F炼油厂注册步骤。\n- **`gt done` 韧性增强** — 基于检查点的恢复机制，可在会话中途异常终止时自动恢复。现在，即使在执行 `gt done` 期间会话意外退出，Polecats 也不会丢失已完成的工作。\n- **代理工厂** — 以数据驱动的预设注册表取代了传统的提供商开关语句。新增 AI 运行时只需修改配置文件，无需改动代码。\n- **Gemini + Copilot CLI 集成** — 为 Google Gemini CLI 和 GitHub Copilot CLI 提供了一流的运行时适配器。\n- **非破坏性微调交付** — 队列模式与等待空闲模式可避免在代理轮次中消息丢失。\n- **子模块支持** — 支持 Git 子模块的 Worktree 和炼油厂合并队列功能。\n- **移除 Beads Classic** — 删除了 924 行无用的 SQLite\u002FJSONL\u002F同步代码。\n\n### 仪表板与用户界面\n\n- 丰富的活动时间线，支持按时间顺序查看与筛选\n- 移动端友好、响应式布局\n- Toast 通知与升级操作按钮\n- Esc 键可关闭展开的面板\n\n### 代理生命周期与见证者\n\n- 自动关闭卡住的 Polecats 权限提示\n- 检测到死亡船员代理并在启动时自动重启\n- 对于过时或孤立的裁定，生成 JSON 巡逻收据\n- 检测孤立分子并自动关闭\n- 将分配给死亡 Polecats 的 IN_PROGRESS beads 自动回收\n\n### 基础设施\n\n- 合并队列新增 `--verify` 标志，用于检测孤立条目\n- 成本摘要仅包含聚合负载（修复 Dolt 列溢出问题）\n- 为 tmux 会话名称添加特定于钻井平台的 beads 前缀\n- Mayor GT_ROLE 任务工具保护机制\n- 在执行 `gt rig add` 时服务器端自动创建数据库\n- 会话前缀现基于注册表管理（取代硬编码的 `gt-*` 模式）\n\n### Bug 修复\n\n- 修复了 Web 仪表板、信息流策展人、TUI 车队\u002F信息流中的竞态条件\n- 将车队生命周期保护机制扩展至批量自动关闭及合成路径\n- 现在移除钻井平台时会终止 tmux 会话，并在终止失败时中止操作\n- 防止信号停止钩子出现无限循环\n- 阻止 Polecats 完成零提交的情况\n- 角色推断不再错误地从城镇根目录 cwd 推断 Mayor 角色\n- 社区贡献带来的其他 50 多项 bug 修复\n\n完整详情请参阅 [CHANGELOG.md](https:\u002F\u002Fgithub.com\u002Fsteveyegge\u002Fgastown\u002Fblob\u002Fmain\u002FCHANGELOG.md)。","2026-02-16T06:01:24",{"id":212,"version":213,"summary_zh":214,"released_at":215},163117,"v0.6.0","## Gas Town v0.6.0\n\n适用于 Linux、macOS（Intel 与 Apple Silicon）以及 Windows 的预编译二进制文件。\n\n### 安装\n\n**Homebrew（macOS\u002FLinux）：**\n```bash\nbrew install gastown\n```\n\n**npm（Node.js）：**\n```bash\nnpm install -g @gastown\u002Fgt\n```\n\n**手动安装：**\n请在下方下载适合您平台的二进制文件，解压后将其放置到您的 PATH 环境变量中。\n\n## 更新日志\n### 功能\n* cf3055c8fe76e2f28fd5b9c7c19476be2be06201 合并 PR #1195：feat(仪表盘)：在显示 convoy ID 的同时展示 convoy 标题\n* 346ddaa3cf2a8a6120c3692072c213940b49dd1b feat(紧凑模式)：新增压缩报告功能，包括每日摘要和每周汇总\n* 847d0b9bb8a17762a35047ed1ce5df9ee5a57b39 feat(配置)：新增 LintCommand\u002FBuildCommand 字段，并将公式参数化\n* 0792a093828562bea3149cf5108712a16de7b0a2 feat(convoy)：为 gt convoy create 和 gt sling 添加 --merge 标志\n* b5a1ed7ba17164adfee015f8e7511e5ccd3e40db feat(convoy)：为 gt convoy create 和 gt sling 添加 --owned 标志\n* 955da9c80e7b54922bb8d5f1d5cdcb70d44f1b30 feat(convoy)：将完成通知推送至活跃的 Mayor 会话\n* ab3995d3d50c46195d207edc826d5771f78b4671 feat(守护进程)：将 Mayor 加入守护进程的监督体系\n* 67194fa3d9ec1be84d45354e6bca08ec5d741e89 feat(守护进程)：为代理重启添加指数退避机制 (#687)\n* cad33ca51e39db2608c1acf9dc5cddb9fccd15fb feat(守护进程)：新增 launchd\u002Fsystemd 监督支持 (#681)\n* 8b6b6be77a9b2e5de50e3d371f0470a5291e5fb8 feat(仪表盘)：新增交互式命令面板、邮件撰写功能及 API 性能监控 (#1018)\n* 3382a945ca0393bc31049cdee3339ed5ce74ebd4 feat(仪表盘)：全面升级用户体验，新增船员通知功能\n* bb562b06bb0d542a54a5fe967ddfc8c4270d69d1 feat(仪表盘)：在显示 convoy ID 的同时展示 convoy 标题\n* 8dcd12bb392a5d8ab11a0ba808c7f7ce1e07f7f3 feat(执事)：在巡逻任务中新增“饲料滞留 convoy”步骤 (#1092)\n* fd3342f604d153092f91d0dc633e8bbaf4616c14 feat(执事)：自动重新派遣从死亡的 polecats 中找回的 beads\n* 8f88e30959d1708334ed8b1ea32dff79c9f79649 feat(医生)：新增 --slow 标志以突出显示运行缓慢的检查\n* feab01661d7c3a02bc6d5d597e9a878078f744be feat(医生)：新增 beads-sync 工作树健康检查 (#796)\n* ff2c5fe81d9e4596b9fb945a9c81535f0667eb63 feat(医生)：新增 beads-sync 工作树健康检查 (gt-mihct)\n* 72d20e2e0f5ee330618aefa68a8c664f51dadae5 feat(医生)：新增数据库前缀检查，用于检测 rig 配置不匹配问题 (#1030)\n* 9a721e8aea5458c93d61905d3d955c770f57edb4 feat(医生)：新增针对 SQLite 到 Dolt 迁移的迁移就绪性检查\n* bf3296e7136a3343f139a975021b97f0bc01535f feat(医生)：新增 rig-name-mismatch 检查 (#1137)\n* 6a5261e142689709907f1f1d13912b6e511cd7fb feat(医生)：新增 stale-agent-beads 检查，用于检测已移除船员的过时代理 beads (#1036)\n* 5c7e6c4d69b2bc0b5b3c7c7cb2f4f13689a6e2a9 feat(医生)：新增 stale-beads-redirect 检查\n* eec8b91fc2343bce181ac851472df456417693fd feat(医生)：新增实时检查进度的流式输出\n* 4500f1968e280c44b7c188ba99f83cd9d38f54bb feat(医生)：新增慢速检查的计时显示 (#995)\n* 931b27ec5390a7c55b1865c2d40dcb00c67a6b9a feat(医生)：disti","2026-02-15T18:16:02",{"id":217,"version":218,"summary_zh":219,"released_at":220},163118,"v0.5.0","## Gas Town v0.5.0\n\n适用于 Linux、macOS（Intel 与 Apple Silicon）以及 Windows 的预编译二进制文件。\n\n### 安装\n\n**Homebrew（macOS\u002FLinux）：**\n```bash\nbrew install steveyegge\u002Fgastown\u002Fgt\n```\n\n**npm（Node.js）：**\n```bash\nnpm install -g @gastown\u002Fgt\n```\n\n**手动安装：**\n请在下方下载适用于您平台的相应二进制文件，解压后将其放置到您的 PATH 环境变量中。\n\n## 更新日志\n### 功能\n* cd347dfdf93e70ac995cf75d01cb794f953a94c8 feat(bead)：为 `show` 子命令添加 `read` 别名\n* f6fab3afadf7b936a30533e0a71cad4bb60cc8a4 feat(cmd)：在 `gt close` 中为 `--reason` 添加 `--comment` 别名\n* e12aa45dd68ea23e415395aca0f9b903a86d0375 feat(config)：向 RuntimeConfig 和 AgentPresetInfo 添加 Env 字段 (#860)\n* f00b0254f224ac026d0f660169874677a3de489d feat(config)：将 OpenCode 添加为内置代理预设 (#861)\n* 7a2090bb15b70cbd352992cedcbc2452e690d553 feat(config)：添加 ShellQuote 辅助函数，用于安全地转义环境变量 (#830)\n* d0a1e165e55bab28d949164a8e25107b83a132a5 feat(convoy)：为 Witness 和 Refinery 添加冗余观察者\n* aef99753dfd3d70982853a9498f57b95f4ad243b feat(convoy)：添加特定的 convoy ID 检查及干运行标志\n* 9b412707ab7dbb031bff12936a5b6f15c79e9fad feat(convoy)：当未指定所有者时，默认使用创建者作为所有者\n* 0db2bda6e6d815da66de7bdec8e17941a5f31a6a feat(deacon)：为 tmux 验证的进程清理添加僵尸扫描命令\n* 5791cd7e34db7ea6cb6ae5058910d5c6fc997ef8 feat(doctor)：为 SessionHookCheck 添加自动修复功能 (#857)\n* 6c5c671595b00adcd79488b5764434f65a4c31fb feat(doctor)：添加路由模式检查，以检测 .beads-planning 路由错误 (#810)\n* afc1ff04b1657d8332ddf0ee94032fdd75b365e9 feat(formula)：为代码审查添加验证环节与预设 (#841)\n* 37f465bde5148518772d883a87319e4c69cf49c0 feat(hooks)：为 PreToolUse 钩子添加 gt block-pr-workflow 命令\n* d0e49a216aaf2dd2d3f429792b491721401ec07b feat(hooks)：添加钩子注册表与安装命令 (bd-qj9nc)\n* 1dc31024ca2e1fff45ff6157ea6683f59ed484b7 feat(mail)：在删除命令中接受多个消息 ID\n* d610d444d78cf03f8e6f824d84380ff3d53e5bf9 feat(mail)：为 `gt mail inbox` 命令添加 `--all` 标志\n* 3d7b1093954b477187a2b68bd50c2d0edcf18cae feat(mail)：为 `gt mail send` 添加 `--body` 别名，替代 `--message\u002F-m`\n* 785d9adfef7eb2bd58114ddd1242a09bc59d44f4 feat(mail)：将 gt mail hook 作为 gt hook attach 的别名\n* b612df0463ada48fb1590496538e11aa1f768fb4 feat(mail)：为 `gt mail read` 添加数字索引支持\n* 6616a4726cd2ecac8eaa84c00641c624ab3ebcdb feat(mail)：在回复命令中支持位置参数消息\n* 44d5b4fdd2f8cda92bc2724a6f5e7db692edbf29 feat(orphans)：为 tmux 验证的孤儿检测添加 `--aggressive` 标志\n* 6e2169de7f88b3c3849ed72f967b6a6f1cab7ae8 feat(orphans)：添加 gt orphans kill 命令\n* d67aa0212cb40ae6deab04b0fee816dc0867409b feat(refinery)：使用 squash merge 来消除冗余的合并提交 (#856)\n* 544cacf36de74979b43a3ca592a534f96914cfd9 feat(roles)：添加基于配置的角色定义系统（第一阶段）\n* a6102830785430065d79c908563a691fb14da44c feat(roles)：sw","2026-01-22T07:10:26"]