English | 한국어
Run multiple AI coding agents — Claude / Codex / DeepSeek / GLM / Grok / Antigravity — in parallel on isolated git worktrees, from a single VS Code window.
This is not a tool for driving one agent; it is a tool for operating a team of agents: delegate a goal to a master agent, watch sub-tasks run in parallel, verify the results, and merge.
Key features
- Isolated execution per task — every task gets its own git worktree and branch. Whatever an agent changes, your main branch stays safe; review the diff and merge with one click.
- Goal delegation (master–sub) — give a master agent a big goal; it breaks the goal into sub-tasks and runs them in parallel with the sub-agents you choose. Master (left) and the delegation stack (right) are monitored in one view.
- Chat-style task panes with session restore — prompts, responses, tool runs, and completion banners are clearly separated; keep instructing in the same session. Conversations are restored even after restarting VS Code.
- Task / log search — tree title search button or project context menu (Agent: Search Tasks…) finds past work by title, prompt, branch, id, status, or
log.md, then opens the chat or log. - Scheduled runs — schedule a task for a specific time; the tree shows the remaining time, and missed schedules start when VS Code reopens.
- Verification agent (opt-in) — when a sub-task finishes, a read-only verification session cross-checks the instructions, diff, and report, and returns pass/fail. A fail blocks auto-merge only.
- Multi-repo hub — full multi-root workspace support: create, run, and monitor projects per git repository in one window, with per-repository vendor profiles. A repository hub view gathers every repo you have used on this machine.
- Prompt packs & profiles — manage role prompts and extra rules as packs; save run defaults, models, and permissions as profiles, switchable per repository.
- Dashboard — per-vendor cost/success-rate stats, execution-engine run stats, hourly/daily/weekly/monthly views with inline trend graphs.
- Safety — execution, git changes, and scheduling only work in trusted workspaces. Vendor API keys are stored in VS Code SecretStorage (
Agent: Manage vendor API keys). File locks and a schedule ledger prevent duplicate runs.
Requirements
- VS Code 1.106+
git— projects/tasks are git-worktree based (an empty folder can be initialized through onboarding)- Claude Code CLI installed and logged in (
claudeon PATH, or setagentOrch.claudePath) - For other vendors: the corresponding CLI (
codex,grok,agy) and/or API keys registered viaAgent: Manage vendor API keys
Claude execution engines
| Engine | Default | How it runs | Scope |
|---|---|---|---|
sdk |
Yes | Claude Agent SDK | Existing default |
cli |
No | claude -p with stream-json |
Existing fallback |
terminal (TUI) |
No, opt-in | The visible official Claude Code TUI, with hooks/transcript side channels | All Claude master, delegated subtask, verification, merge-fix, scheduled, and unattended sessions |
Leaving agentOrch.engine at its default keeps the existing behavior unchanged. The terminal engine never reads
terminal output; its read-only pane mirror uses hooks, transcript JSONL, and terminal-close events. Follow-up text is
best-effort bracketed paste—if the TUI is not accepting input, open the terminal and type there.
Reload vs crash recovery (history isolation): A normal window reload or extension deactivate disposes transient
terminals and cleans identity/lease state—it does not enter recoveryBlocked. Only after an extension-host crash
may the host reattach in limited observation, and only when the durable creationOptions.name matches exactly one
live terminal and the strict history lock reacquires. Survivors without creationOptions.name (typical after reload
layout restore), zero/mismatch/duplicate candidates, or lock failure become recoveryBlocked: Resume/new launch and
history deletion are blocked until you close residual terminals and run Confirm Terminal Closed, Then Recover
(agentOrch.confirmTerminalRecovery). The product never adopts a terminal by display title, cwd, or PID.
Terminal history isolation is fail-closed as described above.
When terminal is selected, all Claude master, delegated subtask, verification, merge-fix, scheduled, and unattended sessions use the terminal TUI. Automatic non-master TUIs close after completion; a resident master TUI closes after a successful merge all. DeepSeek/GLM and other vendor terminal engines are outside this release.
| Setting | Default | Notes |
|---|---|---|
agentOrch.engine |
sdk |
sdk, cli (stream-json fallback), or opt-in terminal |
agentOrch.terminalLocation |
editor |
editor tab or bottom panel; global application UI preference, not per project/profile |
agentOrch.terminalEditorSplit |
below |
With terminalLocation=editor only: below opens the TUI in the editor group directly under that task's panel (task on top, terminal beneath), beside restores the previous left/right split. Master/subtask column placement still follows agentOrch.subtaskPanelLayout |
agentOrch.terminalSplitRatio |
0.33 |
Vertical share of the bottom terminal group (range 0.2–0.6); the default leaves the task panel 2/3 and the terminal 1/3. Skipped—default 50/50 split kept—when the editor area holds editors the extension did not open |
agentOrch.terminalRevealOnStart |
true |
Reveal TUI at start. When false, it is hidden until attention is needed where VS Code PTY/platform behavior permits; real GUI behavior remains a manual check |
agentOrch.terminalHistoryIsolation |
required |
Fail-closed task history isolation (OS lock + private epoch). No auto-fallback. Use launcherOnly only if you explicitly accept multi-window duplicate-writer risk and no crash-recovery safety |
agentOrch.launcherHandshakeTimeoutMs |
15000 (min 3000) |
Wait for launcher-started callback after creating the terminal |
agentOrch.terminalHistoryLockTimeoutMs |
5000 |
Strict history lease acquire wait |
Authentication and policy
The terminal engine does not collect or relay Claude login, OAuth, or API tokens. It uses the credentials of the official Claude CLI that the user installed and logged into. This does not mean the extension never stores any token: compatible-vendor API keys such as DeepSeek, GLM, and Grok may be stored in VS Code SecretStorage. Subscription and API key use remain subject to each vendor's terms; third-party integrations should use the vendor's official API-key route.
Source code
The source code is currently not public. We plan to open the repository after v1.0, once our maintenance and contribution policies are ready. Until then, feedback and bug reports are welcome through the Marketplace Q&A.
License
Apache License 2.0 — © ExperLab
한국어
여러 AI 코딩 에이전트 — Claude / Codex / DeepSeek / GLM / Grok / Antigravity — 를 격리된 git worktree 위에서 병렬로 실행하는 VS Code 확장.
에이전트 하나를 돌리는 도구가 아니라 에이전트 팀을 운영하는 도구입니다. 마스터 에이전트에게 목표를 위임하고, 서브 작업이 병렬로 도는 것을 관제하고, 결과를 검증한 뒤 머지합니다.
핵심 기능
- 작업별 격리 실행 — 작업마다 전용 git worktree/브랜치가 생성됩니다. 에이전트가 무엇을 바꾸든 메인 브랜치는 안전하며, diff 확인 후 한 번의 클릭으로 머지합니다.
- 목표 위임 (마스터–서브) — 큰 목표를 입력하면 마스터 에이전트가 서브 작업으로 분해하고, 선택한 서브 에이전트들이 병렬 실행합니다. 마스터(좌)와 위임 스택(우)을 한 화면에서 관제합니다.
- 채팅형 대화창 · 세션 복원 — 프롬프트/응답/도구 실행/완료 배너가 구분 표시되고, 같은 세션에서 이어서 지시할 수 있습니다. VS Code를 재시작해도 대화가 복원됩니다.
- 작업·로그 검색 — 트리 제목의 검색 버튼 또는 프로젝트 메뉴(Agent: 작업 검색…)로 제목·프롬프트·브랜치·id·status·
log.md기준으로 이전 작업을 찾아 대화창 또는 로그를 엽니다. - 예약 실행 — 실행 시각을 지정하면 트리에 남은 시간이 표시되고, 꺼져 있던 동안 밀린 예약은 다시 열 때 기동됩니다.
- 검증 에이전트 (opt-in) — 서브 작업 완료 시 읽기 전용 검증 세션이 지시문·diff·보고를 대조해 pass/fail을 판정합니다. fail은 자동 머지만 차단합니다.
- 멀티 저장소 허브 — 멀티루트 워크스페이스 정식 지원: 한 창에서 저장소별 프로젝트를 독립 생성·병렬 실행·관제하고, 저장소마다 다른 벤더 프로파일을 씁니다. 이 기계에서 사용한 모든 저장소를 허브 뷰에서 모아 봅니다.
- 프롬프트 팩 · 프로파일 — 역할 프롬프트와 추가 규칙을 팩으로 관리하고, 실행 기본값·모델·권한을 프로파일로 저장해 저장소별로 전환합니다.
- 대시보드 — 벤더별 비용·성공률, 실행 엔진별 통계, 시간별/일별/주간/월별 추이 그래프.
- 안전 장치 — 실행·Git 변경·예약은 신뢰된 워크스페이스에서만 동작합니다. 벤더 API 키는 VS Code SecretStorage에 저장되며(
Agent: 벤더 API 키 관리), 파일 락과 발화 원장이 중복 실행을 차단합니다.
요구 사항
- VS Code 1.106 이상
git— 프로젝트/작업은 git worktree 기반 (빈 폴더는 온보딩으로 초기화 가능)- Claude Code CLI 설치·로그인 (
claude가 PATH에 있거나agentOrch.claudePath지정) - 다른 벤더 사용 시 해당 CLI(
codex·grok·agy) 또는Agent: 벤더 API 키 관리로 등록한 API 키
Claude 실행 엔진
| 엔진 | 기본 | 실행 방식 | 범위 |
|---|---|---|---|
sdk |
예 | Claude Agent SDK | 기존 기본 경로 |
cli |
아니오 | claude -p + stream-json |
기존 폴백 경로 |
terminal (TUI) |
아니오, opt-in | 사용자가 보는 공식 Claude Code TUI + hooks/transcript 사이드채널 | Claude 마스터·위임 서브·검증·merge-fix·예약·무인 세션 모두 |
agentOrch.engine을 기본값으로 두면 기존 동작은 바뀌지 않는다. 터미널 엔진은 터미널 출력을 읽지 않으며,
읽기 전용 패널 미러는 hooks·트랜스크립트 JSONL·터미널 종료 이벤트만 사용한다. 패널 후속 지시는
bracketed paste best-effort이므로 TUI가 입력 대기 상태가 아니면 유실될 수 있다. 이때 터미널을 열어 직접
입력한다.
리로드 vs 크래시 복구(히스토리 격리): 정상 창 리로드·비활성화는 일시 터미널을 정리하고 identity/lease를
비우며 recoveryBlocked가 아니다. extension host 비정상 종료 후에만, durable creationOptions.name이
정확히 하나인 후보와 일치하고 strict history lock을 다시 잡을 수 있을 때 제한 관찰로 붙는다.
creationOptions.name이 없는 생존 터미널(리로드 레이아웃 복원에서 흔함), 후보 0/불일치/중복, lock 실패는
**recoveryBlocked**이다. Resume·새 실행·히스토리 삭제가 막히므로 잔존 터미널을 직접 닫은 뒤
「터미널 종료 확인 후 복구」 (agentOrch.confirmTerminalRecovery)를 실행한다. 표시 이름·cwd·PID로
터미널을 추정·adopt하지 않는다. 터미널 히스토리 격리는 위에 설명한 대로 실패 폐쇄형이다.
terminal을 선택하면 Claude 마스터·위임 서브·검증·merge-fix·예약·무인 세션 모두 terminal TUI를 사용한다. 자동 비-master TUI는 완료 뒤 자동으로 닫히며, resident master TUI는 성공적인 일괄 머지 뒤 자동으로 닫힌다. DeepSeek/GLM 및 다른 벤더의 terminal 엔진은 이번 릴리스 범위 밖이다.
| 설정 | 기본값 | 설명 |
|---|---|---|
agentOrch.engine |
sdk |
sdk, cli(stream-json 폴백), opt-in terminal |
agentOrch.terminalLocation |
editor |
editor 탭 또는 하단 panel; 프로젝트/프로파일별로 덮어쓰지 않는 전역 application UI 취향 |
agentOrch.terminalEditorSplit |
below |
terminalLocation='editor'일 때만 유효. below는 TUI를 그 작업의 작업창 바로 아래 에디터 그룹에 열어 위=작업창 / 아래=터미널 한 열을 만들고, beside는 종전 좌우 동작으로 되돌린다. 마스터/서브의 열 배치는 그대로 agentOrch.subtaskPanelLayout을 따른다 |
agentOrch.terminalSplitRatio |
0.33 |
아래 터미널 그룹의 세로 비율(범위 0.2~0.6). 기본값이면 위 작업창 2/3 · 아래 터미널 1/3. 에디터 영역에 확장이 만들지 않은 에디터가 섞여 있으면 비율 적용을 건너뛰고 기본 50/50 분할을 유지한다 |
agentOrch.terminalRevealOnStart |
true |
시작 시 TUI 표시. false면 VS Code PTY/플랫폼 동작이 허용하는 한 주의가 필요할 때까지 숨김; 실제 GUI 동작은 수동 검증 대상 |
agentOrch.terminalHistoryIsolation |
required |
실패 폐쇄형 작업 history 격리(OS lock + private epoch). 자동 폴백 없음. launcherOnly는 멀티 윈도우 중복 writer·크래시 복구 부재를 명시한 선택 |
agentOrch.launcherHandshakeTimeoutMs |
15000 (최소 3000) |
터미널 생성 후 launcher-started 콜백 대기 |
agentOrch.terminalHistoryLockTimeoutMs |
5000 |
strict history lease 획득 대기 |
인증과 정책
터미널 엔진은 Claude 로그인/OAuth/API 토큰을 수집·중계하지 않고, 사용자가 설치·로그인한 공식 Claude CLI의 자격을 그대로 쓴다. 그렇다고 확장 전체가 어떤 토큰도 저장하지 않는 것은 아니다. DeepSeek·GLM·Grok 등 호환 벤더 API 키는 VS Code SecretStorage에 저장될 수 있다. 구독/API 키 사용에는 각 벤더 약관이 적용되며, 서드파티 연동에는 각 벤더의 공식 API 키 경로를 권장한다.
소스 코드
소스 코드는 현재 비공개입니다. 관리·기여 정책이 준비되는 v1.0 이후 저장소 공개를 계획하고 있습니다. 그 전까지 피드백과 버그 신고는 마켓플레이스 Q&A로 부탁드립니다.
라이선스
Apache License 2.0 — © ExperLab