Astera/사용 가이드

Get to know Astera.

에이전트는 한곳에.
아이디어는 완성된 작업으로.

Astera는 Claude Code와 Codex를 위한 데스크톱 작업 공간입니다. 세션 하나로 시작해 Smart Resume로 계정 한도 너머의 맥락을 이어가고, 큰 작업은 Jobs 그래프로 조율하세요. 진행 순서까지 에이전트에게 맡기려면 오케스트레이션 스킬을 사용합니다.

계정
세션에서 사용하는 Claude Code 또는 Codex 로그인 계정입니다.
세션
프로젝트 폴더에서 에이전트와 나누는 하나의 대화입니다.
Job
하나의 목표를 위해 에이전트와 검증 절차가 함께 수행하는 작업 묶음입니다.

Your first session

프로젝트 하나와 계정 하나면 시작할 수 있습니다. 첫 대화를 시작한 뒤 자동화 기능을 살펴보세요.

  1. Astera와 에이전트 설치하기

    Download 버튼을 눌러 운영체제에 맞는 설치 파일을 받으세요. Astera가 실행할 수 있도록 Claude Code나 Codex CLI를 설치하고 PATH에서 찾을 수 있게 해야 합니다. 둘 다 설치해도 됩니다.

    Astera는 기존 도구를 실행합니다. 각 서비스의 계정과 이용 요금은 별도입니다.

    운영체제별 설치 방법
  2. 계정 연결하기

    계정에서 자동 감지로 기존 계정을 찾고 원하는 계정을 등록하세요. 계정 추가로 별도의 계정을 만든 뒤 안내에 따라 로그인할 수도 있습니다.

  3. 폴더와 세션 방식 선택하기

    새 세션을 열고 프로젝트 폴더계정을 선택하세요. 터미널 또는 대화를 고른 뒤 시작을 누릅니다. 선택한 폴더를 기준으로 에이전트가 코드 작업을 진행합니다.

  4. 첫 작업을 구체적으로 요청하기

    원하는 결과와 확인 방법을 함께 적으세요. 처음 보는 프로젝트라면 이렇게 시작해 보세요.

    이 프로젝트의 구조와 로컬에서 실행하는 방법을 설명해 줘. 아직 파일은 수정하지 마.

    답변을 읽고 필요한 질문에 답하면서 같은 세션에서 이어가세요.

Terminal or Chat. Your choice.

어느 쪽이든 에이전트와 작업하는 세션입니다. 하려는 일에 맞는 인터페이스를 선택하세요.

터미널

익숙한 CLI를 Astera 안에서 사용합니다. 에이전트의 터미널 화면으로 직접 작업하고 싶을 때 선택하세요.

채팅

메시지 입력창으로 대화합니다. 질문과 승인 요청은 카드로 표시되고, 입력창 옆에서 모델과 권한을 선택할 수 있습니다.

시작할 때 선택하세요. 세션 방식은 생성 후 바뀌지 않습니다. 설정 → 일반의 새 세션 방식에서 기본값을 정하거나, 새 세션을 열 때 직접 선택하세요.
실제 앱 화면 살펴보기
여기서 두 화면을 비교할 수 있습니다. 앱에서 다른 방식을 사용하려면 새 세션을 시작하세요.

파일과 이미지 첨부

채팅에 파일을 끌어 놓거나 이미지를 붙여 넣으면 경로가 메시지에 포함됩니다. 에이전트가 무엇을 확인하거나 수정해야 하는지도 함께 적어 주세요.

이전 대화 이어하기

계정과 히스토리에서 프로젝트를 펼치세요. 대화를 클릭하면 미리보기가 열립니다. 계속 작업하려면 해당 대화의 세션 이어하기 버튼을 누르고 계정을 고른 뒤 이어하기를 선택하세요. 폴더를 옮겼다면 안내에 따라 현재 위치를 지정합니다.

숨긴 프로젝트 찾기

설정 → 히스토리에서 숨긴 프로젝트의 해제를 누르면 히스토리 목록에 다시 표시됩니다.

Continue on your next account

