Agent Orchestrator 0.11.0 — 토대(The Floor)

견고한 로컬 데몬, 집중된 데스크톱 슈퍼바이저, 그리고 세션, 터미널, 풀 리퀘스트 워크플로를 위한 더 안전한 기반.

v0.10.0 이후의 모든 변경 사항을 다룹니다. 0.10.3을 사용 중이라면 이 중 일부는 이미 적용되어 있습니다.

v0.10.0은 처음부터 다시 작성한 뒤의 첫 릴리스였습니다. Go 데몬, tmux 세션 계층, Electron 셸로 구성되었고, 대체로 잘 동작했습니다. 하지만 재작성 후의 첫 릴리스는 제품이 아니라 약속에 가깝습니다.

0.11.0은 취약했던 런타임 기반을 견고한 로컬 데몬으로 교체하고, 그 위에 더 명확한 세션, 터미널, 풀 리퀘스트 워크플로를 중심으로 데스크톱 경험을 구축합니다.

주요 내용

진짜 제어 도구가 된 휴대폰

모바일 컴패니언 앱이 단순한 이식 단계를 넘어 실제로 쓸 수 있는 도구가 되었습니다. Connect Mobile로 LAN을 통해 비밀번호로 휴대폰을 데몬에 페어링하고, 핀치 확대와 이동으로 터미널을 함께 보며, 세션에 사용자의 확인이 필요할 때 iOS 및 Android 푸시 알림을 받을 수 있습니다. 설정에서 LAN 또는 Tailscale 페어링을 단계별로 안내하고 앱으로 바로 연결해 줍니다. (#2522, #2533, #2569, #2654, #2851, #2881, #2918, #2933)

에이전트가 브라우저를 조작

에이전트가 Markdown을 렌더링하고 내장 브라우저 프리뷰를 조작합니다. 프리뷰 안에서 직접 주석을 달아 에이전트에게 특정 UI 요소를 가리킬 수 있으며, 터미널에서 클릭한 localhost 링크도 앱 밖으로 나가지 않고 프리뷰에서 열립니다. (#2455, #2548, #2610, #3085)

Feature Releases — 열려 있는 모든 PR 설치

이제 모든 PR이 자체 설치형 프리릴리스 빌드를 만들 수 있어, 진행 중인 변경 사항을 테스트하려면 체크아웃 대신 실제 앱을 설치하면 됩니다. 새 Developer Mode 토글 뒤에 있으므로 다른 사용자에게는 채널 선택기가 방해되지 않습니다. (#2459, #3039)

GitHub 이슈 가져오기

프로젝트에 할당된 GitHub 이슈마다 워커 세션을 자동으로 시작할 수 있습니다. 폴링, 중복 제거, 페이지네이션, 프로젝트별 백오프를 지원하며, 프로젝트 설정과 프로젝트 생성 흐름의 Tracker Intake에서 구성합니다. (#2325)

워크스페이스 파일과 제대로 파싱하는 diff 뷰어

새 인스펙터 패널에서 세션의 워크스페이스 파일을 탐색할 수 있습니다. 변경 사항(Changes) 보기는 줄 번호가 깨진 원시 git diff 텍스트를 그대로 보여 주는 대신, 거터, 헝크 헤더, +/- 표시, 추가/삭제 요약이 있는 파싱된 diff를 렌더링합니다. (#2772, #3013)

독립 셸 터미널

어떤 에이전트 세션에도 묶이지 않은 일반 터미널을 열 수 있습니다. 세션별로 범위가 정해지고, 이름을 바꿀 수 있으며, 오른쪽 클릭 컨텍스트 메뉴, 파일을 끌어다 놓아 경로 입력, 깔끔한 탭 넘침 처리를 지원합니다. (#2828, #2861, #2948, #2644, #3019, #3077)

키보드 중심 내비게이션

사이드바 검색과 연결된 실험적 Cmd/Ctrl+K 명령 팔레트, 생성 단축키, 설정·세션 이동·터미널 포커스 단축키, 앱 내 단축키 안내, 그리고 Claude 및 Codex와 같은 방식으로 새 작업(New Task) 설명에서 Enter로 전송하고 Shift+Enter로 줄 바꿈하는 기능이 추가되었습니다. (#2687, #2695, #2795, #2954, #2955)

그 밖의 새로운 기능

  • 작업 설명에 이미지를 붙여 넣거나, 끌어다 놓거나, 첨부할 수 있습니다 (#2722, #2907)
  • 채널별 단계적 안내가 있는 재시작하여 업데이트 행, 새로워진 업데이트(Updates) 화면, 그리고 데스크톱 앱이 백그라운드 업데이트 확인을 아예 하지 않던 문제 수정 (#2381, #2709, #2939)
  • CLI: 설치 및 인증 상태를 보여 주는 ao agent ls, --project를 요구하지 않고 프로젝트 맥락을 해석하는 ao spawn, --kind worker|orchestrator, ao review stop|restart, ao pr (#2371, #2416, #2669, #2673, #3043)
  • 설정과 첫 실행 재구성 — PR 보드를 세션별 인스펙터로 옮긴 새 설정 화면, 빈 칸반 열 네 개를 대체하는 온보딩, 바로 AO를 써 볼 수 있는 첫 실행용 스크래치 프로젝트 (#2432, #2797, #2952, #2348)
  • 렌더러가 토큰 기반 디자인 시스템으로 전환되었고(레거시 CSS 약 1.4k줄 제거), 이어서 macOS, Windows, Linux에서 통일된 프레임형 데스크톱 셸이 적용되었습니다 (#2535, #2937, #2997)

안정성

이번 주기의 대부분이 여기에 쓰였습니다.

재시작 후에도 세션이 유지됩니다. 이제 세션이 처음부터 다시 시작하지 않고 에이전트 자체의 네이티브 대화 기록을 이어서 재개하며, AO가 저장된 프롬프트를 다시 재생하는 방식으로 대체해야 할 때는 토스트 알림을 보여 줍니다. OpenCode, Copilot, Agy, Kimi, Grok, Qwen, Goose, Vibe에 하네스별 복원이 적용되었고, 세션이 데몬 재시작 및 업그레이드 후에도 유지됨을 증명하는 테스트가 뒷받침합니다. (#2350, #2744, #2765, #2790, #2796, #2856, #2857, #2858)

모델 설정이 실제로 에이전트에 전달됩니다. 설정에서 고른 모델이 대부분의 에이전트에서 조용히 무시되고 있었습니다. Codex, Cline, Goose, Auggie, Pi, Vibe, Autohand, Kimi, Kilocode, Qwen, Copilot에서 이 문제를 해결했고, Kiro는 이제야 옵션을 제공합니다. (#2869, #2932, #2953, #2956, #2961, #2969, #2971, #2975, #2985, #2989, #2993, #3044)

라이프사이클과 조율. 종료한 세션은 되살아나지 않습니다. 워커의 유휴 완료 알림이 버려지지 않고 영구 아웃박스를 통해 바쁜 오케스트레이터에게 전달됩니다. 오케스트레이터 교체는 오래된 워크트리 복구와 함께 안전한 정식 브랜치 인계를 거칩니다. AO는 실제로 권한 대화상자에서 일시 중지된 세션을 더 이상 재촉하지 않습니다. (#2319, #2320, #2357, #2431, #2530, #2600, #2794, #2798, #2799, #2836, #3072)

데몬 오류가 스스로 원인을 알려 줍니다. 시작 실패 시 보드를 밀어내는 배너 대신 떠 있는 토스트로 실제 오류, 복구 방법, 복사 가능한 출력을 보여 줍니다. GitHub 토큰 없이 ao spawn --issue를 실행해도 더 이상 데몬이 패닉에 빠지지 않습니다. (#2690, #2871, #2972, #3017)

tmux와 터미널. tmux가 없으면 명확한 메시지와 함께 즉시 실패하고, 연결 시 TERM을 올바르게 설정하며, UTF-8 클라이언트 모드를 강제해 비 ASCII 문자가 깨지지 않고, 제거 시 창의 하위 프로세스를 회수해 좀비 프로세스가 남지 않습니다. Ctrl+Arrow / Ctrl+Backspace / Ctrl+V가 두 번 실행되지 않고, Codex와 OpenCode 대화 기록에서 휠 스크롤이 동작하며, 실행 중에는 빈 창 대신 시작 상태를 보여 줍니다. (#2259, #2312, #2466, #2499, #2512, #2586, #2602, #2650)

안전한 업그레이드. 중복된 마이그레이션 버전 충돌 두 건을 해결했고, 순서가 어긋난 마이그레이션도 조용히 건너뛰지 않고 적용합니다. (#2294, #3035, #3092)

Windows. NSIS 설치 프로그램 바로 가기가 실제 바이너리를 가리키고, .ico 작업 표시줄 아이콘, ConPTY ProgramFiles(x86) 수정, Codex가 WindowsApps 스텁보다 npm 바이너리를 우선 사용, GUI에서 실행해도 npm으로 설치한 에이전트 바이너리를 찾음, 네이티브 알림, 사용자 지정 타이틀 바, 그리고 백그라운드 인증 확인을 aoprocess로 처리해 콘솔 창이 깜박이지 않습니다. (#2404, #2481, #2566, #2583, #2666, #2691, #2838, #3006)

PR 리뷰. 도구 허용 목록으로 리뷰어를 읽기 전용으로 강제하고, 실행을 만들기 전에 바이너리를 사전 점검해 사용할 수 없는 옵션을 비활성화하며, 하네스가 바뀌면 오래된 프로세스를 재사용하지 않고 창을 다시 생성합니다. 모든 원격 리포지토리에 걸친 크로스 포크 PR 감지, 최대 수명이 지나면 강제로 다시 가져와 목록이 오래되지 않게 하는 기능, 새 리뷰가 실행되는 동안 이전 head의 판정을 맥락으로 보여 주는 기능도 추가되었습니다. (#2193, #2194, #2368, #2506, #2678, #2750, #2767, #2800, #3008, #3009, #3049)

내부 개선

에이전트 어댑터 계층을 통합해 약 3,100줄의 중복 코드를 공유 agentbase 및 activitystate 패키지로 정리했습니다. 릴리스 파이프라인은 채널을 인식하게 되었고, 간헐적인 macOS 서명/공증 실패를 재시도하며, latest 데스크톱 릴리스에 대한 가드, stable 배포 전 실제 설치 빌드를 대상으로 한 권고성 e2e 게이트, Linux .deb를 만드는 수동 실행 가능한 미서명 빌드 아티팩트 워크플로가 추가되었습니다. 품질 측면에서는 data-testid 계측을 갖춘 T0/P0 렌더러 스모크 테스트 모음, e2e를 위한 LLM 없는 결정적 가짜 하네스, 프런트엔드 CI의 TypeScript 타입 검사가 도입되었습니다. 텔레메트리는 전송량에 상한을 두고 익명 ID로 전환했으며, 더 이상 원시 CLI 인수를 오류 이벤트에 유출하지 않습니다. (#2266, #2415, #2489, #2683, #2692, #2696, #2697, #2829, #2864, #2978, #2986)

문서와 랜딩 사이트는 이제 GitHub Pages를 통해 aoagents.dev에 배포되며, 개인정보 처리방침, PR별 변경 로그, 플랫폼을 감지하는 다운로드 링크, 기여 가이드를 갖추고 있습니다. (#2308, #2385, #2605, #2757, #2826, #2837, #2846, #2913)

업그레이드

지원되는 설치 경로는 GitHub Releases와 Homebrew이며, npm 패키지는 더 이상 업데이트되지 않습니다. 기존 설치는 그대로 업데이트하면 됩니다. 이번 릴리스의 마이그레이션 순서 수정은 바로 "업데이트한 뒤 망가졌다" 유형의 문제를 겨냥한 것입니다.

전체 변경 로그: https://github.com/OrchestratorInc/agent-orchestrator/compare/v0.10.0...v0.11.0