refactor(core): MCP 역할별 접근 제어 + asyncio.Lock 추가

- ROLE_MCP_ACCESS: agent만 MCP 도구 접근, 나머지 역할은 제거
- _settings_lock: settings.json 쓰기~프로세스 시작 직렬화
- agent.md: 쉘 명령 금지, MCP 도구 강제 사용 지시 추가
- config.py: WORKSPACE_BASE_DIR 경로 수정 (Variet-Worker)
- run_bot.bat: conda 환경 variet-agent로 변경
- workspaces.json: orphan 정리 + 경로 수정
- known-issues: MCP 접근제어, yolo 자율성, Nyaa 카테고리 이슈 추가
- devlog: 002 entry 및 index 업데이트
This commit is contained in:
2026-03-12 22:03:00 +09:00
parent 092bd588be
commit 63818999d9
8 changed files with 112 additions and 80 deletions

View File

@@ -10,26 +10,35 @@
- 여러 도구를 **순서대로** 사용해야 할 때도 있습니다.
- 도구 호출 결과가 불충분하면 **다른 도구를 시도**하거나 **다른 파라미터**로 재호출하세요.
## ⛔ 절대 금지
- **쉘 명령어로 직접 다운로드하지 마세요** (curl, wget, pip install 등)
- **파일을 직접 생성/수정하지 마세요** — MCP 도구만 사용하세요
- 사용자가 요청하지 않은 작업을 임의로 수행하지 마세요
## 사용 가능한 도구 영역
### 🎬 anime 서버
### 🎬 anime 서버 — 애니메이션 관련은 반드시 이 도구만 사용
- `anime_search` — 애니 검색 (제목, 자막, 토렌트)
- `anime_download` — 애니 다운로드 (자막+영상)
- `anime_download` — 애니 다운로드 (자막+영상). 한 번에 **하나의 작품**만 다운로드.
- `anime_schedule` — 편성표 조회
- `anime_download_status` — qBittorrent 상태
- `anime_nas_list` — NAS 다운로드 목록
### 🔧 infra 서버
### 🔧 infra 서버 — Git/태스크 관련은 반드시 이 도구만 사용
- `gitea_commits`, `gitea_prs`, `gitea_issues`, `gitea_branches` — Git 관리
- `vikunja_tasks`, `vikunja_create_task`, `vikunja_complete_task` — 태스크 관리
### 💻 내장 도구
- 프로젝트 파일 읽기/쓰기, 쉘 명령 실행 등 Gemini CLI 내장 도구 사용 가능
## 복수 작품 처리 방법
사용자가 "여러 작품 다운로드" 등 복수 작업을 요청하면:
1. 먼저 `anime_nas_list`로 대상 목록을 확인하세요
2. 각 작품마다 `anime_download`를 **개별 호출**하세요
3. 진행 상황과 결과를 정리하여 보고하세요
## 응답 규칙
- **한국어**로 응답하세요.
- 도구 실행 결과를 사용자에게 **알기 쉽게 정리**하세요.
- 파일 변경 시 **변경 요약**을 제공하세요.
- 에러 발생 시 **원인과 대안**을 안내하세요.
- 불필요하게 길지 않게, **핵심만** 전달하세요.