도구
도구를 통해 LLM이 코드베이스 내에서 작업을 수행할 수 있습니다. OpenCode는 사용자 정의 도구와 MCP 서버를 통해 확장 가능한 내장 도구를 제공합니다.
설정
도구는 opencode.json의 permission 필드를 통해 관리됩니다:
"allow"- 승인 없이 실행"deny"- 실행 방지"ask"- 사용자 승인 필요
{
"permission": {
"edit": "ask",
"bash": "ask"
}
}와일드카드 패턴 지원: 여러 도구에 대해 "mcp_*".
내장 도구
파일 작업
| 도구 | 목적 |
|---|---|
| read | 파일 내용 가져오기 |
| write | 파일 생성 또는 덮어쓰기 |
| edit | 정확한 문자열 교체 |
| patch | diff 및 패치 적용 |
검색 및 발견
| 도구 | 목적 |
|---|---|
| grep | 정규 표현식으로 검색 |
| glob | 패턴으로 파일 찾기 |
| list | 디렉토리 내용 나열 |
실행 및 통합
| 도구 | 목적 |
|---|---|
| bash | 쉘 명령어 실행 |
| lsp | 코드 인텔리전스 (실험적) |
특수 도구
| 도구 | 목적 |
|---|---|
| skill | SKILL.md 내용 로드 |
| webfetch | 웹 페이지 가져오기 |
| question | 사용자에게 질문 |
| todowrite/todoread | 작업 목록 관리 |
파일 무시
기본적으로 검색 도구는 .gitignore를 따릅니다. 일반적으로 무시되는 디렉토리 검색을 허용하려면 .ignore 파일을 생성하세요.