uzi

devflowincMIT长期未更新

用 git worktree 并行跑大量编码 Agent 的命令行工具,让多个 LLM 编码任务互不干扰地同时执行。

CLI for running large numbers of coding agents in parallel with git worktrees

v0.0.2发布于 2025-06-03 18:23 UTC583star29fork同步于 2026-11-07 07:28 UTC

怎么上手

由 README 提炼,执行前请确认
go install github.com/devflowinc/uzi@latest
export PATH="$PATH:$HOME/go/bin"
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用 git worktree 隔离并行跑多个 AI 编码代理的命令行工具

用 git worktree 并行跑大量编码 Agent 的命令行工具,让多个 LLM 编码任务互不干扰地同时执行。

核心能力

  • 按 agent:数量 批量启动并行编码代理
  • 为每个代理自动创建独立 git worktree
  • 用 tmux 会话托管每个代理并实时监控状态
  • 按 portRange 自动分配端口启动开发服务器
  • checkpoint 提交并把代理改动 rebase 回当前分支

容易踩的坑

需预先装好 Git、Tmux、Go 及所选 AI 工具(如 claude、codex);devCommand 要自带 npm install 等依赖安装步骤,因为每个 worktree 依赖独立;uzi reset 会删除 ~/.local/share/uzi 下全部数据

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

