# GLM 간단 호출 스크립트 구현 (MCP 대신 2번 방식)

## 배경
- 3번(OpenClaw) → 기존에 잘 되다가 문제 발생
- 1번(MCP) → task-1141.1에서 구현했으나 토큰 많이 소비, 과한 구조
- **2번(단순 python 스크립트)** → 가장 가벼운 방식으로 전환

## 구현

### 파일: `/home/jay/workspace/tools/glm-call.py`

```
python3 /home/jay/workspace/tools/glm-call.py --role backend --task "파일 내용" --model glm-5
python3 /home/jay/workspace/tools/glm-call.py --role frontend --task-file /path/to/task.md --model glm-4.7-flash
```

### 핵심 요구사항:
1. z.ai API 직접 호출 (OpenAI 호환, requests/urllib)
2. API Key: 환경변수 `GLM_API_KEY` 또는 `.env.keys`에서 로드
3. API URL: `https://api.z.ai/api/coding/paas/v4/chat/completions`
4. 역할별 system prompt 내장:
   - `--role backend` → 백엔드 개발자
   - `--role frontend` → 프론트엔드 개발자
   - `--role uxui` → UX/UI 디자이너
   - `--role tester` → 테스터
   - `--role general` → 범용 (기본값)
5. `--task "텍스트"` 또는 `--task-file 파일경로` 지원
6. `--model` 선택: glm-5(기본), glm-4.7, glm-4.7-flash, glm-4.7-flashx
7. `--max-tokens` 옵션 (기본 8192)
8. `--output` 옵션으로 결과를 파일로 저장 가능
9. stdout으로 결과 출력 (다른 스크립트에서 파이프 가능)
10. 에러 시 exit code 1 + stderr에 에러 메시지

### 사용 예시:
```bash
# 팀장(라)이 Claude Code Bash tool로 호출:
python3 /home/jay/workspace/tools/glm-call.py \
  --role backend \
  --task-file /home/jay/workspace/memory/tasks/task-1146.1.md \
  --model glm-5 \
  --output /home/jay/workspace/teams/dev8/output.md
```

### API Key:
- 현재 키: `.env.keys`의 `GLM_API_KEY` 사용
- 키 로드: `dotenv` 또는 직접 파싱

## 8팀 워크플로우 업데이트
- GLM-WORKFLOW.md에서 MCP tool 호출 → `glm-call.py` Bash 호출로 변경
- 팀장(라)이 Bash tool로 `python3 glm-call.py --role backend --task-file ...` 호출
- run-glm.sh 래퍼도 glm-call.py 기반으로 업데이트

## 테스트
- 새 API 키로 glm-5 호출 테스트
- 각 role별 system prompt 동작 확인
- task-file 입력 테스트
- output 파일 저장 테스트

## task-timer
- task_id: task-1151.1
- team: dev2-team
