acp

Mayros Gateway와 통신하는 ACP (Agent Client Protocol) 브리지를 실행합니다.

이 명령은 IDE를 위해 stdio를 통해 ACP를 말하고 WebSocket을 통해 Gateway로 프롬프트를 전달합니다. ACP 세션을 Gateway 세션 키에 매핑된 상태로 유지합니다.

사용법

bash
mayros acp

# 원격 Gateway
mayros acp --url wss://gateway-host:18789 --token <token>

# 원격 Gateway (파일에서 토큰)
mayros acp --url wss://gateway-host:18789 --token-file ~/.mayros/gateway.token

# 기존 세션 키에 연결
mayros acp --session agent:main:main

# 레이블로 연결 (이미 존재해야 함)
mayros acp --session-label "support inbox"

# 첫 번째 프롬프트 전에 세션 키 재설정
mayros acp --session agent:main:main --reset-session

ACP 클라이언트 (디버그)

IDE 없이 브리지를 정상 확인하려면 내장 ACP 클라이언트를 사용하세요. ACP 브리지를 생성하고 대화형으로 프롬프트를 입력할 수 있습니다.

bash
mayros acp client

# 생성된 브리지를 원격 Gateway로 가리킴
mayros acp client --server-args --url wss://gateway-host:18789 --token-file ~/.mayros/gateway.token

# 서버 명령 재정의 (기본값: mayros)
mayros acp client --server "node" --server-args mayros.mjs acp --url ws://127.0.0.1:19001

사용 방법

IDE (또는 다른 클라이언트)가 Agent Client Protocol을 말하고 Mayros Gateway 세션을 구동하려는 경우 ACP를 사용하세요.

  1. Gateway가 실행 중인지 확인합니다 (로컬 또는 원격).
  2. Gateway 대상을 구성합니다 (구성 또는 플래그).
  3. IDE가 stdio를 통해 mayros acp를 실행하도록 가리킵니다.

예시 구성 (지속됨):

bash
mayros config set gateway.remote.url wss://gateway-host:18789
mayros config set gateway.remote.token <token>

예시 직접 실행 (구성 쓰기 없음):

bash
mayros acp --url wss://gateway-host:18789 --token <token>
# 로컬 프로세스 안전을 위해 선호됨
mayros acp --url wss://gateway-host:18789 --token-file ~/.mayros/gateway.token

에이전트 선택

ACP는 에이전트를 직접 선택하지 않습니다. Gateway 세션 키로 라우팅합니다.

에이전트 범위 세션 키를 사용하여 특정 에이전트를 대상으로 지정하세요:

bash
mayros acp --session agent:main:main
mayros acp --session agent:design:main
mayros acp --session agent:qa:bug-123

각 ACP 세션은 단일 Gateway 세션 키에 매핑됩니다. 하나의 에이전트는 많은 세션을 가질 수 있습니다. ACP는 키 또는 레이블을 재정의하지 않는 한 격리된 acp:<uuid> 세션을 기본값으로 사용합니다.

Zed 편집기 설정

~/.config/zed/settings.json에 사용자 정의 ACP 에이전트를 추가하세요 (또는 Zed의 설정 UI 사용):

json
{
  "agent_servers": {
    "Mayros ACP": {
      "type": "custom",
      "command": "mayros",
      "args": ["acp"],
      "env": {}
    }
  }
}

특정 Gateway 또는 에이전트를 대상으로 지정하려면:

json
{
  "agent_servers": {
    "Mayros ACP": {
      "type": "custom",
      "command": "mayros",
      "args": [
        "acp",
        "--url",
        "wss://gateway-host:18789",
        "--token",
        "<token>",
        "--session",
        "agent:design:main"
      ],
      "env": {}
    }
  }
}

Zed에서 Agent 패널을 열고 "Mayros ACP"를 선택하여 스레드를 시작하세요.

세션 매핑

기본적으로 ACP 세션은 acp: 접두사가 있는 격리된 Gateway 세션 키를 받습니다. 알려진 세션을 재사용하려면 세션 키 또는 레이블을 전달하세요:

  • --session <key>: 특정 Gateway 세션 키 사용.
  • --session-label <label>: 레이블로 기존 세션 해결.
  • --reset-session: 해당 키에 대한 새 세션 ID 생성 (동일한 키, 새 트랜스크립트).

ACP 클라이언트가 메타데이터를 지원하는 경우 세션당 재정의할 수 있습니다:

json
{
  "_meta": {
    "sessionKey": "agent:main:main",
    "sessionLabel": "support inbox",
    "resetSession": true
  }
}

세션 키에 대해 자세히 알아보려면 /concepts/session을 참조하세요.

옵션

  • --url <url>: Gateway WebSocket URL (구성된 경우 gateway.remote.url로 기본값).
  • --token <token>: Gateway 인증 토큰.
  • --token-file <path>: 파일에서 Gateway 인증 토큰 읽기.
  • --password <password>: Gateway 인증 비밀번호.
  • --password-file <path>: 파일에서 Gateway 인증 비밀번호 읽기.
  • --session <key>: 기본 세션 키.
  • --session-label <label>: 해결할 기본 세션 레이블.
  • --require-existing: 세션 키/레이블이 존재하지 않으면 실패.
  • --reset-session: 첫 사용 전에 세션 키 재설정.
  • --no-prefix-cwd: 작업 디렉토리로 프롬프트 접두사를 붙이지 않음.
  • --verbose, -v: stderr로 자세한 로깅.

보안 참고 사항:

  • --token--password는 일부 시스템의 로컬 프로세스 목록에 표시될 수 있습니다.
  • --token-file/--password-file 또는 환경 변수 (MAYROS_GATEWAY_TOKEN, MAYROS_GATEWAY_PASSWORD)를 선호하세요.

acp client 옵션

  • --cwd <dir>: ACP 세션의 작업 디렉토리.
  • --server <command>: ACP 서버 명령 (기본값: mayros).
  • --server-args <args...>: ACP 서버에 전달되는 추가 인수.
  • --server-verbose: ACP 서버에서 자세한 로깅 활성화.
  • --verbose, -v: 자세한 클라이언트 로깅.