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:
@@ -3,3 +3,6 @@
|
||||
| # | 시간 | 작업 | 커밋 | 상태 |
|
||||
|---|------|------|------|------|
|
||||
| 001 | 16:45 | MCP 기반 에이전트 아키텍처 재설계 — unified.md 분류기 → Gemini CLI + MCP 자율 에이전트 전환 | `246d2a2` | ✅ |
|
||||
| 002 | 18:30 | MCP 역할별 접근 제어 + asyncio.Lock 추가, run_bot.bat 환경 수정, 아키텍처 정밀 검토 | - | 🔧 |
|
||||
| 003 | 19:30 | 봇 실행 테스트 — fastapi 설치, workspace 경로 수정, 에이전트 자율성 문제 발견 | - | 🔧 |
|
||||
| 004 | 20:00 | 아키텍처 재분석 — MCP vs 구조화 파이프라인 vs Python 도구 직접 제공 방식 비교 검토 | - | 🔧 |
|
||||
|
||||
24
docs/devlog/entries/20260312-002.md
Normal file
24
docs/devlog/entries/20260312-002.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# MCP 역할별 접근 제어 + 아키텍처 재분석
|
||||
|
||||
- **시간**: 2026-03-12 18:30~21:59
|
||||
- **Commit**: (이번 커밋에 포함)
|
||||
- **Vikunja**: 신규 태스크 생성 예정
|
||||
|
||||
## 결정 사항
|
||||
|
||||
### MCP 역할별 접근 제어 (구현 완료)
|
||||
- `ROLE_MCP_ACCESS` dict로 agent만 MCP 도구 접근 허용
|
||||
- `asyncio.Lock`으로 settings.json 쓰기~프로세스 시작 구간 직렬화
|
||||
- 나머지 역할(coder, reviewer 등)은 MCP 제거됨
|
||||
|
||||
### 아키텍처 방향성 (검토중)
|
||||
- **MCP 방식의 문제**: `--approval-mode yolo`에서 에이전트가 쉘/파일 조작 무제한 → 음악/만화 다운 등 예측 불가 동작
|
||||
- **검토 중인 대안**: MCP 대신 Python 도구를 소스코드로 직접 제공 → Gemini CLI가 읽고 이해하여 사용
|
||||
- **핵심 원칙**: "프롬프트는 부탁, 코드는 법률" → 안전장치는 도구 코드 레벨에 구현
|
||||
|
||||
## 미완료
|
||||
- [ ] 아키텍처 최종 결정 (MCP → Python 도구 직접 제공 방식 전환)
|
||||
- [ ] Nyaa 검색 카테고리 `1_2`로 변경
|
||||
- [ ] NAS 기존 폴더 매칭 로직 추가
|
||||
- [ ] discord_bot.py dead code ~572줄 정리
|
||||
- [ ] config.py .env 따옴표 처리
|
||||
Reference in New Issue
Block a user