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도구 호출을 ACPtool_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 레지스트리의 터미널 인증을 지원하여 에이전트 설정 및 로그인을 처리합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트