feat(bot,bridge): P1 !auto 토글 자동승인 + P2 BridgeTransport 추상화 #task-304 #task-305
P1: !auto 토글 (bot.py + extension.ts)
- auto_approve_projects set으로 프로젝트별 상태 관리
- !auto → on/off 토글, pending 자동 승인 + 🤖 자동 승인됨 embed
- Extension step_probe에서 autoApproveEnabled 시 직접 tryApprovalStrategies
P2: BridgeTransport 추상화 (bridge.py)
- BridgeTransport ABC + LocalTransport (기존 동작 100% 호환)
- RemoteTransport 스켈레톤 (multi-PC 대비)
- config.py BOT_MODE/REMOTE_BRIDGE_URL, main.py transport 주입
docs: usage-guide.md + tech-stack.md Python 경로 기록
This commit is contained in:
@@ -5,3 +5,6 @@
|
||||
| 001 | 00:00~00:20 | Discord 릴레이 미작동 진단 — config.py BRAIN_PATH 빈문자열 버그 수정 | `pending` | ✅ |
|
||||
| 002 | 00:20~01:05 | 크로스 프로젝트 pending DEDUP MERGE 버그 진단 및 수정 (project_name 가드 3곳) | `pending` | ✅ |
|
||||
| 003 | 09:25~09:33 | Auto-approve 기능 감사 (미구현 확인) + Vikunja 태스크 #304, #305 등록 | `pending` | ✅ |
|
||||
| 004 | 10:00~10:35 | P1: `!auto` 토글 자동 승인 구현 (bot.py + extension.ts) | `pending` | ✅ |
|
||||
| 005 | 10:35~10:45 | P2: BridgeTransport 추상화 (bridge.py 리팩토링 + config/main 모드 설정) | `pending` | ✅ |
|
||||
| 006 | 10:43~10:55 | 사용 가이드 작성 (docs/usage-guide.md) + tech-stack.md Python 경로 기록 | `pending` | ✅ |
|
||||
|
||||
127
docs/usage-guide.md
Normal file
127
docs/usage-guide.md
Normal file
@@ -0,0 +1,127 @@
|
||||
# Gravity Control 사용 가이드
|
||||
|
||||
## 시작하기
|
||||
|
||||
### 1. 봇 실행
|
||||
|
||||
```batch
|
||||
start_bot.bat
|
||||
```
|
||||
또는:
|
||||
```powershell
|
||||
C:\ProgramData\miniforge3\envs\gravity_control\python.exe main.py
|
||||
```
|
||||
|
||||
### 2. Extension 설치
|
||||
|
||||
```powershell
|
||||
cd extension
|
||||
cmd /c npm run compile
|
||||
cmd /c npx vsce package
|
||||
# 생성된 .vsix 파일을 VS Code에서 설치
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Discord 명령어
|
||||
|
||||
### 채팅 명령어 (메시지 입력)
|
||||
|
||||
| 명령어 | 설명 |
|
||||
|--------|------|
|
||||
| `!auto` | 자동 승인 토글 (on/off 반복) |
|
||||
| `!stop` | AG 에이전트 중단 |
|
||||
| 그 외 텍스트 | AG에 직접 메시지 전달 |
|
||||
|
||||
### 슬래시 명령어
|
||||
|
||||
| 명령어 | 설명 |
|
||||
|--------|------|
|
||||
| `/auto` | 자동 승인 토글 (on/off 반복) |
|
||||
| `/stop` | AG 에이전트 중단 |
|
||||
|
||||
---
|
||||
|
||||
## 자동 승인 (`!auto`)
|
||||
|
||||
Discord에서 `!auto` 를 입력할 때마다 on↔off 토글됩니다.
|
||||
|
||||
### 동작
|
||||
|
||||
- **OFF (기본)**: 승인 요청마다 Discord에 ✅/❌ 버튼 표시 → 클릭하여 수동 승인
|
||||
- **ON**: 승인 요청 시 자동으로 승인 → Discord에 `🤖 자동 승인됨` 표시
|
||||
|
||||
```
|
||||
사용자: !auto
|
||||
봇: 🟢 자동 승인 모드
|
||||
프로젝트: gravity_control
|
||||
모든 승인 요청이 자동으로 승인됩니다
|
||||
|
||||
사용자: !auto
|
||||
봇: 🔴 수동 승인 모드
|
||||
프로젝트: gravity_control
|
||||
모든 승인 요청이 수동 확인이 필요합니다
|
||||
```
|
||||
|
||||
### 자동 승인 시 Discord 표시
|
||||
|
||||
```
|
||||
🤖 자동 승인됨
|
||||
┌─────────────────────────────┐
|
||||
│ run_command: npm run build │
|
||||
└─────────────────────────────┘
|
||||
auto-approve | 1741678...
|
||||
```
|
||||
|
||||
> **주의**: 봇 재시작 시 auto-approve 상태는 초기화됩니다 (기본 OFF).
|
||||
|
||||
---
|
||||
|
||||
## 아키텍처
|
||||
|
||||
```
|
||||
[AG IDE] ← Extension → bridge/ ← Bot → Discord
|
||||
│ │
|
||||
└── step_probe └── pending 스캔
|
||||
(WAITING 감지) (자동 승인 처리)
|
||||
```
|
||||
|
||||
### Bridge 프로토콜
|
||||
|
||||
```
|
||||
~/.gemini/antigravity/bridge/
|
||||
├── pending/ Extension → Bot (승인 요청)
|
||||
├── response/ Bot → Extension (승인 결과)
|
||||
├── commands/ Bot → Extension (사용자 명령)
|
||||
└── register/ Extension → Bot (세션 매핑)
|
||||
```
|
||||
|
||||
### Bot Mode
|
||||
|
||||
| 모드 | 설정 | 설명 |
|
||||
|------|------|------|
|
||||
| `local` (기본) | `BOT_MODE=local` | 로컬 파일시스템 bridge 사용 |
|
||||
| `remote` (미래) | `BOT_MODE=remote` | HTTP로 원격 bridge 폴링 (미구현) |
|
||||
|
||||
---
|
||||
|
||||
## 설정 (.env)
|
||||
|
||||
```env
|
||||
DISCORD_TOKEN=xxx # Discord 봇 토큰 (필수)
|
||||
DISCORD_GUILD_ID=xxx # Discord 서버 ID (필수)
|
||||
BRAIN_PATH= # AG 브레인 경로 (기본: ~/.gemini/antigravity/brain)
|
||||
BOT_MODE=local # 봇 모드 (local/remote)
|
||||
REMOTE_BRIDGE_URL= # 원격 브릿지 URL (remote 모드 전용)
|
||||
DEBOUNCE_SECONDS=2 # 이벤트 디바운스 (초)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 트러블슈팅
|
||||
|
||||
| 증상 | 해결 |
|
||||
|------|------|
|
||||
| `!auto` 했는데 자동 승인 안 됨 | Extension VSIX 재빌드 + 재설치 필요 |
|
||||
| 봇 재시작 후 auto가 꺼져있음 | 정상 — `!auto`로 다시 켜기 |
|
||||
| Python 못 찾음 | `C:\ProgramData\miniforge3\envs\gravity_control\python.exe` 사용 |
|
||||
Reference in New Issue
Block a user