계정 자동 전환은 사용량 한도에 도달한 세션을 같은 서비스의 다음 사용 가능한 계정으로 옮깁니다. 기본 재개 방식에서는 같은 대화를 이어갑니다.

  1. 사용할 계정들을 등록하고 각각 로그인하세요.
  2. 새 세션에서 첫 계정을 선택하세요. + 계정 추가로 다음에 사용할 계정과 전환 순서를 정합니다.
  3. 세션을 시작하세요. Astera가 사용량 한도를 감지하고 다른 계정을 사용할 수 있으면 전환합니다.
각 계정의 사용량 한도는 그대로 적용됩니다. 사용 가능한 계정이 없으면 표시된 초기화 시각을 확인하세요. 계정이 하나일 때는 한도 도달 시 리셋까지 대기 후 자동 재개 옵션으로 대기·재개를 설정합니다. 여러 계정을 사용하면 자동으로 전환합니다.

계정을 추가할 때 기본 계정에서 설정 가져오기로 기존 설정을 가져올 수 있습니다. 파일과 서비스에 따라 병합·교체 방식이 다르므로 가져오기 창의 안내를 확인하세요. 가져온 설정은 새 세션부터 적용됩니다.

Astera 실제 녹화: 사용량 한도에 도달하면 계정을 바꾸고 같은 대화를 이어갑니다.

Smart Resume. Carry the context forward.

계정을 전환할 때 다음 세션에 작업의 핵심 맥락을 전달하고 싶다면 Smart Resume를 선택하세요. 기본 재개는 기존 대화를 이어갑니다. Smart Resume는 지금까지의 작업을 체크포인트로 정리해 새 대화에 전달합니다.

  1. 설정 → 일반 → 세션 재개 방식에서 스마트 재개를 선택하세요. 기본값은 꺼짐입니다.
  2. 계정 자동 전환 순서를 설정하세요. 한도에 도달해 같은 서비스의 사용 가능한 계정으로 전환할 때 체크포인트를 사용합니다.
  3. 세션에서 작업을 이어가세요. 다음 에이전트는 첫 메시지로 체크포인트를 받고, 작업 파일을 확인하면서 이어서 진행할 수 있습니다.

요청의 흐름

최근 요청을 순서대로 담고 마지막 대화를 함께 전달합니다. 세션에 어떤 일을 요청했는지 다음 에이전트가 파악할 수 있습니다.

작업의 현재 상태

작업 폴더, git 상태, 수정한 파일, 마지막 명령이 이어갈 출발점이 됩니다. 체크포인트는 핵심 맥락을 담은 인계 자료이며 대화 전체의 사본은 아닙니다.

Job 워커의 인계

Job 워커는 기록된 작업 상태를 바탕으로 목표, 선행 작업, 최근 보고, 결정 사항과 검증 맥락도 전달받습니다. 자신의 할 일과 주변 작업의 상황을 함께 확인할 수 있습니다.

체크포인트를 만들지 못하면 기본 재개 방식으로 이어갑니다. 계정의 사용량 한도는 그대로 적용됩니다. 요약된 인계에는 오래된 세부 내용이 빠질 수 있으므로 중요한 요구사항은 에이전트가 읽을 수 있는 프로젝트 파일에도 남겨 두세요.

Give a session a schedule

매일 아침 테스트를 실행하거나 정기적으로 프로젝트 상황을 정리하는 등 반복되는 일에 스케줄러를 사용하세요.

  1. 새 세션에서 스케쥴러를 켜세요.
  2. 실행 간격 또는 매일·매주·매월 일정을 선택하세요.
  3. 터미널 세션은 명령을, 채팅 세션은 프롬프트를 입력하세요. 세션을 시작하면 예약이 활성화됩니다.

예약한 작업이 실행될 때 Astera가 켜져 있고 컴퓨터가 깨어 있어야 합니다. 세션 예약은 하나의 대화에 요청을 보냅니다. 서로 의존하는 여러 작업을 순서대로 실행하려면 Jobs를 사용하세요.

Astera 실제 녹화: 예약한 시각이 되면 설정한 명령이 자동으로 전달됩니다.

Follow the work from Slack

응답이 끝나거나, 계정 한도에 도달하거나, 사용자 입력이 필요할 때 알림을 받습니다. 봇 모드를 설정하면 세션마다 스레드가 하나씩 만들어집니다. 해당 스레드에 답장하면 세션으로 메시지가 전달됩니다.

  1. Slack 앱을 만들고 알림을 받을 채널에 봇을 초대하세요.
  2. Astera의 Slack 설정에 봇 토큰과 채널 ID를 입력하세요. 답장 기능을 쓰려면 Socket Mode, 앱 토큰, 본인의 Slack 멤버 ID도 설정합니다.
  3. 세션의 Slack 진행상황 알림을 켜세요.
