peerd – 브라우저에서 완전히 실행되는 AI Agent Harness
Show HN: peerd – AI agent harness that runs entirely in your browser
TL;DR Highlight
백엔드 서버 없이 Chrome/Firefox 확장 프로그램으로만 동작하는 AI 에이전트 실행 환경으로, 브라우저 탭을 직접 조작하고 WASM Linux VM까지 구동할 수 있어 프라이버시와 보안을 동시에 챙길 수 있다.
Who Should Read
서버에 API 키나 데이터를 올리지 않고 로컬에서 AI 에이전트를 돌리고 싶은 개발자, 또는 브라우저 기반 자동화 도구를 직접 만들어보려는 풀스택 개발자.
Core Mechanics
- peerd는 Chrome/Firefox 브라우저 확장 프로그램 형태로 배포되며, 에이전트 루프 전체가 브라우저 안에서 실행된다. 별도 백엔드 서버가 없고, 클라우드 컴포넌트가 데이터 경로에 끼어들지 않는다.
- BYOK(Bring Your Own Key) 방식이라 사용자가 원하는 LLM 프로바이더(OpenAI, Anthropic 등)의 API 키를 직접 입력해서 쓴다. 텔레메트리(사용 데이터 수집)도 없다.
- 브라우저 탭을 직접 읽고 조작할 수 있고, JS 노트북, WebAssembly로 컴파일된 Linux VM(CheerpX 사용), 클라이언트 사이드 앱 등 다양한 샌드박스 컴퓨팅 환경을 내부에서 띄울 수 있다.
- 보안 모델은 브라우저 자체의 수십 년간 검증된 기반 위에 구축했다. V8 아이솔레이트(각 실행 컨텍스트를 분리하는 기술), WebCrypto, WebAuthn 패스키, opaque-origin iframe, Subresource Integrity를 활용하고, 직접 암호화 코드나 프로세스 격리 코드를 작성하지 않는다.
- 에이전트가 실제로 페이지를 읽는 건 '키도 없고 네트워크도 없는 일회성 러너'가 담당한다. 이 러너의 출력은 '신뢰 불가 데이터'로 펜싱(fencing)되어 메인 에이전트 루프로 돌아온다. 키를 가진 에이전트는 raw 페이지를 직접 읽지 않는다.
- 현재 개발 중인 새 아키텍처에서는 탭마다 '거주 에이전트(resident agent)'가 하나씩 붙어 해당 탭만 조작할 수 있는 권한을 갖는다. 에이전트 간 통신은 모두 메시지 기반으로 바뀌어 컨텍스트 격리와 병렬 작업이 더 깔끔해진다.
- P2P(피어 투 피어) WebRTC 네트워크를 통해 에이전트가 만든 결과물을 다른 에이전트나 사용자와 공유할 수 있는 프리뷰 채널 기능이 있다. 에이전트 간 통신을 위한 전용 네트워크다.
- JS 러너에는 stdlib-js가 자동으로 주입되어 수학 연산이나 차트 기능을 바닐라 JS보다 풍부하게 쓸 수 있고, 클라이언트 사이드 앱 개발 태스크에는 의존성 없는 경량 SPA 프레임워크인 Mithril을 활용한다.
Evidence
- 보안 모델에 대한 회의적 의견도 있었다. '파일 접근을 막으려면 그냥 별도 Linux 유저를 주거나 $3짜리 VPS에 root 줘도 되지 않냐'는 댓글이 달렸는데, 이에 대해 CheerpX를 쓰면 Java/Flash 게임까지 에이전트가 실행할 수 있다는 반응도 나와 브라우저 기반 접근의 독특한 가능성을 인정하는 분위기였다.
- 프롬프트 인젝션 취약점에 대한 실질적인 보안 우려가 제기됐다. '웹 러너가 요약된 결과를 돌려보낼 때, 그 요약 자체에 인젝션 페이로드가 담겨 메인 루프까지 올라오는 걸 어떻게 막냐'는 질문이 나왔고, 이는 아직 명확한 답변이 없는 열린 문제로 남아 있다.
- README와 FEATURES.md의 문서 스타일에 대한 비판이 있었다. '기능 목록이 코미디 수준으로 방대하고 AI가 쓴 것 같은 문체(슬롭)가 너무 많다'는 댓글이 달렸고, 문서 어딘가에 에이전트 지시문이 그대로 노출된 것 같다는 지적('이름은 항상 소문자: peerd')도 있었다.
- 작성자가 직접 댓글로 기술 스택을 추가 공개했다. 전체 코드는 JSDoc으로 타입 체크하고, Bun/TypeScript로 테스트를 작성하며, 코드베이스에 AI 어시스턴트(Claude)를 위한 CLAUDE.md 파일도 포함되어 있다.
- 브라우저 확장 프로그램 형태가 오히려 발견 가능성(discoverability)을 해쳐 대중화에 걸림돌이 될 수 있다는 의견이 있었고, 유사한 브라우저 기반 에이전트 프로젝트(github.com/codename-co/devs)를 언급하며 협업을 제안하는 댓글도 달렸다.
How to Apply
- API 키를 서버에 올리기 꺼려지는 상황에서 로컬 브라우저 자동화 에이전트를 원한다면, peerd를 Chrome/Firefox에 확장 프로그램으로 설치하고 BYOK 방식으로 API 키를 입력하면 텔레메트리 없이 에이전트를 돌릴 수 있다.
- 에이전트가 웹 스크래핑이나 페이지 조작 중 프롬프트 인젝션 공격에 노출될 수 있는 상황이라면, peerd의 '키 없는 일회성 러너 → 신뢰 불가 데이터로 펜싱 → 메인 에이전트로 전달' 아키텍처를 참고해 에이전트 파이프라인 설계에 적용할 수 있다. 단, 요약 결과 자체의 인젝션 가능성은 별도로 방어해야 한다.
- 브라우저 안에서 Python/Linux 환경이 필요한 태스크를 에이전트에게 맡기고 싶다면, peerd가 CheerpX(WebAssembly Linux VM)를 어떻게 통합했는지 ARCHITECTURE.md를 참고해 유사한 샌드박스 컴퓨팅 환경을 자신의 에이전트 시스템에 붙이는 방법을 검토할 수 있다.
- 멀티 에이전트 시스템에서 탭이나 컨텍스트 간 격리와 소유권 관리가 문제라면, peerd가 개발 중인 '탭마다 거주 에이전트 하나, 에이전트 간 메시지 패싱' 모델을 참고해 각 에이전트의 권한 범위를 명확히 분리하는 아키텍처를 설계할 수 있다.
Terminology
관련 논문
RubyLLM: 주요 AI 프로바이더를 모두 지원하는 Ruby 프레임워크
OpenAI, Claude, Gemini 등 주요 AI 프로바이더를 단일 인터페이스로 통합한 Ruby 프레임워크로, Rails 통합과 에이전트 기능까지 지원해 Ruby 개발자가 AI 기능을 빠르게 붙일 수 있다.
Qwen-AgentWorld: 범용 에이전트를 위한 Language World Model
Alibaba Qwen 팀이 AI 에이전트가 행동 결과를 미리 시뮬레이션할 수 있는 'Language World Model'을 공개했다. 에이전트 훈련과 실행 경로 검증에 새로운 패러다임을 제시하는 연구다.
SHERLOC: Code Repair Agent를 위한 구조화된 Diagnostic Localization 프레임워크
버그 위치만 알려주는 게 아니라 '왜, 어떻게 고쳐야 하는지'까지 진단 리포트를 생성해서 코드 수정 에이전트의 성능을 높이는 training-free 프레임워크
SAFARI: Active Investigation 기반의 장거리 Agentic Fault Attribution 확장
수백만 토큰 넘는 에이전트 실행 로그에서 버그 발생 지점을 찾아내는 도구 기반 진단 프레임워크
Self-Compacting Language Model Agents: Rubric 기반 적응형 Context 압축
LLM 에이전트가 스스로 '지금 요약해도 되는지'를 판단하는 rubric을 추가하면, 파인튜닝 없이도 고정 주기 요약보다 정확도는 높고 비용은 30~70% 낮아진다.
Oak – AI 에이전트를 위해 설계된 Git 대안 VCS
AI 에이전트가 코드 작업을 더 효율적으로 수행할 수 있도록 설계된 새로운 버전 관리 시스템(VCS)으로, lazy mount, JSON-first CLI, 멀티 레포 에이전트 워크스페이스 등을 제공한다. 다만 커뮤니티에서는 Git 대비 실질적 우위가 충분히 증명되지 않았다는 회의적 반응이 많다.