2 个版本v0.0.2
  1. v0.0.2uzi 0.0.2最新正式版2025-06-03 · 2025-06-03 18:23 UTC

    Changelog

    • d8ab2f8 Update README.md
    • ab3b44d Update README.md
    • a6e6892 Update README.md
    • a739165 content: simplified readme for clarity
    • dac8272 feat(content): add opengraph and favicon images
    • 930f6c0 feat(content): everything up to the point of title and cta
    • 02ddf88 feat(content): fully finished site
    • 5b365c7 feat(content): update readme to have install first
    • 566c816 feature: add go installation instructions
    • 569b304 fix: adjust content to Q3 and lower left pad on scroller
    • 84bdfb2 fix: handle rate limit for fetching star count
    • 2b20b0f fix: not pulling opengraph
    • 70a47e2 fix: update banner text and adjust star count display
  2. v0.0.1uzi 0.0.12025-06-02 · 2025-06-02 03:18 UTC
    查看更新说明

    Changelog

    • 42ae328 Update README.md
    • 66c51ca bugfix: cleaned up uzi kill to remove the worktree and tmux sessions properly
    • 7616c66 chore add LICENSE.txt
    • f38d6ad chore: rename LICENSE.txt to LICEnSE for goreleaser
    • 8284702 cleanup: go fmt
    • c6aca8e content(uzi-site): update github repo link
    • 95f975d feat(uzi-site): add v1 of website
    • a20700e feat: add checkpoint command
    • 3fcbde0 feat: add checkpoint command into uzi.go
    • a6b398b feat: add watch mode to ls command for real-time session updates and improve session status formatting
    • 24caba8 feat: added view command to view all active sessions
    • ed74037 feat: enhance ls command output by adding model information and improve state management in prompt handling
    • 2329a0c feat: make agent always be in the same pane name
    • 9c35b15 feat: push readme rename uzi watch to uzi auto
    • 755b3be feat: uzi to write branch name
    • 321e514 feature: add ADDR to uzi ls output
    • 8ff08ec feature: add checkpoint.go
    • 049294c feature: add delete.go and make all uzi sessions have an agent- prefix
    • 334c8c5 feature: add uzi go-import meta tag
    • 325501b feature: change go module name
    • 30a0d13 feature: cleaned up view mode better
    • 1c1ea19 feature: initial prompt command finished
    • d0699ef feature: make checkpoint command also commit, make run command
    • e5ff811 feature: make checkpoint work properly by making a commit on the agent branch
    • c40a231 feature: make each branch name unique
    • ec1fc6f feature: make module name just be from github.com
    • 61a4cef feature: make uzi ls also show untracked files in diff
    • fc2b878 feature: make watch.go update loading status and ls.go to list the status
    • 943122b feature: modify run and checkpoint to read from the config file. modify kill to also remove the git worktree branch name
    • 4c8cfe0 feature: move ageents.txt into agents.go
    • a64c12c feature: refactored ls.go to be more like view.go
    • baa5912 feature: remove kill all, too complicated. make uzi run have a different pane name for different commands
    • 6d791e0 feature: remove uzi attach
    • cd62f65 feature: save worktree folder path in state file
    • 2924513 feature: starter for uzi watcher
    • 79752f2 feature: uzi view has delete option for easier management of uzi sessions
    • e280fbc initial comit
    • cecafd7 progress: - added broadcast command to broadcast follow ups. - added kill all command to kill all uzi's in the git project. - made ls just read the status from the live tmux session. - made watch far more consistent to press enter. - watch no longer writes to the state file - made prompt.go read from the config object to execute a start command
    • d177815 refactor: change agent config from name-based to count-based system
    • 76b330e refactor: enhance ls command to sort sessions by last updated time and improve prompt handling in prompt.go
    • 6260b0e refactor: update checkpoint logic to use extracted agent branch name and improve ls command output formatting
    • 0c2f1dd release: rename uzi.go to main.go
    • d01c7da wip: moved the order of port

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Installation

    go install github.com/devflowinc/uzi@latest
    

    Make sure that your GOBIN is in your PATH.

    export PATH="$PATH:$HOME/go/bin"
    

    Features

    • 🤖 Run multiple AI coding agents in parallel
    • 🌳 Automatic Git worktree management for isolated development
    • 🖥️ Tmux session management for each agent
    • 🚀 Automatic development server setup with port management
    • 📊 Real-time monitoring of agent status and code changes
    • 🔄 Automatic handling of agent prompts and confirmations
    • 🎯 Easy checkpoint and merge of agent changes

    Prerequisites

    • Git: For version control and worktree management
    • Tmux: For terminal session management
    • Go: For installing
    • Your AI tool of choice: Such as claude, codex, etc.

    Configuration

    uzi.yaml

    Create a uzi.yaml file in your project root to configure Uzi:

    devCommand: cd astrobits && yarn && yarn dev --port $PORT
    portRange: 3000-3010
    
    Configuration Options
    • devCommand: The command to start your development server. Use $PORT as a placeholder for the port number.
      • Example for Next.js: npm install && npm run dev -- --port $PORT
      • Example for Vite: npm install && npm run dev -- --port $PORT
      • Example for Django: pip install -r requirements.txt && python manage.py runserver 0.0.0.0:$PORT
    • portRange: The range of ports Uzi can use for development servers (format: start-end)

    Important: The devCommand should include all necessary setup steps (like npm install, pip install, etc.) as each agent runs in an isolated worktree with its own dependencies.

    Basic Workflow

    1. Start agents with a task:

      uzi prompt --agents claude:3,codex:2 "Implement a REST API for user management with authentication"
      
    2. Run uzi auto

      uzi auto automatically presses Enter to confirm all tool calls

      uzi auto
      
    3. Monitor agent progress:

      uzi ls -w  # Watch mode
      
    4. Send additional instructions:

      uzi broadcast "Make sure to add input validation"
      
    5. Merge completed work:

      uzi checkpoint funny-elephant "feat: add user management API"
      

    Commands

    uzi prompt (alias: uzi p)

    Creates new agent sessions with the specified prompt.

    uzi prompt --agents claude:2,codex:1 "Build a todo app with React"
    

    Options:

    • --agents: Specify agents and counts in format agent:count[,agent:count...]
      • Use random as agent name for random agent names
      • Example: --agents claude:2,random:3

    uzi ls (alias: uzi l)

    Lists all active agent sessions with their status.

    uzi ls       # List active sessions
    uzi ls -w    # Watch mode - refreshes every second
    
    AGENT    MODEL  STATUS    DIFF  ADDR                     PROMPT
    brian    codex  ready  +0/-0  http://localhost:3003  make a component that looks similar to @astrobits/src/components/Button/ that creates a Tooltip in the same style. Ensure that you include a reference to it and examples on the main page.
    gregory  codex  ready  +0/-0  http://localhost:3001  make a component that `
    

    uzi auto (alias: uzi a)

    Monitors all agent sessions and automatically handles prompts.

    uzi auto
    

    Features:

    • Auto-presses Enter for trust prompts
    • Handles continuation confirmations
    • Runs in the background until interrupted (Ctrl+C)

    uzi kill (alias: uzi k)

    Terminates agent sessions and cleans up resources.

    uzi kill agent-name    # Kill specific agent
    uzi kill all          # Kill all agents
    

    uzi run (alias: uzi r)

    Executes a command in all active agent sessions.

    uzi run "git status"              # Run in all agents
    uzi run --delete "npm test"       # Run and delete the window after
    

    Options:

    • --delete: Remove the tmux window after running the command

    uzi broadcast (alias: uzi b)

    Sends a message to all active agent sessions.

    uzi broadcast "Please add error handling to all API calls"
    

    uzi checkpoint (alias: uzi c)

    Makes a commit and rebases changes from an agent's worktree into your current branch.

    uzi checkpoint agent-name "feat: implement user authentication"
    

    uzi reset

    Removes all Uzi data and configuration.

    uzi reset
    

    Warning: This deletes all data in ~/.local/share/uzi

    Advanced Usage

    Running different AI tools:

    uzi prompt --agents=claude:2,aider:2,cursor:1 "Refactor the authentication system"
    

    Using random agent names:

    uzi prompt --agents=random:5 "Fix all TypeScript errors"
    

    Running tests across all agents:

    uzi run "npm test"