답장에는 멤버 ID가 필요합니다. 설정한 Slack 멤버만 세션에 입력을 보낼 수 있습니다. 멤버 ID가 비어 있으면 답장은 전달되지 않습니다.
Slack 설정 전체 안내

Bring agents together with Jobs

설정에서 켜기

Job은 하나의 목표를 작업 그래프로 보여 줍니다. 연결선을 보면 병렬로 진행할 일과 앞선 결과를 기다려야 할 일을 알 수 있습니다. 같은 실행 내역에서 Claude·Codex 워커, 질문과 완료 검사까지 따라가세요.

예시: 로그인 흐름 개선

변경 사항 구현회귀 테스트 작성
두 작업 완료검사 실행과 결과 리뷰

연결선으로 순서 읽기

의존 관계가 작업을 시작할 순서를 정합니다. 아직 끝나지 않은 선행 작업이 없으면 설정한 동시 실행 수 안에서 나란히 진행할 수 있습니다.

기다리는 이유 확인하기

작업이 실행 중인지, 검증·리뷰 중인지, Gate에서 막혀 있는지 구분할 수 있습니다. 작업을 열어 상태와 담당 워커, 답이 필요한 질문을 확인하세요.

완료의 근거 확인하기

검사가 연결된 작업은 워커의 완료 보고 뒤 검증을 시작합니다. 필요한 검사와 리뷰를 통과해야 다음 작업이 진행됩니다. 타임라인에서 진행 순서를 확인하세요.

  1. 설정에서 에이전트 오케스트레이션을 켜세요. 커밋이 하나 이상 있고 브랜치가 체크아웃된 git 저장소가 필요합니다.
  2. Jobs → 새 작업을 여세요. 목표를 입력하고 코디네이터 계정동시 실행 수를 정합니다.
  3. 작업과 워커 계정, 의존 관계를 추가하세요. 빌드·테스트·다른 제공자의 에이전트 리뷰를 완료 검사로 연결합니다. 한도 내에서 수정을 반복하려면 통과할 때까지 자동 수정을 켜세요.
  4. 실행을 누르세요. 그래프에서 진행 상황을 확인하고 질문에 답한 뒤 결과를 검토합니다. 일반 Job은 프로젝트에 반영할 준비가 됐을 때 병합을 누릅니다.
완료 여부는 검사로 확인합니다. 검사에 실패하면 수정을 요청할 수 있지만, 재시도 한도에 도달하거나 사용자 판단이 필요하면 진행이 멈출 수 있습니다. 일반 Job의 변경 사항은 병합하기 전까지 워크트리에 남습니다.
에이전트에게 Job 진행을 맡길 수 있나요?

네. /astera-orchestration 사용법에서 새 코디네이터 세션에 목표와 역할, 의존 관계, 검사 조건을 전달하는 방법을 확인하세요. 실행 내역은 같은 Jobs 사이드바에 표시됩니다.

예약한 Job은 무엇이 다른가요?

예약 Job은 정해진 시간마다 별도의 실행 회차를 만드는 템플릿입니다. 앱이 꺼져 있던 동안 놓친 시각은 건너뜁니다. 결과가 프로젝트에 자동 병합되지는 않으며, 완료된 회차는 워크트리 폴더를 정리합니다. 반복 작업을 설정하기 전에 Job 수명 주기 문서를 확인하세요.

Astera 실제 녹화: 작업 의존 관계, 워커 진행 상황, 검증과 서로 다른 에이전트의 리뷰를 확인하세요.

Give the goal. Let an agent coordinate.

