ScreenEnv: 전체 스택 데스크톱 에이전트 배포
요약
ScreenEnv는 Docker 컨테이너 내에서 테스트 및 GUI 에이전트를 위한 격리된 Ubuntu 데스크톱 샌드박스 환경을 제공하는 강력한 Python 라이브러리입니다. 이 도구는 마우스/키보드 자동화, 애플리케이션 시작, 파일 처리 등 전체 데스크톱 경험을 완벽하게 제어할 수 있게 합니다. Model Context Protocol (MCP) 지원과 Docker 네이티브 배포 방식을 통해 복잡한 VM 설정 없이도 재현 가능하고 크로스 플랫폼(Linux, Android, macOS, Windows)인 AI 기반 데스크톱 에이전트 구축을 용이하게 합니다.
핵심 포인트
- 격리된 샌드박스 환경: Docker 컨테이너 내에서 완전한 가상 데스크톱 세션을 제공하여 재현성과 안정성을 보장합니다.
- 전체 데스크톱 제어 기능: 마우스/키보드 자동화, 창 관리, 애플리케이션 실행, 파일 처리 등 GUI 상호작용의 모든 측면을 코드로 제어할 수 있습니다.
- 다중 통합 모드 지원: Model Context Protocol (MCP) 및 직접적인 Sandbox API를 모두 제공하여 기존 AI 시스템 아키텍처에 유연하게 통합됩니다.
- 크로스 플랫폼 및 배포 용이성: Docker 네이티브 방식으로 AMD64/ARM64에서 쉽게 배포되며, Linux 외에도 Android, macOS, Windows까지 지원합니다.
TL;DR: ScreenEnv 는 Docker 컨테이너에서 테스트 및 GUI 에이전트 (컴퓨터 사용 에이전트) 를 위한 격리된 Ubuntu 데스크톱 환경을 생성할 수 있는 강력한 Python 라이브러리입니다. Model Context Protocol (MCP) 을 내장 지원하므로, 실제 애플리케이션을 볼 수 있고 클릭하고 상호작용할 수 있는 데스크톱 에이전트를 배포하는 것은 이제 더 이상 어렵지 않습니다.
데스크톱 작업을 자동화하거나 GUI 애플리케이션을 테스트하거나 소프트웨어와 상호작용할 수 있는 AI 에이전트를 구축해야 한다면, 이는 과거에는 복잡한 VM 설정과 취약한 자동화 프레임워크를 필요로 했습니다.
ScreenEnv 는 샌드박스 데스크톱 환경을 제공하여 Docker 컨테이너에서 실행되도록 변경했습니다. 코드가 완전히 제어할 수 있는 완전한 가상 데스크톱 세션을 생각해보세요 - 버튼 클릭과 텍스트 입력뿐만 아니라 애플리케이션 시작, 창 정리, 파일 처리, 터미널 명령어 실행 및 전체 세션 기록을 포함한 전체 데스크톱 경험을 관리합니다.
🖥️ Full Desktop Control: 마우스 및 키보드 자동화, 창 관리, 애플리케이션 시작, 파일 작업, 터미널 액세스 및 화면 녹화 🤖 Dual Integration Modes: AI 시스템용 Model Context Protocol (MCP) 과 직접 Sandbox API 를 지원하여 에이전트 또는 백엔드 로직에 맞게 적응 🐳 Docker Native: 복잡한 VM 설정 없음 - 단지 Docker 만. 환경은 격리되어 재현 가능하고 10 초 이내에 어디든 쉽게 배포됩니다. AMD64 와 ARM64 아키텍처 지원.
from screenenv import Sandbox
sandbox = Sandbox() # 그거다!
ScreenEnv 는 에이전트 및 백엔드 시스템과 통합할 수 있는 두 가지 보완적인 방법을 제공하여, 가장 적합한 접근 방식을 선택할 수 있는 유연성을 제공합니다:
커스텀 에이전트 프레임워크, 기존 백엔드 또는 세밀한 제어 필요 시 적합합니다:
from screenenv import Sandbox
# 직접 프로그램적 제어
sandbox = Sandbox(headless=False)
...
Model Context Protocol 을 지원하는 AI 시스템에 이상적입니다:
from screenenv import MCPRemoteServer
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
...
이 두 가지 접근 방식은 ScreenEnv 가 기존 인프라에 적응하도록 하며, 에이전트 아키텍처를 변경하도록 강요하지 않습니다.
screenenv 는 smolagents 를 네이티브로 지원하여 자동화를 위한 커스텀 데스크톱 에이전트를 구축하는 것이 쉬워집니다. 몇 단계 만에 AI 기반 데스크톱 에이전트를 만드는 방법을 확인해보세요:
원하는 백엔드 VLM 을 선택하세요.
import os
from smolagents import OpenAIServerModel
model = OpenAIServerModel(
...
DesktopAgentBase 를 상속하고 _setup_desktop_tools 방법을 구현하여 자체 동작 공간을 구축하세요!
from screenenv import DesktopAgentBase, Sandbox
from smolagents import Model, Tool, tool
from smolagents.monitoring import LogLevel
...
from screenenv import Sandbox
# 샌드박스 환경을 정의
sandbox = Sandbox(headless=False, resolution=(1920, 1080))
...
access denied docker 오류를 만났다면 sudo -E python -m test.py 로 에이전트를 실행하거나 사용자를 docker 그룹에 추가할 수 있습니다.
💡 종합적인 구현을 확인하려면 GitHub 의 CustomDesktopAgent 소스 코드를 참조하세요.
# ScreenEnv 설치
pip install screenenv
# 예제 시도
...
ScreenEnv 는 Linux 를 넘어 Android, macOS, Windows를 지원하여 진정한 크로스 플랫폼 GUI 자동화를 가능하게 합니다. 이를 통해 개발자와 연구자는 최소한의 설정으로 환경 간 일반화가 가능한 에이전트를 구축할 수 있습니다.
이러한 발전은 벤치마킹 및 평가에 이상적인 재현 가능한 샌드박스 환경을 만드는 길을 여깁니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Hugging Face Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기