svkozak/pi-acp

ACP adapter for pi coding agent

해결하는 문제

pi-acp는 pi 코딩 에이전트를 Zed 편집기와 같은 Agent Client Protocol(ACP)을 지원하는 편집기 및 클라이언트에서 사용할 수 있게 해주는 어댑터입니다. pi 에이전트의 내부 RPC와 ACP 표준 간의 격차를 메워, 원래 터미널용으로 설계된 도구에 헤드리스 또는 편집기 통합 경험을 제공합니다.

작동 방식

이 어댑터는 표준 입력/출력(stdio)을 통해 JSON-RPC 2.0으로 ACP 클라이언트와 통신합니다. pi 에이전트를 RPC 모드(pi --mode rpc)로 실행하고 클라이언트와 에이전트 간의 요청 및 이벤트를 변환합니다. 주요 변환은 다음과 같습니다.

  • 도구 실행: pi 도구 호출을 ACP tool_call 및 tool_call_update 이벤트에 매핑하고 상대 파일 경로를 절대 경로로 해석하여 편집기가 따라갈 수 있도록 합니다.
  • 스트리밍: 어시스턴트 응답을 ACP agent_message_chunk 이벤트로 스트리밍합니다.
  • 세션 관리: ACP 세션 로드 및 생성을 pi 자체 세션 지속 파일에 매핑합니다.
  • 컨텍스트 추적: usage_update 이벤트를 통해 pi의 실시간 컨텍스트 점유율과 토큰 사용량을 클라이언트에 보고합니다.

대상 사용자

pi 코딩 에이전트를 사용하고 별도의 터미널 창을 사용하는 대신 IDE(특히 Zed)에 직접 통합하려는 개발자.

주요 기능

  • Zed 편집기 통합: 세션 기록, 시작 정보, 도구 위치 표시를 완전히 지원합니다.
  • 구조화된 diff: 줄 번호를 추론하고 파일 편집에 대해 구조화된 diff(oldText/newText)를 생성하려고 시도합니다.
  • 슬래시 명령 지원: 파일 기반 프롬프트, 내장 명령(/compact 및 /export 등), 스킬 명령을 지원합니다.
  • 세션 지속성: 다른 ACP 클라이언트와 pi 터미널 에이전트 간에 세션을 재개할 수 있습니다.
  • 터미널 인증: ACP 레지스트리의 터미널 인증을 지원하여 에이전트 설정 및 로그인을 처리합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트