단순 챗봇 UI를 넘어선 에이전트 전용 IDE 'Polypore'
폴리포어(Polypore)는 기존 코드 에디터에 챗봇을 덧붙인 방식이 아닌, 처음부터 AI 에이전트를 중심으로 설계된 오픈소스 데스크톱 IDE입니다. 모든 패널이 독립적인 샌드박스로 작동해 자유롭게 배치 및 확장이 가능하며, MCP(모델 컨텍스트 프로토콜) 서버를 통해 AI가 직접 디버깅, 메모리 관리, 코드 검증 등을 수행할 수 있습니다. 특히 API 키와 같은 민감 정보는 OS 키링에 안전하게 보관되어 에이전트가 직접 값을 볼 수 없도록 처리하는 것이 특징입니다.
원문 제목: 에이전트 코딩은 코드 에디터에 채팅창을 덧붙인 수준 이상을 deserved한다 소스: 해커뉴스(hackernews)
폴리포어(Polypore) 에이전트 데스크톱 IDE입니다. 언어와 운영체제에 구애받지 않습니다. 모든 화면 영역은 도킹 가능한 패널로 구성되어 있어 분할, 재정렬이 가능하고 불필요한 것은 닫을 수 있습니다. 내장된 패널만으로도 대부분의 워크플로우를 다루며, 부족하다면 SDK를 활용할 수 있습니다.
기술 스택: Tauri 2 · React 18 · Dockview · Monaco · MIT 라이선스 · 추적 기능(Telemetry) 없음
데모: polyporedemo1080.mp4
설치 방법: 최신 릴리스에서 사용 중인 플랫폼에 맞는 빌드 파일을 다운로드하세요. 최초 설치 이후 폴리포어는 자동으로 업데이트됩니다.
- Linux: .AppImage (모든 배포판), .deb (Debian/Ubuntu), .rpm (Fedora/RHEL)
- macOS: .dmg (Apple Silicon 또는 Intel)
- Windows: _x64_en-US.msi 또는 x64_setup.exe Linux에서 AppImage를 실행하려면 FUSE가 필요합니다 (Arch의 경우 fuse2). 실행 권한을 부여하고 다음 명령어로 실행하세요: chmod +x Polyporeamd64.AppImage ./Polypore_amd64.AppImage 소스에서 직접 빌드하려면 아래의 '시작하기' 섹션을 참조하세요.
핵심 아이디어 에이전트 도구 생태계는 매우 빠르게 변화합니다. 최신 모델, CLI, 오케스트레이션 패턴은 일반적인 IDE의 출시 주기보다 빠르게 변합니다. 폴리포어는 이러한 변화를 따라잡도록 구조화되었습니다. 모든 표면 영역은 공유 계약(Contract) 뒤에 있는 샌드박스 패널입니다. 코어를 건드리지 않고도 IDE의 어떤 부분이든 교체, 확장 또는 삭제할 수 있습니다. 이것은 단순히 코드 에디터에 에이전트 패널을 나중에 추가한 것이 아닙니다. 레이아웃, 메모리 시스템, 디버깅 도구 및 MCP 서버는 모두 에이전트를 주요 사용자로 삼아 설계되었습니다.
패널 구성
- 탭 버튼을 통해 8개의 패널을 사용할 수 있습니다:
- claude: 슬래시 명령어 빠른 실행이 가능한 Claude CLI 터미널
- codex: 슬래시 명령어 빠른 실행이 가능한 Codex CLI 터미널
- preview: 브라우저, CLI 또는 모든 개발 서버의 실시간 런타임 출력
- editor: 프로젝트별 진단 기능이 있는 Monaco 편집기
- diff-stack: 나란히 보기 diff 및 탐색 가능한 히스토리 피드
- terminal: 독립적인 pty 터미널
- debug: 실행 검증 및 진단
- memory: [[위키링크]]와 컨텍스트 인벤토리가 있는 프로젝트 지식 베이스
- agent: 포메이션 캔버스, 스킬, MCP 관리 및 보안 비밀값(Secrets) 관리
SDK 및 플러그인
서드파티 패널은 내장 패널과 동일한 HostRpcServer 계약을 사용하는 샌드박스된 iframe입니다. 어떤 프레임워크로든 플러그인을 작성하여 .polypore/plugins/
폴리포어 IDE MCP 서버 Node MCP 사이드카(Sidecar)가 폴리포어와 함께 제공됩니다. Claude Code는 .mcp.json에서 이를 자동으로 인식합니다. 이를 통해 에이전트는 22개 이상의 도구를 사용하여 IDE를 직접 제어할 수 있습니다:
- polypore.debug.*: 세션 시작, 중단점 설정, 단계별 실행, 콘솔/DOM/네트워크 캡처
- polypore.memory.*: 지식 베이스 읽기/쓰기, 항목 연결, 인수인계 문서 작성
- polypore.verify.*: 검증 스위트 선언 및 실행
- polypore.tasks.*: IDE에 실시간으로 보이는 작업 생성 및 업데이트
- polypore.phase.*: 라이브 UI에 워크플로우 단계 보고
- polypore.secrets.*: 비밀값을 노출하지 않고 중개된 HTTP 요청 수행
- polypore.skills.*: 활성화된 스킬 라이브러리 읽기
- polypore.format.*: 에디터 내에서 포매터(Formatter) 실행
비밀값 브로커(Secret broker)
비밀값은 OS 키링(Keyring)에 저장됩니다. 폴리포어가 에이전트를 생성할 때 환경에서 등록된 모든 비밀값을 제거하고 POLYPORE_SECRET_HANDLE_
폴리플로우(Polyflow) 스킬 전체 개발 주기를 다루는 packages/polyflow/ 내의 15가지 슬래시 명령어: /polyflow, /polyflow-go, /polyflow-brainstorming, /polyflow-writing-plans, /polyflow-executing-plans, /polyflow-tdd, /polyflow-iterate, /polyflow-debug, /polyflow-review, /polyflow-design-interface, /polyflow-prd, /polyflow-improve-architecture, /polyflow-qa, /polyflow-glossary, /polyflow-compact
기술 스택
- 셸(Shell): Tauri 2, Rust
- 렌더러(Renderer): React 18, Vite, TypeScript
- 패널(Panels): Dockview
- 에디터(Editor): Monaco
- 터미널(Terminal): xterm.js, portable-pty
- MCP 사이드카: Node, JSON-RPC
- 데이터 저장(Persistence): rusqlite를 통한 SQLite
- 비밀값(Secrets): keyring 크레이트를 통한 OS 키링
- 파일 감시(File watching): notify
- 계약(Contracts): JSON Schema, packages/sdk/ 내 코드 생성(codegen)
시작하기 전제 조건: Node 20+, Rust 안정 버전(rustup). Linux의 경우 libwebkit2gtk-4.1-dev libgt(릴)도 필요합니다.