Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>AI in OneNew to Visual Studio Code? Get it now.
AI in One

AI in One

Preview

taein-yoon

|
3 installs
| (0) | Free
여러 AI 코딩 에이전트를 메신저처럼 한 곳에서. 구독은 그대로, 대화는 에이전트 사이를 넘나들며.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AI in One

여러 AI 코딩 에이전트를 메신저처럼 한 곳에서 쓰는 VSCode 확장. 한 방에 봇을 여럿 불러 멘션으로 일을 나누고, 봇끼리도 서로 말을 건다.

사용자의 기존 구독을 그대로 사용한다. 공식 CLI 를 사용자 기기에서 그대로 실행하므로 토큰을 직접 다루지 않는다.

CLI 를 미리 깔 필요는 없다 — 우리가 받아둔다. 사용자가 할 일은 로그인 한 번뿐이다.


처음 구상

사용자가 사용하는 여러 AI chat 혹은 에이전트 서비스를 한 곳에서 사용할 수 있는 서비스 사용자의 구독을 그대로 사용하여, chatbot을 사용할 수 있고, context를 그대로 이동해 다른 AI와 공유할 수 있다. 채팅방 기능을 통해, 여러 bot을 추가하여 호출을 통해 일을 시킬 수 있다.

조사 결과 구상은 이렇게 구체화됐다.

처음 구상 확정된 형태 왜
여러 AI를 한 곳에서 VSCode 확장, ACP로 CLI 에이전트 연결 구독을 합법적으로 쓰는 유일한 경로
구독 그대로 사용 공식 CLI를 subprocess로 실행 구독 ≠ API. 토큰 재사용은 ToS 위반/회색지대
채팅방 + 여러 bot v2.0 단체방 + 멘션 1:1이 먼저 검증돼야 함
context 이동 / 공유 v4.0 단체방의 기록 주입이 먼저 서야 함
챗봇(ChatGPT/Gemini 웹) 범위 밖 webview가 외부 사이트를 못 띄움 + ToS

형태

단일 컬럼 모바일 메신저형. WebviewPanel을 ViewColumn.Beside로 에디터 오른쪽에 연다. 사이드바를 쓰지 않으므로 파일 탐색기가 가려지지 않는다.

┌──────┬──────────┬──────────────┬──────────────────┐
│ 📁   │ EXPLORER │  main.ts     │ ← Claude : 리팩터링│
│ 🔍   │  src/    │              │                  │
│ ⑂    │   app.ts │              │   이거 고쳐줘 ▷  │
│ 🐞   │   ...    │              │ ◁ 3개 파일 수정   │
│      │          │              │  [메시지...]   ▶ │
└──────┴──────────┴──────────────┴──────────────────┘
        가려지지 않음               WebviewPanel

방 1개 = ACP 세션 1개. 같은 에이전트로 방을 여러 개 팔 수 있고, 방 이름은 사용자가 수정할 수 있다. 방을 나가도 세션은 살아 있다.


구조

src/
├─ core/        ← 진짜 제품. vscode를 import하지 않음 (ESLint로 강제)
│   ├─ types.ts          Room / Message / BotInstance 모델 · 방 정책
│   ├─ workspaceHost.ts  셸에게 요구하는 능력 (ACP 클라이언트 메서드와 1:1)
│   ├─ agentCatalog.ts   에이전트 정의 — 핀·받는 주소·로그인 길
│   ├─ agentInstaller.ts 받아두기 (npm · zip) · Node 까지 · 창 사이 락
│   ├─ unzip.ts          zip 꼴 에이전트를 푼다
│   ├─ acpConnection.ts  CLI spawn + ACP 세션 · 턴 실행 · 설정 조회
│   ├─ mcpServer.ts      봇에게 여는 도구 창구 (say · check_queue · verdict)
│   ├─ botQueue.ts       봇마다의 큐 — 이번 몫 · 다음 몫 · 꺼내 본 것
│   ├─ mentions.ts       입력창의 칩 → «누가 무엇을 받나»
│   ├─ roomManager.ts    방 CRUD · 세션 수명 · 턴 · 승인 · 릴레이 · 사용량
│   ├─ store.ts          파일 영속화 (rooms.json · rooms/ · blobs/) · 원자적 쓰기
│   ├─ roomLock.ts       창이 둘일 때 한 방을 둘이 안 쓰게
│   └─ purgeBacklog.ts   지운 방의 세션 뒷정리를 미뤄 두고 끝까지 따라간다
├─ protocol.ts    ← 셸 ↔ 웹뷰 메시지 타입
├─ vscode/        ← 셸 (얇게)
│   ├─ extension.ts      활성화 · 커맨드 · 상태표시줄(미읽음 배지)
│   ├─ chatPanel.ts      WebviewPanel · 목록을 박은 첫 페인트
│   ├─ blobDocuments.ts  변경 전후를 네이티브 diff 로
│   ├─ imeProbe.ts       한글 조합 중 Enter 를 가린다
│   └─ vscodeHost.ts     미저장 버퍼 읽기/쓰기 · 물어보기 중계
└─ webview/       ← 메신저 UI
    ├─ main.ts           화면 전부 (목록 · 방 만들기 · 채팅 · 참여자 · 권한 ·
    │                    에이전트 · 붙는 중 · 고치기 · 대기 · 유저 승인)
    └─ style.css         VSCode 테마를 그대로 따르는 시맨틱 토큰

