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

go install github.com/devflowinc/uzi@latest
export PATH="$PATH:$HOME/go/bin"README 未说明
用 git worktree 隔离并行跑多个 AI 编码代理的命令行工具
用 git worktree 并行跑大量编码 Agent 的命令行工具,让多个 LLM 编码任务互不干扰地同时执行。
核心能力
- 按 agent:数量 批量启动并行编码代理
- 为每个代理自动创建独立 git worktree
- 用 tmux 会话托管每个代理并实时监控状态
- 按 portRange 自动分配端口启动开发服务器
- checkpoint 提交并把代理改动 rebase 回当前分支
容易踩的坑
- 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
- 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
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
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$PORTas 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
- Example for Next.js:
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
-
Start agents with a task:
uzi prompt --agents claude:3,codex:2 "Implement a REST API for user management with authentication" -
Run uzi auto
uzi auto automatically presses Enter to confirm all tool calls
uzi auto -
Monitor agent progress:
uzi ls -w # Watch mode -
Send additional instructions:
uzi broadcast "Make sure to add input validation" -
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 formatagent:count[,agent:count...]- Use
randomas agent name for random agent names - Example:
--agents claude:2,random:3
- Use
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"