/astera-orchestration 스킬로 Astera 세션이 Claude와 Codex의 여러 단계 작업을 감독하게 할 수 있습니다. 코디네이터가 작업을 만들고 워커에게 배분한 뒤 보고를 기다리며, 필요한 판단은 사용자에게 돌려줍니다. 실행 과정은 Jobs에서 볼 수 있습니다.

  1. 설정에서 에이전트 오케스트레이션을 켠 뒤 프로젝트에서 새 코디네이터 세션을 여세요. 스킬은 세션 시작 시 전달됩니다.
  2. 목표와 각 에이전트의 역할, 작업 순서, 결과 확인 방법을 적으세요. 요청한 제공자마다 사용할 수 있는 계정을 등록해야 합니다.
  3. 프로젝트의 Jobs 사이드바에서 그래프를 확인하세요. 코디네이터의 판단 요청은 질문과 Gate에서 읽고 답합니다. 프로젝트에 변경을 반영하기 전에 결과를 검토하세요.
/astera-orchestration

Claude가 로그인 흐름을 리팩터링하고, 그다음 Codex가 회귀 테스트를 추가하게 해 줘. 프로젝트 테스트와 다른 제공자의 에이전트 리뷰까지 진행해 줘. 검사 실패 시 3회 한도에서 수정하고 다시 확인해 줘. 결정이 필요하면 나에게 물어봐.

작업 간 조율이 필요할 때 사용하세요. 선행 작업, 워커 보고, 완료 검사까지 관리해야 하는 큰 작업에 적합합니다. 작은 작업 하나는 일반 세션에서 진행해도 됩니다. 다른 제공자의 리뷰에는 해당 제공자의 사용 가능한 계정이 필요하며 사용량도 소모됩니다.

Astera Host. Keep the session alive.

Astera Host는 컴퓨터에서 별도로 실행되는 프로세스입니다. 터미널·채팅 세션, 프로젝트 터미널과 Run 프로세스를 맡을 수 있습니다. 호스트가 맡은 프로세스는 앱을 종료해도 계속 실행되며, Astera를 다시 열면 지원되는 실행 중 세션에 다시 연결합니다.

진행하던 작업으로 돌아오기

일반 종료 후 Astera를 다시 열면 살아 있는 세션과 보관된 출력에 다시 연결합니다. 히스토리에서 새 대화를 시작하는 것과 달리 기존 에이전트 프로세스가 실행을 이어가는 방식입니다.

세션까지 끝내려면

작업을 끝내려면 해당 세션을 정지하세요. 트레이 메뉴를 사용할 수 있는 환경에서는 세션 모두 끝내고 종료를 선택해 호스트 세션까지 함께 종료할 수 있습니다.

자동화는 앱을 켜 둔 채로

예약, 계정 자동 전환, Slack 연동, Job 조율을 계속하려면 Astera를 켜 두고 컴퓨터를 깨어 있게 유지하세요. 에이전트 프로세스가 살아 있는 것과 앱의 자동화 기능이 계속 동작하는 것은 다릅니다.

종료·업데이트 안내를 확인하세요. 호스트 없이 시작된 세션은 앱과 함께 끝날 수 있습니다. 버전 업데이트 후 재연결은 호환 여부에 따라 달라집니다. 컴퓨터를 종료하거나 잠자기 상태로 두면 호스트가 계속 작업을 실행해 주지는 않습니다.

Understand what changed. And why.

How It Works는 끝난 작업을 읽기 쉬운 설명으로 정리합니다. 처음 요청한 내용과 함께 변경 요약, 흐름도, 결정의 이유, 관련 파일을 살펴보세요.

  1. 설정 → 일반에서 작업 단위 추적을 켜고, 설명을 작성할 설명 생성 계정을 선택하세요.
  2. git 프로젝트에서 새 세션을 여세요. /astera-task 뒤에 “Google 로그인을 추가하고 로그아웃하면 세션이 끝나는지 확인해 줘”처럼 구체적인 목표를 적습니다.
  3. 같은 대화에서 작업을 이어가세요. 여러 번 메시지를 주고받더라도 스킬이 에이전트에게 해당 작업의 시작과 완료를 기록하도록 안내합니다.
  4. 사이드바에서 How It Works를 열거나 Ctrl/Cmd + Shift + H를 누르세요. 완료된 기록을 선택하면 패널의 탭에서 설명을 읽을 수 있습니다.

결과부터 살펴보기

무엇을 하나요는 변경 사항을 쉬운 말로 설명합니다. 무엇이 달라졌나요는 제품을 쓰면서 체감할 변화를 보여 줍니다. 처음 요청한 내용이 제목 아래에 남아 있어 결과와 비교할 수 있습니다.

흐름 따라가기

