perplexityai/SPACE
- 출처
- GitHub
- 처음 오른 날
- 분야
- 에이전트
- GitHub 별 수
- 451
- 주 언어
- Rust
외부 오픈소스 저장소를 소개하는 글입니다. HDATF 제품이 아닙니다.

무엇을 하나
SPACE는 에이전트 코드를 Firecracker microVM(가벼운 가상 머신)에서 격리해 실행하는 Perplexity의 Rust 기반 Apache-2.0 플랫폼입니다. 에이전트, 사용자 작업 공간, 코드 실행 작업에 별도 실행 환경이 필요한 애플리케이션이 대상이며, 무엇을 실행하고 남길지는 애플리케이션이 정합니다. template은 시작 환경이고, sandbox는 그 template으로 만든 인스턴스로서 자기 VM과 쓰기 가능한 파일 시스템에서 여러 명령을 실행합니다. 애플리케이션은 HTTP API로 sandbox와 명령 세션을 만들고 sandbox 상태 변경은 operation ID로 확인하며, 명령 출력과 종료 결과는 세션 전용 token을 쓰는 별도 연결의 server-sent events로 받습니다. 일시 정지는 메모리를 worker에 남기고 suspend는 snapshot으로 저장하며, 6시간 동안 활동이 없으면 기본값으로 suspend됩니다. E2B 호환 wrapper로 기존 E2B 클라이언트가 SPACE를 backend로 쓸 수 있으며, 시험 기준은 Python 패키지 e2b 2.21.1과 e2b-code-interpreter 2.6.2입니다. network policy는 sandbox의 접속 주소를 허용하거나 막고, 기본값이 꺼진 credential rule을 켜면 TLS를 가로채는 gateway가 지정 host 요청에 credential header를 넣습니다. 로컬 설치는 KVM이 있는 apt 계열 Linux x86_64 호스트에 Kind(Docker 안의 Kubernetes) cluster를 만들며, macOS는 지원 범위 밖입니다. 저장소 설명은 runtime을 바꿔 끼울 수 있다고 하지만, 문서에 적힌 현재 구현은 KVM 위의 Firecracker뿐입니다. 0.8.0이 공개 기준 버전이고 1.0 전까지 호환이 깨지는 변경이 가능하며, 보안 수정은 가장 최근 minor release에만 들어갑니다.
라이선스
Apache-2.0 허용 범위가 넓고 특허 사용 허락이 포함됩니다. 상업적 이용이 가능하며 고지 문구를 유지하고 변경 사실을 밝혀야 합니다.
같은 분야 저장소
- SakanaAI/AI-Scientist-v3
The Agentic Scientist(저장소 AI-Scientist-v3)는 Sakana AI의 Apache-2.0 Python 파이프라인으로, 코딩 에이전트가 과제를 실험부터 논문까지 이어 가게 합니다. 개선할 프로그램과 점수를 매기는 evaluator가 있는 계산 연구가 대상이며, 예제는 CPU용 원 채우기(circle packing)와 GPU 2개용 GRPO 학습입니다. 입력은 task.md, 초기 프로그램, evaluator가 든 과제 폴더이며, 짧은 설명만으로 과제를 만드는 기능은 실험 단계라 원 채우기 같은 작은 과제에서는 되지만 큰 과제에서는 실패할 수 있습니다. 과제 작성, 아이디어와 실험을 반복하는 탐색, 기준선 대비 ablation, 봉인된 최종 평가, 사후 분석, 논문 작성의 여섯 단계가 차례로 실행됩니다. 실행마다 과제 snapshot, 시도와 결과, 비용 기록, LaTeX 논문과 PDF가 든 폴더가 생기고, run inspector가 이를 브라우저에서 보여 줍니다. 논문 단계는 주장마다 hash가 붙은 근거 파일을 연결하고 Semantic Scholar, OpenAlex, Google Scholar에서 문헌을 모으며, 인용이나 근거 연결이 검증을 통과하지 못하면 실패로 끝납니다. Headless CLI로 Claude Code, Codex, Cursor, OpenCode, Gemini, Pi를 움직이며, 선택 단계인 review는 완성 논문을 OpenAI 기반 검토 모델로 보냅니다. 시작하려면 Python 3.11 이상과 uv, Docker, .env의 API key나 Claude 로그인이 필요하고, GPU는 GPU preset에만 필요하며, 첫 확인은 agsci doctor입니다. README는 에이전트가 모든 도구 권한으로 어떤 명령이든 실행하고 API key를 물려받으며 읽는 파일에 행동이 좌우된다고 경고하고, Docker 안에서 실행하라고 합니다. GRPO 평가 한 번은 1시간에서 2시간 학습하며, 비용 파일은 provider가 보고한 비용과 정가 기준 추정을 나누고 하드웨어 비용을 빼며, 청구 기준은 provider 청구서입니다. - wangmiaozero/pi-harness
Pi-Harness는 Pi Coding Agent를 시각적 작업 공간으로 감싼 AGPL-3.0-only Electron 데스크톱 앱이며, 에이전트 실행은 원래 Pi runtime이 맡습니다. macOS, Windows, Linux에서 실행되고 세션, 설정, 도구, Skill, extension이 Pi와 호환되어, 같은 작업을 앱 밖의 Pi에서 이어 갈 수 있습니다. 작업 공간은 대화, 프로젝트, 파일 탐색기와 편집기, Git diff와 이력과 commit과 worktree, 모델 provider, Skill과 package와 MCP를 다룹니다. Harness 화면은 trace, replay, fork와 재시도의 run tree, token, 비용, 시간을 기록하고, 도구 정책, 실행별 예산, checkpoint를 더합니다. 소스에서 평가는 AI 판정 모델 없이 test, lint, typecheck, build 명령과 그 종료 코드, Git 상태 같은 실행 근거로 계산됩니다. 기본 정책은 작업 공간 밖 파일 변경과 force push를 막고, 삭제, push, 네트워크 명령 전에는 묻고, rm -rf 같은 명령은 확인을 받으며, 예산 한도는 비워 둡니다. 에이전트 팀은 의존성과 우선순위가 있는 작업을 나눠 맡겨 차례대로나 병렬로 실행하고, 결과를 넘기며, review gate를 쓰고, 변경은 Git worktree로 분리합니다. 이력 화면은 Claude Code, Codex, Cursor, Cursor Agent, Gemini CLI, OpenCode, Pi의 로컬 대화 기록을 읽기 전용으로 읽고, handoff로 새 Pi 대화에서 작업을 잇게 합니다. 설치 파일은 GitHub Releases에 있고 최신판은 Pi 1.2.0의 호환성을 깨는 변경을 따른 10월 14일의 2.0.0이며, macOS 커뮤니티 빌드는 서명이 없을 수 있습니다. Windows와 Linux에서 API key는 앱 자체 vault에 암호화해 두지만, Pi의 models.json에는 원래 key 값이 그대로 적힙니다. - onehumanbeing/esp32-iphone-agent
ESP32 iPhone Agent는 Python 서버와 Arduino 펌웨어로 이뤄진 MIT 라이선스 프로젝트로, AI 비전 모델이 Mac, Xcode, 개발자 계정, 휴대폰 앱, 탈옥 없이 실제 iPhone을 조작하게 합니다. 사람이 쓰는 경로인 화면과 포인터로 iPhone을 자동화하려는 개발자와 취미 제작자가 대상이며, README는 본인 소유이거나 사용 허락을 받은 기기와 계정만 자동화하고 각 앱의 약관을 지키라고 요청합니다. 휴대폰 화면은 AirPlay로 macOS나 Linux 컴퓨터의 UxPlay에 미러링되고 GStreamer가 JPEG 프레임으로 바꾸며, USB 단자에 꽂은 ESP32-S3 보드는 표준 USB 마우스와 키보드로 인식됩니다. iOS AssistiveTouch(화면에 포인터를 띄우는 손쉬운 사용 설정)를 켜면 클릭은 탭이, 끌기는 스와이프가 되고, 보드는 2.4GHz Wi-Fi로 받은 click, type 같은 한 줄 명령만 수행합니다. 모든 판단은 컴퓨터의 FastAPI 서버가 맡는데, 이 코드에서 웹 API와 보드 포트는 기본 설정으로 로그인 절차 없이 모든 네트워크 인터페이스에서 열리고 명령은 TCP 위에서 평문으로 오갑니다. 사용자가 8890번 포트의 웹 화면에 목표를 넣으면 planner 모델이 최대 6단계의 계획을 쓰고, actor 모델이 새 화면 사진마다 tap, swipe 같은 동작을 0부터 1000까지의 좌표로 최대 6개 돌려줍니다. 포인터는 상대 이동이라 서버가 포인터를 살짝 흔들어 미러링 화면에서 찾아 보정하고, 동작마다 화면이 바뀌었는지 확인해 모델에 알리며, 효과 없는 같은 동작이 되풀이되면 계획을 다시 세웁니다. 한 번의 실행은 40단계나 연속 오류 3번에서 끝나고, 웹 화면은 결정마다 근거가 된 화면 사진 위에 동작을 그린 step wall과 Esc 키로도 작동하는 긴급 정지를 보여 줍니다. 준비물은 펌웨어를 올린 ESP32-S3 보드(시험 보드는 약 7달러인 Seeed XIAO ESP32S3), USB-C iPhone이나 카메라 어댑터를 쓴 Lightning iPhone, Python 3.10 이상입니다. 모델은 이미지를 받는 OpenAI 호환 채팅 API면 되고 planner와 actor에 다른 모델을 쓸 수 있으며, 호출마다 현재 화면 사진이 가므로 클라우드 API를 쓰면 휴대폰 화면 내용이 그 제공자에게 전달됩니다. 개발과 시간 측정은 NVIDIA DGX Spark 두 대의 로컬 모델로 했고(동작당 약 1.3초, 계획당 2초), 함께 든 serve 폴더의 서버는 전체 에이전트 실행 시험을 아직 거치지 못한 실험용입니다. README가 밝힌 한계는 iOS가 암호 입력, Apple Pay, DRM 영상을 미러링에서 빼 에이전트가 볼 수 없고, 휴대폰이 잠기면 미러링이 멈추며, 입력은 ASCII만 되고 가로 화면 앱은 지원 대상 밖이라는 점입니다. - T-Auto/dsh-ops
dsh-ops는 DeepSeek Harness(DSH)용 제3자 플러그인으로, Windows의 AI 에이전트에게 전용 bash, PowerShell 7, Rust 파일 도구를 주어 PowerShell 오류 반복에 드는 토큰과 시간을 줄이려 합니다. 0.3.0 버전은 Windows x64만 지원하고 DSH 0.2.0-rc.2를 대상으로 하며, Node.js 22.19 이상(22 계열)이나 24 이상이 필요하고 DSH 플러그인 marketplace나 npx 명령으로 설치합니다. 기본으로 켜지는 shell component는 ops_bash를 공개하고 호스트 pwsh 도구가 번들된 PowerShell 7을 쓰게 하며, 시스템 기본 터미널과 PATH는 그대로 둡니다. 역시 기본으로 켜지는 file component는 파일 도구를 별도 Rust worker에서 실행하고, 수정에는 dry run과 원자적 교체를 제공합니다. 기본으로 꺼진 두 component 가운데 background는 danger-full-access 세션에서만 긴 작업을 다루고, PTC는 도구를 코드에서 SDK로 부르는 PTC-only 세션에서만 ops_batch를 더합니다. ops_batch는 SHA-256 검사, 작업 전 항목별 상태 기록, 중단 뒤 재개를 갖추고 복사, 이동, 삭제를 실행하며, 감사 기록은 workspace 소유자가 고칠 수 있는 .dsh-ops 폴더의 일반 로컬 기록입니다. DSH의 read-only와 workspace-write 모드에서는 임의 Bash와 PTC 코드가 제한 없는 대체 경로 없이 OS 격리(confinement) 안에서 실행되지만, Windows 호스트는 이 격리를 partial로 보고합니다. danger-full-access는 설계상 이 격리를 건너뛰며, 플러그인은 현재 사용자가 소유한 workspace 최상위 폴더의 원래 권한을 백업한 뒤 그 폴더에만 WRITE_OWNER 권한을 더합니다. 번들된 bash와 PowerShell 7은 압축 기준 161.2 MB와 107.6 MB의 선택 npm 패키지로 들어오며, registry mirror에 이 패키지가 없어도 설치는 경고 없이 종료 코드 0으로 끝납니다. README의 토큰 97퍼센트와 65퍼센트 감소는 저자 자체 benchmark 값이며, PTC 설계 문서는 고정된 절감 수치나 실제 모델 턴 benchmark를 내세운 것이 없다고 밝힙니다. LICENSE는 플러그인을 MIT로, FastCtx를 Apache-2.0으로 두고 번들 셸은 GPL(Git for Windows)과 MIT(PowerShell)를 따르며, PROVENANCE.md는 GPL 소스 제공 의무를 아직 검토하지 못했다고 적습니다. 문서에는 DSH 버전별 실제 설치가 확인되지 못했고 2026-10-08에 이전 버전이 도구 등록 충돌로 새 DSH 세션을 모두 실패하게 만들었다고 적혀 있으며, 지금 설계는 자기 도구만 등록해 이를 피합니다. - mksglu/context-mode
Context Mode는 AI 코딩 에이전트를 쓰는 개발자용 MCP 서버이자 hook 플러그인으로, 큰 도구 출력을 context window 밖에 두고 대화 압축(compaction) 뒤 작업 상태를 되살립니다. MCP 도구 11개 가운데 ctx_execute, ctx_batch_execute, ctx_execute_file은 12개 언어의 코드를 별도 subprocess에서 실행하고 출력 결과만 context에 넘깁니다. ctx_index, ctx_search, ctx_fetch_and_index는 Markdown과 가져온 웹 페이지를 SQLite FTS5 색인에 저장하고, BM25로 순위를 매긴 일치 부분만 돌려줍니다. hook은 curl, wget, web fetch 호출을 이 도구들로 돌리고 파일 수정, git 작업, 오류, 사용자 결정을 프로젝트별 SQLite 데이터베이스에 기록하며, README는 --continue 없이 새 세션을 시작하면 이전 세션 데이터를 지운다고 적습니다. 대화 압축 뒤에는 분류별 요약과 검색 호출을 담은 재개용 snapshot을 넣으며, 고정한 commit의 코드는 README가 밝힌 2 KB 제한을 무시합니다. Node.js 22.5 이상이나 Bun이 필요하고, Claude Code는 marketplace에서 플러그인으로 설치하며, 다른 클라이언트는 설정 파일에 MCP 서버와 hook 항목을 넣거나 전용 플러그인을 씁니다. MCP 서버만 설치하면 자동 routing 없이 도구만 쓸 수 있고, 세션 이어가기는 Claude Code 등에서 전체, Cursor, Codex CLI, Kiro에서 일부만 되며 Antigravity IDE와 Zed에는 없습니다. README는 기기 밖으로 나가는 데이터와 telemetry가 없다고 밝히지만, 서버는 시작할 때 npm registry에서 최신 버전을 확인하고 ctx_insight는 context-mode.com의 Insight 대시보드를 엽니다. README에 설명이 없는 hooks/platform-bridge.mjs는 platform.json에 API key와 서버 주소가 있으면 일부 비밀값 형식, 이메일, 홈 폴더 경로를 가린 뒤 모든 세션 이벤트를 설정된 Insight 서버로 보냅니다. ctx_execute_file은 프로젝트 폴더로 제한되지만, README는 ctx_execute와 ctx_batch_execute가 프로세스의 파일 접근 권한으로 임의 코드를 실행한다며 호스트 수준 sandbox를 켜 두라고 권합니다. 사용자의 permission deny 규칙은 sandbox 도구에도 적용되며, ctx_fetch_and_index는 CTX_FETCH_STRICT=1을 설정하기 전까지 로컬과 사설망 주소를 허용합니다. LICENSE 파일은 Elastic License 2.0(ELv2)으로 사용, 수정, 재배포를 허용하고, 제3자에게 호스팅이나 관리형 서비스로 제공하는 것과 라이선스 고지 삭제를 금지합니다.
Trendshift 순위 목록에 오른 저장소만 담았고, 목록은 후보를 찾는 데만 썼습니다. 순위 숫자는 옮기지 않았습니다. 설명과 라이선스, 별 수는 각 GitHub 저장소에서 확인했습니다. 해설은 우리의 판단입니다. 이 프로젝트들을 직접 시험한 것은 아니며, 상승 목록에 올랐다고 품질이 증명되지는 않습니다.