feat: Pipeline 전면 개선 — 병렬실행, Batch Review, 총평, 대화기억, 스마트라우팅
- GeminiCaller: cmd/c 제거, 인자 분리, Semaphore(4) 동시성 제어, GeminiCallError - TaskPipeline: asyncio.gather 병렬 코딩, batch_review 1회, summarize 총평 - FileApplier: Coder 출력 파싱 → 실제 파일 적용 (경로 보안 체크) - Discord Bot: on_message 자동채팅, 의도분류(chat/task/clarify), 대화기억(10메시지) - Prompts: router.md (의도분류), summarizer.md (총평) - Workflows: agent_chat 환경 경로 업데이트
This commit is contained in:
@@ -1,24 +1,24 @@
|
||||
---
|
||||
description: 프로젝트 전체 작업 현황을 종합 체크하는 워크플로우 (Git + Vikunja + 로컬)
|
||||
description: ?„로?<3F>트 ?„ì²´ ?‘ì—… ?„황??종합 ì²´í<C2B4>¬?˜ëŠ” ?Œí<C592>¬?Œë¡œ??(Git + Vikunja + 로컬)
|
||||
---
|
||||
|
||||
# 프로젝트 현황 종합 체크
|
||||
# ?„로?<3F>트 ?„황 종합 ì²´í<C2B4>¬
|
||||
|
||||
"작업상황 체크", "현황 확인", "status check" 등 요청 시 이 워크플로우를 실행합니다.
|
||||
"?‘ì—…?<3F>황 ì²´í<C2B4>¬", "?„황 ?•ì<E280A2>¸", "status check" ???”ì² ?????Œí<C592>¬?Œë¡œ?°ë? ?¤í–‰?©ë‹ˆ??
|
||||
|
||||
// turbo-all
|
||||
|
||||
## 절차
|
||||
## ?ˆì°¨
|
||||
|
||||
1. Git 로컬 상태 확인:
|
||||
1. Git 로컬 ?<3F>태 ?•ì<E280A2>¸:
|
||||
```powershell
|
||||
git -C "c:\Users\CafeVariet-GL552VW\Desktop\source_diff\variet-agent" status --short
|
||||
git -C "c:\Users\Certes\Desktop\variet-agent" status --short
|
||||
```
|
||||
```powershell
|
||||
git -C "c:\Users\CafeVariet-GL552VW\Desktop\source_diff\variet-agent" log --oneline -5
|
||||
git -C "c:\Users\Certes\Desktop\variet-agent" log --oneline -5
|
||||
```
|
||||
|
||||
2. Vikunja 태스크 현황 조회:
|
||||
2. Vikunja ?œìФ???„황 조회:
|
||||
```powershell
|
||||
$h = @{Authorization="Bearer tk_070f8e0b715e818bb7178c3815ed5389040eddca"}
|
||||
$tasks = Invoke-RestMethod -Uri "https://plan.variet.net/api/v1/projects/7/tasks?per_page=50" -Headers $h
|
||||
@@ -28,7 +28,7 @@ Write-Host "=== Vikunja: TODO $($todo.Count), DONE $($done.Count) ==="
|
||||
$todo | ForEach-Object { Write-Host " #$($_.id) $($_.title)" }
|
||||
```
|
||||
|
||||
3. Gitea 최근 커밋 확인 (리모트):
|
||||
3. Gitea 최근 커밋 ?•ì<E280A2>¸ (리모??:
|
||||
```powershell
|
||||
$h = @{Authorization="token 3a01b4b15a39921572e64c413353e870d4d2161b"}
|
||||
$commits = Invoke-RestMethod -Uri "https://git.variet.net/api/v1/repos/Variet/variet-agent/commits?limit=5&sha=main" -Headers $h
|
||||
@@ -36,8 +36,8 @@ Write-Host "=== Gitea: Recent Commits ==="
|
||||
$commits | ForEach-Object { Write-Host " $($_.sha.Substring(0,7)) $($_.commit.message.Split("`n")[0])" }
|
||||
```
|
||||
|
||||
4. 결과를 종합하여 사용자에게 보고:
|
||||
- 로컬 uncommitted 변경 여부
|
||||
- 로컬 vs 리모트 커밋 차이
|
||||
- TODO 태스크 목록 + 우선순위
|
||||
- 다음 작업 제안
|
||||
4. ê²°ê³¼ë¥?종합?˜ì—¬ ?¬ìš©?<3F>ì—<C3AC>ê²?ë³´ê³ :
|
||||
- 로컬 uncommitted ë³€ê²??¬ë?
|
||||
- 로컬 vs 리모??커밋 ì°¨ì<C2A8>´
|
||||
- TODO ?œìФ??목ë¡<C3AB> + ?°ì„ ?œìœ„
|
||||
- ?¤ì<C2A4>Œ ?‘ì—… ?œì•ˆ
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
---
|
||||
description: Vikunja API로 Variet Agent 프로젝트 태스크 현황을 조회하는 워크플로우
|
||||
description: Vikunja APIë¡?Variet Agent ?„로?<3F>트 ?œìФ???„황??조회?˜ëŠ” ?Œí<C592>¬?Œë¡œ??
|
||||
---
|
||||
|
||||
# Vikunja 태스크 현황 조회
|
||||
# Vikunja ?œìФ???„황 조회
|
||||
|
||||
서비스 정보는 `.agent/workflows/services.md` 참조.
|
||||
?œë¹„???•ë³´??`.agent/workflows/services.md` 참조.
|
||||
|
||||
// turbo-all
|
||||
|
||||
## 절차
|
||||
## ?ˆì°¨
|
||||
|
||||
1. 간편 조회 (TODO/DONE 리스트):
|
||||
1. 간편 조회 (TODO/DONE 리스??:
|
||||
```powershell
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe .agent\workflows\vikunja_helper.py list
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe .agent\workflows\vikunja_helper.py list
|
||||
```
|
||||
|
||||
2. TODO만 조회:
|
||||
2. TODO�조회:
|
||||
```powershell
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe .agent\workflows\vikunja_helper.py list todo
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe .agent\workflows\vikunja_helper.py list todo
|
||||
```
|
||||
|
||||
3. DONE만 조회:
|
||||
3. DONE�조회:
|
||||
```powershell
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe .agent\workflows\vikunja_helper.py list done
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe .agent\workflows\vikunja_helper.py list done
|
||||
```
|
||||
|
||||
4. 태스크 완료 처리 (**⚠️ 반드시 이 방법 사용 — 직접 API 호출 금지**):
|
||||
4. ?œìФ???„료 처리 (**? ï¸<C3AF> 반드????방법 ?¬ìš© ??ì§<C3AC>ì ‘ API ?¸ì¶œ 금ì?**):
|
||||
```powershell
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe .agent\workflows\vikunja_helper.py done {TASK_ID}
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe .agent\workflows\vikunja_helper.py done {TASK_ID}
|
||||
```
|
||||
여러 태스크 동시:
|
||||
?¬ëŸ¬ ?œìФ???™ì‹œ:
|
||||
```powershell
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe .agent\workflows\vikunja_helper.py done 71 77 78
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe .agent\workflows\vikunja_helper.py done 71 77 78
|
||||
```
|
||||
|
||||
5. 태스크 코멘트 추가:
|
||||
5. ?œìФ??코멘??ì¶”ê?:
|
||||
```powershell
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe .agent\workflows\vikunja_helper.py comment {TASK_ID} "내용"
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe .agent\workflows\vikunja_helper.py comment {TASK_ID} "?´ìš©"
|
||||
```
|
||||
|
||||
6. 새 태스크 생성:
|
||||
6. ???œìФ???<3F>성:
|
||||
```powershell
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe .agent\workflows\vikunja_helper.py create "제목" "설명"
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe .agent\workflows\vikunja_helper.py create "?œëª©" "?¤ëª…"
|
||||
```
|
||||
|
||||
> [!CAUTION]
|
||||
> **절대로** `Invoke-RestMethod -Method Post -Body '{"done": true}'` 같은 직접 API 호출을 사용하지 마세요.
|
||||
> Vikunja API는 POST 시 body에 포함되지 않은 필드를 빈값으로 덮어씁니다.
|
||||
> `vikunja_helper.py`는 항상 GET → 기존 필드 보존 → POST 패턴을 사용하여 title/description 보존을 보장합니다.
|
||||
> **?ˆë?ë¡?* `Invoke-RestMethod -Method Post -Body '{"done": true}'` ê°™ì? ì§<C3AC>ì ‘ API ?¸ì¶œ???¬ìš©?˜ì? 마세??
|
||||
> Vikunja API??POST ??body???¬í•¨?˜ì? ?Šì? ?„드ë¥?빈값?¼ë¡œ ??–´?<3F>니??
|
||||
> `vikunja_helper.py`????ƒ<> GET ??기존 ?„드 ë³´ì¡´ ??POST ?¨í„´???¬ìš©?˜ì—¬ title/description ë³´ì¡´??보장?©ë‹ˆ??
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
---
|
||||
description: 개발 서버 실행 방법
|
||||
description: 개발 ?œë²„ ?¤í–‰ 방법
|
||||
---
|
||||
|
||||
## 환경 설정
|
||||
## ?˜ê²½ ?¤ì •
|
||||
|
||||
1. Python 환경 활성화
|
||||
1. Python ?˜ê²½ ?œì„±??
|
||||
// turbo
|
||||
```
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe -m pip install -r requirements.txt
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
2. API 서버 실행
|
||||
2. API ?œë²„ ?¤í–‰
|
||||
```
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe -m uvicorn api.server:app --reload --host 0.0.0.0 --port 8100
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe -m uvicorn api.server:app --reload --host 0.0.0.0 --port 8100
|
||||
```
|
||||
|
||||
3. Discord Bot 실행 (별도 터미널)
|
||||
3. Discord Bot ?¤í–‰ (별ë<E2809E>„ ?°ë???
|
||||
```
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe -m api.discord_bot
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe -m api.discord_bot
|
||||
```
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
---
|
||||
description: 테스트 실행 방법
|
||||
description: ?ŒìФ???¤í–‰ 방법
|
||||
---
|
||||
|
||||
## 단위 테스트
|
||||
## ?¨ìœ„ ?ŒìФ??
|
||||
// turbo
|
||||
```
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe -m pytest tests/ -v
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe -m pytest tests/ -v
|
||||
```
|
||||
|
||||
## Context Manager 효과 테스트
|
||||
## Context Manager ?¨ê³¼ ?ŒìФ??
|
||||
```
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe -m tests.test_context_manager
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe -m tests.test_context_manager
|
||||
```
|
||||
|
||||
## Task Pipeline E2E
|
||||
```
|
||||
C:\ProgramData\miniforge3\envs\quant\python.exe -m tests.test_pipeline_e2e
|
||||
C:\ProgramData\miniforge3\envs\agent_chat\python.exe -m tests.test_pipeline_e2e
|
||||
```
|
||||
|
||||
## Gemini CLI 연동 테스트
|
||||
## Gemini CLI ?°ë<C2B0>™ ?ŒìФ??
|
||||
```
|
||||
gemini -p "Hello, respond with 'OK'" --approval-mode yolo -o json
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user