core가 셸에 의존하지 않으므로 단독 테스트가 가능하고, 나중에 다른 셸을 붙여도 그대로 재사용된다.


개발

npm install
npm run watch      # esbuild watch
# VSCode에서 F5 → Extension Development Host

필요한 것:

에이전트 로그인 구독은 사용자 것이고 그 자리는 우리가 안 건드린다
망 처음 받을 때. Codex 444MB · Claude 292MB · Antigravity 119MB (2026-10-14 실측 · 자리 크기와 받는 크기)
~~CLI 깔아두기~~ 안 해도 된다 — 아래
~~Node~~ 안 해도 된다 — 없으면 그것도 받는다 (34MB)

⚠️ CLI 를 미리 깔 필요가 없다. 어댑터도 그 안에 품은 CLI 도 우리가 받아서 돌린다 — 핀으로 박아 제 것을 쓰므로 사용자가 깔아둔 claude·codex 는 안 쓴다 (실측: tests/probes/whichcli.cjs, pinmismatch.mts). 세션 뒷정리까지 우리 엔진이 한다. 받는 곳은 목록 화면 위의 로봇 아이콘 한 군데다.

사용자 것은 로그인뿐이다. 들어가는 문은 에이전트가 정한다:

어떻게
터미널 품은 CLI 를 띄운다 — Claude (claude auth login) · Codex (codex login)
ACP authenticate 를 부르면 저쪽이 브라우저를 연다 — Antigravity

🔴 어느 쪽인지 짐작하면 안 된다. Antigravity 는 agy 라는 터미널 CLI 가 있는데도 그 길이 아니다 — agy 와 ACP 서버가 서로 다른 자리를 본다. 자세한 것은 src/agents/antigravity/README.md §G4-2.

터미널 CLI 를 따로 쓰고 있다면 그쪽 판은 낡아도 상관없다. 다만 로그인 자리(~/.codex·~/.claude)는 공유하므로 거기서는 만나야 한다.


문서

docs/ROADMAP.md 버전별 기능 계획 · 설계 결정 · 리스크
docs/USAGE.md 사용법. 버전을 낼 때마다 갱신한다
docs/RELEASE.md 배포와 설치 — .vsix · 마켓플레이스 · Open VSX
src/agents/README.md 에이전트 공통 — 올릴 때 점검표 · 세션 뒷정리 · 셋을 맞댄 표
src/agents/<id>/README.md 에이전트마다 — 핀 내력 · 다른 점 · 슬래시 (claude · codex · antigravity)
src/core/install/README.md 에이전트를 우리 자리에 받아두는 설계
src/core/mcp/README.md 봇이 받는 글 전부 — tooldump 가 뽑는 생성물
src/core/quota.md 방 머리의 「사용량」

계획

버전 내용
1.0 ✅ 에이전트를 골라 1:1 채팅방을 만들고 대화
1.1 ✅ 채팅방 fork — 대화를 분기해 여러 갈래로 실험
2.0 ✅ 단체 채팅방 — 여러 봇 초대, 멘션으로 명령 분리, @everyone
2.1 ✅ 단체방 안에서 봇별 1:1 뷰
2.2 ✅ 같은 에이전트로 봇 여러 개 + 부를 이름 직접 지정
3.0 ✅ 봇끼리 주고받기 — 도구로, 단방향, 상한 안에서
4.0 컨텍스트를 옮기거나 완전 공유하는 채팅방

버전 계보 밖에 두 묶음이 따로 있다 — 실험실(효과가 미검증이라 시기를 못 정하는 것)과 백로그(효과는 알지만 우선순위가 낮은 것).

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft