SuperAPI AI 工具集

worktree

编程与开发

查看项目

更新于 10-16 03:19

技能介绍

用途

worktree 是一个面向 AutoGPT 平台开发的 Git worktree 设置技能,用于为并行开发快速创建独立的工作树。它把创建 worktree、复制环境文件、安装依赖和生成 Prisma 客户端等重复性初始化步骤整合在一起,减少手动配置成本。

主要能力

  • 创建 Git worktree:从 Git 顶层目录推导路径。若参数中提供了名称则使用该名称,否则检查 git worktree list 并选取下一个 AutoGPT<N>。
  • 支持两种创建方式:从已有分支创建,或基于 dev 创建新分支。
  • 复制环境文件:从根 worktree 复制 .env,若不存在则回退到 .env.default,覆盖 autogpt_platform/backend、autogpt_platform/frontend 和 autogpt_platform 三个路径。
  • 安装依赖并生成 Prisma 客户端:在 autogpt_libs 和 backend 中执行 poetry install,在 backend 中执行 poetry run prisma generate,在 frontend 中执行 pnpm install。
  • 可选运行应用:释放后端端口 8001、8002、8003、8005、8006、8007、8008 后启动后端。
  • 提供清理命令,用于移除已创建的 worktree。
  • 可选支持 branchlet 工具进行创建。

使用方式

创建 worktree:

ROOT=$(git rev-parse --show-toplevel)
PARENT=$(dirname "$ROOT")

# 从已有分支
git worktree add "$PARENT/<NAME>" <branch-name>

# 基于 dev 创建新分支
git worktree add -b <new-branch> "$PARENT/<NAME>" dev

复制环境文件:

ROOT=$(git rev-parse --show-toplevel)
TARGET="$(dirname "$ROOT")/<NAME>"

for envpath in autogpt_platform/backend autogpt_platform/frontend autogpt_platform; do
  if [ -f "$ROOT/$envpath/.env" ]; then
    cp "$ROOT/$envpath/.env" "$TARGET/$envpath/.env"
  elif [ -f "$ROOT/$envpath/.env.default" ]; then
    cp "$ROOT/$envpath/.env.default" "$TARGET/$envpath/.env"
  fi
done

安装依赖:

TARGET="$(dirname "$(git rev-parse --show-toplevel)")/<NAME>"
cd "$TARGET/autogpt_platform/autogpt_libs" && poetry install
cd "$TARGET/autogpt_platform/backend" && poetry install && poetry run prisma generate
cd "$TARGET/autogpt_platform/frontend" && pnpm install

将 <NAME> 替换为实际的 worktree 名称(例如 AutoGPT7)。

可选运行应用:

TARGET="$(dirname "$(git rev-parse --show-toplevel)")/<NAME>"
for port in 8001 8002 8003 8005 8006 8007 8008; do
  lsof -ti :$port | xargs kill -9 2>/dev/null || true
done
cd "$TARGET/autogpt_platform/backend" && poetry run app

清理:

# 将 <NAME> 替换为实际的 worktree 名称(例如 AutoGPT7)
git worktree remove "$(dirname "$(git rev-parse --show-toplevel)")/<NAME>"

可选使用 branchlet(若已安装):

branchlet create -n <name> -s <source-branch> -b <new-branch>

适用场景

适用于 AutoGPT 平台(autogpt_platform)的并行开发,例如需要同时维护多个分支、隔离不同功能开发环境,或快速搭建可运行的后端与前端开发环境。

限制

  • CoPilot 测试中,SDK 模式会启动 Claude 子进程,无法在 Claude Code 内运行;需在 backend/.env 中设置 CHAT_USE_CLAUDE_AGENT_SDK=false 以使用 baseline 模式。
  • 运行应用前需释放指定后端端口。
  • branchlet 为可选替代方案,需已安装。
  • 关于收费、价格、平台支持范围等信息,资料中暂未提供。