Fabric OSS를 위한 원격 에이전트 위임, 구독 브리지, 통합 AI 프로바이더 카드
README 링크에서 발견 · today
원격 에이전트를 중심으로 코딩 위임과 AI 프로바이더 라우팅을 통합했습니다
What they did
작성자는 Fabric OSS 리포지토리에서 코딩 위임과 AI 프로바이더 라우팅을 두 가지 표면으로 통합했습니다: Fabric Agents Remote Server(fabric-agent-server)와 Fabric Agents Desktop(fabricagents://)입니다. 작성자는 RemoteSessionConversation.tsx와 CodingRunTimeline.tsx에 'View Live Server Web UI in Portal' 토글을 추가하여 라이브 Remote Server Web UI를 Fabric Portal 안에 임베드했고, 서버 UI를 라이브 메시지 스트림 및 후속 지시 입력 상자 옆의 iframe에 렌더링했습니다. LaunchFabricDesktopBar.tsx에는 편집 가능한 Remote Server URL 입력과 프로젝트 헤더 위임 패널의 대응하는 임베드 토글이 추가되었습니다. RemoteAgentServerPicker.tsx는 필터 탭(All, Personal, Organization), PRIVATE 및 TEAM 스코프 서버용 빠른 선택 카드, :9100의 개인 로컬 서버와 조직 원격 서버용 1-click 프리셋, fab_srv_<48-hex> 토큰을 생성하는 암호화 Generate token 버튼, 복사 가능한 한 줄 시작 명령(개인용은 npx, 조직용은 docker run)으로 재구축되었습니다. 레거시 fabric-kanban UI 참조는 프로젝트 기본값, start-work 메뉴, 스토리 카드, Weave 모니터에서 제거되었습니다. 개인 및 조직 탭 모두의 AI 프로바이더 설정 폼에는 동일 높이 그리드 레이아웃과 잘리지 않는 설명을 갖춘 명시적 Remote Server 및 Desktop 카드가 추가되었습니다. 보안 작업에는 ai-config task 라우트에서 개인 organizationId 폴백 제거, 응답에 planSource 및 requiresBaseUrl 추가, 감사 메타데이터에서 baseUrl 쿼리 및 userinfo 마스킹, v1 feature implement 엔드포인트에서 canEditProject 적용, Temporal 워크플로 입력으로의 apiKey 전달 중단, 공개 스토리 직렬화기에서 remoteAgentServer 제거, Weave 코딩 실행 전 assertWeaveRuntimeAllowed 추가, sendFollowUp에서 res.ok 확인, connection.secret이 FABRIC_PORTAL_API_KEY로 복사되는 것 방지, fabric_start_coding_run MCP 도구를 context.organizationId에 바인딩, CLI 에이전트 구성에서 원시 API 키 출력 제거가 포함되었습니다. 문서는 목 HTML 페이지에서 생성된 네 개의 결정적 2x-DPI 스크린샷과 일곱 개 컴포넌트 전반의 인터랙티브 툴팁 및 /docs 링크와 함께 Fumadocs에서 업데이트되었습니다.
How it went
코딩 실행 컴포넌트 테스트, AI 프로바이더 라이브러리 테스트, 7개의 ai-config 라우트 테스트를 포함해 대상 vitest 스위트가 모두 통과했습니다. 가이던스, 약관, changeset 게이트도 통과했습니다. 그 결과 임베디드 라이브 서버 UI, 원클릭 서버 등록, 통일된 프로바이더 카드, 그리고 API 라우트, Temporal 액티비티, MCP 도구, CLI 전반에 걸친 광범위한 보안 점검을 갖춘, 잘 다듬어지고 문서화된 기능 세트가 완성되었습니다.
Worth knowing
이 게시물은 테스트 및 린트 게이트 결과만 보고하며, 실제 원격 서버나 데스크톱 앱에 대한 수동 엔드투엔드 검증은 다루지 않습니다. 임베디드 Web UI는 접근 가능한 liveWebUrl과 iframe 친화적 헤더에 의존하지만, 이에 대한 자세한 설명은 없습니다. 토큰 생성과 시작 명령 프리셋은 특정 포트와 패키지 이름을 전제로 합니다. 스크린샷은 실행 중인 앱이 아닌 목업 HTML 페이지에서 나온 것이므로 실제 UI와 달라질 수 있습니다. 기존 fabric-kanban 참조와 저장된 remoteAgentServer 데이터의 마이그레이션은 다루지 않습니다.
Wiring
작업은 상향식으로 진행된다. 먼저 ai-providers.ts와 ai-provider-config.ts의 공유 타입과 설정을 처리하고, 그다음 planSource, requiresBaseUrl, baseUrl 마스킹을 포함한 API 라우트 /api/agents/ai-config/task를 처리한 뒤, v1 features 라우트와 strip-internal-story-fields serializer 변경을 처리한다. weave-coding-run/lib.ts와 background-agents-provider.ts의 Temporal activity는 UI가 이를 소비하기 전에 런타임 allow 검증과 res.ok 확인을 추가한다. MCP gateway platform-tools.ts는 fabric_start_coding_run을 context.organizationId에 바인딩하고, CLI agents 명령은 키 출력을 중단한다. 웹 쪽에서는 RemoteAgentServerPicker.tsx가 서버 선택을 StartCodingRunDialog와 LaunchFabricDesktopBar에 전달하고, 이들은 liveWebUrl을 RemoteSessionConversation과 CodingRunTimeline에 전달하여 iframe 임베딩에 사용한다. AI provider 폼은 공유 provider 설정을 소비한다. 문서 스크린샷은 tooling/docs-screenshots/mocks/fabric-agents-delegation.html에서 생성되어 Fumadocs MDX 페이지에서 참조되며, 툴팁은 해당 라우트로 연결된다. 검증은 pnpm --filter @repo/web vitest로 컴포넌트 및 라우트 스위트를 실행한 뒤 guidance:check, terms:check, changeset:gate를 실행한다.
Try it yourself
# Fabric Agents Remote Server 및 Desktop 중심으로 코딩 위임 및 AI 프로바이더 라우팅 통합 ## 개요 이번 변경은 리포지토리 전반의 코딩 위임과 AI 프로바이더 라우팅을 **Fabric Agents Remote Server**와 **Fabric Agents Desktop** 중심으로 통합합니다. 레거시 `fabric-kanban` UI 참조를 제거하고, 보안 취약점을 보강하며, Fumadocs 문서를 갱신합니다. ## 주요 변경 사항 ### 1. Live Server Web UI 토글 - **"View Live Server Web UI in Portal"** 토글을 추가했습니다. - 코딩 런 드로어와 프로젝트 헤더의 위임 패널 양쪽에서 라이브 서버 URL을 iframe으로 임베드합니다. - 서버 URL은 편집 가능한 입력 필드로 제공됩니다. ### 2. Remote Agent Server 피커 재구축 - **All / Personal / Organization** 필터 탭 - **PRIVATE** 및 **TEAM** 스코프용 퀵 셀렉트 카드 - 로컬 `:9100` 서버 및 조직 원격 서버용 원클릭 프리셋 - `fab_srv_<48-hex>` 형식 토큰을 생성하는 **Generate token** 버튼 - 복사 가능한 한 줄 시작 명령어 ### 3. 레거시 정리 - `fabric-kanban` UI 참조를 모두 제거했습니다. ### 4. AI 프로바이더 설정 카드 - 개인 및 조직 AI 프로바이더 설정 양쪽에 **Remote Server**와 **Desktop** 카드를 명시적으로 추가했습니다. - 동일 높이 그리드 레이아웃을 적용했습니다. ### 5. 보안 강화 - `ai-config` 태스크 라우트에서 개인 `organizationId` 폴백을 제거했습니다. - 감사 메타데이터에서 `baseUrl` 쿼리와 userinfo를 마스킹합니다. - v1 feature implement 엔드포인트에 `canEditProject` 검사를 적용했습니다. - 호출자의 `apiKey`를 Temporal 입력으로 전달하지 않습니다. - 공개 스토리 직렬화기에서 `remoteAgentServer`를 제거했습니다. - Weave 코딩 런 실행 전 런타임 허용 검사를 추가했습니다. - `sendFollowUp`에서 `res.ok`를 검증합니다. - `connection.secret`을 `FABRIC_PORTAL_API_KEY`로 복사하지 않습니다. - `start-coding-run` MCP 도구를 `context.organizationId`에 바인딩했습니다. - CLI 에이전트 설정에서 원시 API 키 출력을 중단했습니다. ### 6. 문서 - Fumadocs 페이지에 새 스크린샷과 `/docs`로 연결되는 인라인 툴팁을 추가했습니다. ## 테스트 다음 vitest 스위트를 실행합니다. - coding-run 컴포넌트 - `ai-providers` 라이브러리 - `ai-config` 라우트 추가로 guidance, terms, changeset 게이트를 통과시킵니다.