60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
# Tech Stack
|
|
|
|
> AI 에이전트는 구현 전 이 문서를 확인하여 올바른 기술/버전을 사용합니다.
|
|
|
|
## 언어 & 런타임
|
|
|
|
| 항목 | 버전 | 비고 |
|
|
|------|------|------|
|
|
| Python | 3.12+ | `C:\ProgramData\miniforge3\envs\agent_chat\python.exe` |
|
|
| Gemini CLI | v0.32+ (AI Ultra) | `gemini --model gemini-3-flash-preview` |
|
|
|
|
## 프레임워크
|
|
|
|
| 항목 | 버전 | 용도 |
|
|
|------|------|------|
|
|
| FastAPI | 최신 | REST API 서버 |
|
|
| discord.py | 2.x | Discord Bot |
|
|
| uvicorn | 최신 | ASGI 서버 |
|
|
| httpx | 최신 | 비동기 HTTP 클라이언트 (tools/) |
|
|
|
|
## 패키지 관리
|
|
|
|
- 패키지 매니저: pip (conda env `agent_chat`)
|
|
- 의존성 파일: `requirements.txt`
|
|
- 가상환경: `C:\ProgramData\miniforge3\envs\agent_chat`
|
|
|
|
## 개발 도구
|
|
|
|
| 도구 | 명령어 |
|
|
|------|--------|
|
|
| 봇 실행 | `run_bot.bat` 또는 `C:\ProgramData\miniforge3\envs\agent_chat\python.exe main.py` |
|
|
| 테스트 | `C:\ProgramData\miniforge3\envs\agent_chat\python.exe -m pytest tests/ -v` |
|
|
| Vikunja 조회 | `C:\ProgramData\miniforge3\envs\agent_chat\python.exe .agents\workflows\helpers\vikunja_helper.py list todo` |
|
|
|
|
## 환경 변수 (.env)
|
|
|
|
| 변수명 | 용도 | 기본값 |
|
|
|--------|------|--------|
|
|
| DISCORD_BOT_TOKEN | Discord 봇 토큰 | (필수) |
|
|
| API_HOST | API 서버 호스트 | 0.0.0.0 |
|
|
| API_PORT | API 서버 포트 | 8000 |
|
|
| GITEA_URL | Gitea 서버 | https://git.variet.net |
|
|
| GITEA_TOKEN | Gitea API 토큰 | (필수) |
|
|
| GITEA_REPO | Gitea 저장소 | Variet/variet-agent |
|
|
| VIKUNJA_URL | Vikunja 서버 | https://plan.variet.net |
|
|
| VIKUNJA_TOKEN | Vikunja API 토큰 | (필수) |
|
|
| VIKUNJA_PROJECT_ID | Vikunja 프로젝트 ID | 7 |
|
|
| QBIT_URL | qBittorrent URL | http://localhost:8080 |
|
|
| NAS_ANIME_PATH | NAS 애니 경로 | \\\\192.168.10.10\NasData\Video\Animation |
|
|
|
|
## 외부 서비스
|
|
|
|
| 서비스 | URL | 용도 |
|
|
|--------|-----|------|
|
|
| Gitea | git.variet.net | Git 저장소, PR, CI |
|
|
| Vikunja | plan.variet.net | 태스크 관리 (프로젝트 #7) |
|
|
| Anissia | anissia.net | 애니 편성표/자막 |
|
|
| Nyaa | nyaa.si | 토렌트 검색 |
|
|
| qBittorrent | localhost:8080 | 토렌트 다운로드 |
|