참조가 있는 흐름도 단계를 선택하면 그 단계의 설명과 이유, 관련 파일이 표시됩니다. 전체 보기를 누르면 전체 설명으로 돌아갑니다. 눈에 띄는 변화나 의미 있는 흐름이 없는 작업은 해당 영역이 생략될 수 있습니다.

이유와 구현 확인하기

왜 이렇게 만들었나요에서 결정의 이유와 출처를 확인하세요. 실제 구현은에는 관련 파일이 역할별로 정리됩니다. 파일 이름을 누르면 열립니다. 좁은 패널에서는 참조를 눌러 참조 영역을 펼치세요.

기록과 검사 결과를 함께 읽으세요. 기록됨은 설명이 준비됐다는 뜻입니다. 별도의 검증 표시에서 통과·실패·부분 확인 여부를 확인하세요. 일반 세션의 검사 결과는 에이전트가 보고한 내용이며, Jobs는 실행 회차의 검증 결과를 사용합니다.
기록 상태는 어떤 뜻인가요?

진행 중은 아직 열린 작업입니다. 마무리되지 않음은 기록이 중단된 상태이므로 이유를 확인하세요. 만드는 중은 설명을 작성 중이라는 뜻이고, 기록됨은 읽을 준비가 된 상태입니다. 검토 필요만들지 못했습니다가 표시되면 이유와 검증 결과를 확인하세요.

다시 만들기는 설명을 다시 생성합니다. 코드를 수정하거나 테스트를 다시 실행하지는 않습니다.

작업 기록이 보이지 않아요

새 세션을 시작하기 전에 추적을 켜고 설명 생성 계정을 고른 뒤 작업을 선언하세요. 이전 대화는 가져오지 않으며, 파일이 바뀌지 않은 작업은 완료 기록을 만들지 않습니다. 한 세션에서는 한 번에 하나의 작업을 기록합니다.

Claude Code의 /goal은 기록을 자동으로 완료합니다. Codex의 /goal은 직접 완료를 눌러야 합니다. 추적이 켜져 있으면 완료된 Jobs 실행 회차도 기록됩니다. 설명 생성에 실패했다면 표시된 원인을 해결하고 다시 만들기를 누르세요.

A few more possibilities

기본으로 꺼져 있는 기능입니다. 작업 방식에 맞는 기능을 설정에서 켜 보세요.

스마트 재개

설정 → 일반 → 세션 재개 방식에서 체크포인트로 인계하는 방식을 선택하세요. Smart Resume 가이드에서 전달되는 내용과 기본 재개로 돌아가는 경우를 확인할 수 있습니다.

How It Works

작업 단위 추적을 켜고 설명 생성 계정을 선택하면 끝난 작업을 읽기 쉬운 기록으로 남깁니다. 설정, 흐름도, 검증 표시, 문제 해결은 기록하고 읽는 방법에서 확인하세요.

에이전트 브라우저

에이전트 브라우저를 켠 뒤 새 세션을 시작하세요. 에이전트에게 로컬 웹 앱 확인을 요청하면 자체 미리보기 탭에서 페이지를 살펴보고 콘솔·네트워크 오류를 확인합니다. 로컬 개발 페이지에서 사용할 수 있습니다.

Keep the rest of your work close

파일과 분할 패널

파일을 수정 중인 세션 옆에 열어 두세요. 패널을 오른쪽이나 아래로 나누어 비교할 수 있습니다. 탐색기에는 git 상태가 표시되며 이름 변경, 복사, 파일 관리자에서 열기 등의 작업을 지원합니다. 직접 명령을 실행할 때는 프로젝트 터미널을 사용하세요.

Markdown 미리보기

Markdown 파일을 열고 Ctrl/Cmd + Shift + V를 누르면 편집기·분할·미리보기 모드를 순환합니다. 분할 모드에서는 편집기와 미리보기가 함께 스크롤됩니다.

삭제한 파일 복원

Astera가 삭제 전에 보관한 항목은 탐색기에서 오른쪽 클릭한 뒤 Local History…를 열어 복원할 수 있습니다. 항목을 선택하고 복원을 누르세요. 원래 경로에 파일이 있으면 다른 이름으로 복원됩니다. 스냅샷은 프로젝트 용량 한도 안에서 최대 30일 보관하며, 50 MB를 넘는 항목은 제외됩니다.

