Skip to content

내장 도구 ​

zqagent에는 21개 도구가 내장되어 있으며 다음과 같이 분류됩니다(도구 이름은 승인 카드에 표시됩니다):

분류도구
파일read_file, write_file, replace_in_file, list_files, grep
Shellrun_shell(같은 shell 세션에서 연속 실행. Auto 모드에서는 허용 목록 명령 자동 허용), shell_task_output, shell_task_kill(run_shell의 백그라운드 작업 관리)
네트워크web_search, web_fetch
Gitgit_log, git_status, git_diff(읽기 전용)
패치apply_patch, apply_unified_diff
협업ask_user, propose_plan, request_directory
작업todo_write(진행 상태 공유)
서브에이전트explore(읽기 전용 조사 서브에이전트)
미디어media(ffmpeg / ffprobe 래퍼: 메타데이터 조회, 자르기, 트랜스코딩, 오디오 추출, 프레임 추출, 썸네일, 압축)

파일 ​

  • read_file — 파일 내용 읽기
  • write_file — 파일 쓰기(새로 만들거나 덮어쓰기)
  • replace_in_file — 정확한 문자열 치환. 부분 수정에 적합
  • list_files — 디렉터리 구조 나열
  • grep — 정규식으로 파일 내용 검색

Shell ​

run_shell은 같은 shell 세션에서 명령을 연속 실행합니다. 명령 허용 목록은 Auto 모드에서 자동 허용되며 대화형 모드에서는 특정 명령에 C로 항상 허용할 수 있습니다(도구 전체를 허용하는 것보다 안전).

긴 명령은 run_in_background로 백그라운드에 보낼 수 있습니다. 반환된 task_id로 shell_task_output을 사용해 누적 출력과 실행 상태를 확인하고 shell_task_kill로 종료할 수 있습니다(자식 프로세스 트리 포함).

어떤 shell을 쓸지는 실행 시 자동 선택됩니다: macOS / Linux는 Node 기본 /bin/sh(동작 동일). Windows는 POSIX 스타일 shell을 우선하고(같은 디렉터리의 BusyBox-w32 → Git Bash → PowerShell), 없으면 cmd.exe로 폴백하며 선택한 shell을 도구 설명에 적어 모델이 명령 스타일을 조정하도록 합니다. ZQAGENT_SHELL(키워드 또는 실행 파일 경로)과 ZQAGENT_BUSYBOX로 재정의할 수 있습니다. 자세히는 README의 '멀티 플랫폼 패키지 배포 → Windows의 shell과 검색'을 참고하세요.

grep 도구는 내장 / 설치된 ripgrep을 우선 사용하고 없으면 내장 순수 Node 스캐너로 폴백합니다 (완전한 JS 정규식 지원). Windows 단독 환경에서도 바로 사용할 수 있습니다.

Windows 전통 콘솔(cmd.exe/conhost)이 emoji와 Unicode 표 테두리를 렌더링하지 못하면 CLI는 자동으로 ASCII 표기로 전환합니다(✅→[OK], ❌→[x], ⚠️→[!] …). Windows Terminal / VS Code 같은 최신 터미널에서는 emoji를 유지합니다. ZQAGENT_EMOJI=1/0으로 강제할 수 있습니다.

네트워크 ​

  • web_search — 웹 검색
  • web_fetch — 웹 페이지 내용 가져오기

Git(읽기 전용) ​

git_log / git_status / git_diff는 저장소 기록과 상태를 읽기 전용으로 확인합니다.

패치 ​

apply_patch / apply_unified_diff는 코드 패치를 적용하며 일괄 수정에 적합합니다.

협업 ​

  • ask_user — 사용자에게 질문
  • propose_plan — 계획 제안 제출
  • request_directory — 작업 디렉터리 요청

작업과 서브에이전트 ​

  • todo_write — 공유 작업 진행 관리
  • explore — 읽기 전용 조사 서브에이전트 시작

미디어 ​

media는 로컬 ffmpeg / ffprobe를 래핑해 하나의 도구로 메타데이터 조회(probe), 자르기, 트랜스코딩, 오디오 추출, 프레임 추출, 썸네일, 압축을 처리합니다. shell을 거칠 필요가 없습니다.

ffmpeg는 네 단계로 찾습니다: ① 환경 변수 ZQAGENT_FFMPEG / ZQAGENT_FFPROBE → ② 워크스페이스 <workspace>/.agent/bin → ③ 단일 파일 내장 리소스 / PATH → ④ 찾지 못하면 구조화된 안내를 반환 (op="setup"으로 공식 정적 빌드 자동 다운로드, run_shell 설치 명령, 수동 설치와 환경 변수 작성법 포함). 각 플랫폼의 설치 명령과 라이선스 안내는 반환값의 install_commands / notes에 있습니다.

확인과 비활성화 ​

CLI에서 /tools를 입력하면 모든 도구(출처, 위험, 비활성 상태 포함)를 나열합니다. /tool disable <name>으로 일시 비활성화하고 /tool enable <name>으로 다시 활성화할 수 있습니다.

다음 단계 ​