c9068cdf1c42c27f9c4df8bf0169a27f189d8f33
- fix: apscheduler 누락 의존성 설치 - fix(main): StreamHandler cp949 UnicodeEncodeError 수정 (UTF-8 강제) - fix: workspaces.json 경로 Certes→Variet-Worker 수정 - fix(gemini): MCP issues detected 노이즈 필터 추가 - fix(bot): on_command_error 핸들러 추가 (CommandNotFound 로그 오염 방지) - feat(vikunja): projects 커맨드 (전체 프로젝트 목록+태스크 통계) - feat(vikunja): report 커맨드 (태스크+git log+devlog 종합 현황) - docs(agent): Vikunja 도구 섹션 확장 (12개 커맨드+라벨 가이드) - docs: known-issues 2건 추가, devlog 세션 1 기록
Variet Agent
AI Agent Team — Gemini CLI 기반 자동화 개발 에이전트 시스템
목표
사용자가 디스코드에서 추상적 명령을 주면, AI Agent Team이 작업을 분석/분해/실행하고, Gitea CI로 PR/빌드/배포까지 수행.
핵심 특징
- Context Manager: Gemini CLI의 Context Rot 문제 해결 (관련 파일만 선별 주입)
- 역할별 Headless 호출:
gemini -p로 매번 독립 컨텍스트 - API 추상화: Discord / Web UI 동일 파이프라인
- Gitea + Vikunja 연동: PR/CI/태스크 자동 관리
구조
api/ # FastAPI 서버 + Discord Bot
core/ # Orchestrator, Context Manager, Pipeline
integrations/ # Gitea, Vikunja, CI
prompts/ # 역할별 프롬프트
sessions/ # 작업 로그
docs/ # 설계 문서
AI Agent Roles
Variet Agent는 세 가지 전문화된 역할을 통해 협업합니다:
- Planner (
prompts/planner.md): 사용자의 추상적 요청을 분석하여 구체적이고 실행 가능한 태스크들로 분해합니다. 수정이 필요한 파일을 식별하고 작업의 우선순위와 리스크를 평가합니다. - Coder (
prompts/coder.md): Planner가 생성한 태스크와 관련 소스 코드를 바탕으로 실제 변경 사항을 구현합니다. 기존 스타일을 준수하며 완성된 파일 전체를 출력합니다. - Reviewer (
prompts/reviewer.md): 구현된 코드가 요구사항을 충족하는지, 버그나 엣지 케이스는 없는지 검토합니다. 코드 품질을 평가하고 승인(Pass) 여부와 개선 의견을 제시합니다.
환경
- Python 3.12+
- Gemini CLI v0.32+ (AI Ultra)
- Gitea: git.variet.net
- Vikunja: plan.variet.net/projects/7
시작
pip install -r requirements.txt
cp .env.example .env # 토큰 설정
python main.py # API + Discord Bot 실행
Description
Languages
Python
99.9%
Batchfile
0.1%