프로젝트 실행

Run 도구 모음에서 구성을 선택해 개발 서버, 빌드, 테스트를 실행하고 Run 콘솔에서 출력을 확인하세요. npm 스크립트와 Gradle·Maven의 기본 작업 등 지원하는 구성을 자동 감지합니다. 감지된 구성은 기울임꼴로 표시되며, 수정하면 직접 만든 구성으로 저장됩니다.

워크트리와 풀 리퀘스트

커밋과 브랜치가 있는 git 저장소에서 세션을 만들 때 worktree로 분리해서 시작을 선택하세요. 독립된 브랜치에서 작업하고 워크트리 목록에서 PR 상태를 확인합니다. 새 커밋이 있으면 PR 생성 기능으로 브랜치를 푸시하고 풀 리퀘스트를 열 수 있습니다. 기존 gh 로그인을 사용하므로 창에서 대상 브랜치와 내용을 확인하세요.

Design Mode

웹 페이지를 탭으로 열고 Design Mode를 켜세요. 요소를 선택해 바꾸고 싶은 점이나 질문을 적은 뒤 세션에 보내기를 누릅니다. 메모와 요소 정보, 해당 부분의 스크린샷이 함께 전달됩니다. 탭마다 최대 20개의 메모를 남길 수 있으며, 다른 페이지로 이동하면 Design Mode가 꺼집니다.

Make Astera feel like yours

모양

설정 → 모양에서 7가지 테마 중 하나를 선택하고 터미널 글꼴을 따로 지정하세요. 테마를 바꾸면 열려 있는 터미널에도 적용되며 스크롤 기록은 유지됩니다.

언어와 단축키

설정 → 일반 → 언어에서 영어·한국어·일본어·스페인어 또는 시스템 설정을 선택하세요. 설정 → 단축키에서는 키 조합을 확인하고 바꿀 수 있습니다.

데스크톱 알림

설정 → 알림에서 입력 필요, 한도 대기, 계정 전환 알림을 선택하세요. 다른 세션이나 창을 보고 있을 때도 진행 상황을 확인할 수 있습니다.

앱 업데이트

설정 → 정보 → 업데이트 확인을 누르고 표시된 다운로드·설치 안내를 따르세요. 운영체제와 빌드에 따라 지원 방식이 다릅니다. 자동 업데이트를 사용할 수 없다면 GitHub Releases에서 맞는 설치 파일을 받아 설치 안내를 따라 진행하세요.

A few useful answers

Claude Code와 Codex가 둘 다 필요한가요?

아니요. 하나만으로 시작할 수 있습니다. 두 에이전트가 함께 작업하거나 서로의 결과를 리뷰하게 하고 싶을 때 다른 하나를 추가하세요.

세션을 시작할 수 없어요

프로젝트 폴더와 계정을 선택했는지 확인하세요. 해당 CLI가 설치되어 있고 그 폴더에서 실행될 수 있어야 합니다. 방금 설치했다면 Astera를 다시 시작해 감지하도록 해 주세요.

Job이 제 응답을 기다리고 있어요

Job을 열어 질문이나 Gate 메시지를 확인하세요. 사용 가능한 계정, git 브랜치, 사용자의 결정, 검사 실패에 대한 조치가 필요할 수 있습니다. 메시지에 진행이 멈춘 이유가 표시됩니다.

테마와 단축키는 어디서 바꾸나요?

설정을 여세요. 모양에서 7가지 테마와 터미널 글꼴을 선택하고, 단축키에서 키 조합을 바꿀 수 있습니다. 앱은 영어·한국어·일본어·스페인어를 지원합니다.

자주 쓰는 단축키

macOS에서는 Cmd, Windows·Linux에서는 Ctrl을 사용합니다. 아래는 기본값이며 설정에서 바꿀 수 있습니다.

탐색기
Ctrl / Cmd + Shift + E
Jobs
Ctrl / Cmd + Shift + J
How It Works
Ctrl / Cmd + Shift + H
Markdown 보기 전환
Ctrl / Cmd + Shift + V

첫 세션을 시작해 볼까요?

폴더 하나, 계정 하나, 아이디어 하나로 시작하세요.

Astera 다운로드

도움이 더 필요하신가요? GitHub에서 질문하거나 기술 문서를 살펴보세요.

Astera 데모