Skip to content

terrykim12/Coding_helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Advanced AI Coding Helper

LangGraph + MCP + OpenRouter 기반의 고급 AI 코딩 도우미 프로젝트

완전 통합된 AI 코딩 워크플로우: 코드 분석, 보안 스캔, 자동 수정, 테스트까지 원스톱으로 처리

🎯 주요 특징

🛡️ 종합 보안 스캔

  • Semgrep: 5,000+ 규칙 기반 정적 분석
  • VS Code: 빌드 오류 및 경고 감지
  • ZeroPath: 엔터프라이즈 취약점 검색
  • 보안 점수: 100점 만점 기준 자동 평가

🔍 지능형 코드 분석

  • Code Analysis MCP: 자연어 기반 코드 탐색
  • VS Code MCP: 에디터 인텔리센스 통합
  • 의존성 분석: 패키지 취약점 검사
  • 코드 품질: 자동 리팩토링 제안

🐍 Python 실행 환경

  • Run Python MCP: 안전한 Python 코드 실행
  • 인터랙티브 디버깅: 실시간 코드 테스트
  • 결과 검증: 자동화된 테스트 실행

🚧 개발 상태

✅ 완료된 기능

  • 프로젝트 구조 정리
  • LangGraph 워크플로우 완전 구현
  • FastAPI 서버 + CORS + SSE 프록시
  • MCP 서버 완전 통합 (9개 서버)
  • 보안 스캔 워크플로우
  • React 대시보드
  • Docker 설정
  • 포괄적 테스트 스위트

🔄 최적화 중인 기능

  • ZeroPath MCP 서버 설정
  • 성능 최적화
  • 에러 핸들링 개선

📋 예정된 기능

  • 모니터링 대시보드 고도화
  • Railway 배포 자동화
  • 추가 MCP 서버 통합

📋 프로젝트 개요

이 프로젝트는 LangGraph를 사용하여 복잡한 코딩 작업을 자동화하는 AI 도우미입니다. MCP(Model Context Protocol)를 통해 다양한 도구들을 통합하고, OpenRouter를 통해 여러 LLM을 활용합니다.

🏗️ 아키텍처

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   FastAPI       │    │   LangGraph     │    │   MCP Servers   │
│   (API Server)  │◄──►│   (Workflow)    │◄──►│   (9개 서버)    │
│   + CORS + SSE  │    │   + 보안스캔    │    │   + 보안도구    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         ▼                       ▼                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   React 대시보드 │    │   Checkpointer  │    │   OpenRouter    │
│   + 모니터링    │    │   (State)       │    │   (LLM API)     │
└─────────────────┘    └─────────────────┘    └─────────────────┘

🔄 워크플로우 플로우

Plan → Dispatch → Gather → Init Repo → VS Code Diag → Code Analysis 
→ Fix → Comprehensive Security → (Apply Patches) → Critic → Python Runner 
→ Approve → Test → E2E → GitHub PR

📁 프로젝트 구조

핵심 애플리케이션

  • app.py - LangGraph 워크플로우 정의 (메인 그래프)
  • run_advanced.py - FastAPI 서버 (메인 엔트리포인트)
  • config.py - 통합 설정 관리 (Pydantic 기반)
  • main.py - 기본 실행 스크립트

MCP 통합 (9개 서버)

  • mcp_config.json - MCP 서버 설정 (GitHub, Playwright, TaskMaster, Semgrep, Code Analysis, VS Code, Run Python, ZeroPath)
  • mcp_utils.py - MCP 도구 유틸리티
  • tools_mcp.py - 새로운 MCP 도구 노드들 (보안 스캔, 코드 분석, Python 실행)
  • e2e_check_node.py - Playwright E2E 테스트 노드
  • planner_taskmaster.py - TaskMaster 기반 계획 수립

인증 및 보안

  • auth_mw.py - JWT 인증 미들웨어
  • authz_hooks.py - 권한 부여 훅
  • permissions.json - 권한 설정

데이터 관리

  • persistence.py - 체크포인터 관리 (Memory/Redis/Postgres)
  • ttl_policy.py - TTL 정책 관리
  • accounting.py - OpenRouter 사용량 추적

모니터링 및 피드백

  • feedback_logging.py - LangSmith 피드백 로깅
  • monitoring.py - 시스템 모니터링
  • observability.py - 관찰성 도구

테스트

  • tests/ - 테스트 파일들
    • test_advanced.py - 고급 기능 테스트
    • test_e2e.py - E2E 테스트
    • test_status_tools.py - 상태/도구 API 테스트
    • test_tracing.py - 트레이싱 테스트

배포 및 운영

  • Dockerfile - Docker 이미지 빌드
  • docker-compose.yml - 로컬 개발 환경
  • service.json - Railway 배포 설정
  • langgraph.json - LangGraph 서버 설정

🚀 빠른 시작

1. 환경 설정

# 의존성 설치
pip install -r requirements.txt

# MCP 서버 의존성 설치
pip install uv
uv tool install mcp-run-python

# 환경변수 설정
copy env.example .env

2. 환경변수 설정 (.env 파일)

# 필수 API 키
OPENROUTER_API_KEY=your_openrouter_key
OPENAI_API_KEY=your_openai_key

# 선택적 API 키
SEMGREP_API_KEY=your_semgrep_key
ZEROPATH_TOKEN_ID=your_zeropath_token_id
ZEROPATH_TOKEN_SECRET=your_zeropath_token_secret
ZEROPATH_ORG_ID=your_zeropath_org_id

3. 서버 실행

# 메인 서버 실행
python main.py

# 또는 직접 실행
python src/run_advanced.py

4. 대시보드 실행 (선택사항)

# React 대시보드 실행
cd dashboard
npm install
npm run dev
# http://localhost:5173 에서 접속

5. Docker 실행 (전체 스택)

# 전체 스택 실행
docker-compose up -d

# 개별 서비스 실행
docker-compose up redis postgres
python main.py

🔧 주요 기능

1. LangGraph 워크플로우

  • 계획 수립 - TaskMaster MCP를 통한 작업 분해
  • 작업 수집 - GitHub, 파일시스템 등에서 정보 수집
  • 수정 및 테스트 - 코드 수정 및 테스트 실행
  • E2E 검증 - Playwright를 통한 UI 테스트
  • 승인 프로세스 - HITL(Human-in-the-Loop) 승인

2. MCP 통합 (9개 서버)

  • TaskMaster - 작업 계획 및 분해
  • GitHub - 코드 저장소 관리
  • FileSystem - 파일 시스템 접근
  • Runner - 명령어 실행
  • Playwright - 브라우저 자동화
  • Semgrep - 보안 취약점 스캔 (5,000+ 규칙)
  • Code Analysis - 자연어 기반 코드 분석
  • VS Code - 에디터 인텔리센스 통합
  • Run Python - 안전한 Python 코드 실행
  • ZeroPath - 엔터프라이즈 보안 검사 (선택)

3. 모니터링 및 추적

  • LangSmith - LLM 호출 추적
  • OpenRouter - 사용량 및 비용 추적
  • 피드백 시스템 - 사용자 피드백 수집

📊 API 엔드포인트

기본 엔드포인트

  • GET /health - 서버 상태 확인
  • GET /tools - 사용 가능한 MCP 도구 목록
  • POST /run - 워크플로우 실행

상태 관리

  • GET /status/{thread_id} - 스레드 상태 조회
  • GET /usage/{thread_id} - 사용량 조회
  • GET /usage/limits - API 제한 확인

메트릭 및 모니터링

  • GET /metrics/costs/summary - 비용 요약 (24시간)
  • GET /metrics/costs/timeseries - 비용 시계열 데이터
  • GET /plans/recent - 최근 계획 결과
  • GET /mcp/sse - MCP SSE 프록시

피드백

  • POST /feedback/approval - 승인 피드백
  • POST /feedback/quality - 품질 피드백
  • POST /feedback/error - 오류 피드백

🔐 보안 기능

인증

  • JWT 토큰 기반 인증
  • API 키 인증
  • 사용자 역할 기반 접근 제어

권한 관리

  • 리소스별 권한 설정
  • 작업별 권한 검증
  • 동적 권한 부여

🐳 배포 옵션

로컬 개발

python run_advanced.py

Docker Compose

docker-compose up -d

Railway 배포

# Railway CLI 설치 후
railway login
railway init
railway up

📈 모니터링

LangSmith 대시보드

  • 워크플로우 실행 추적
  • LLM 호출 분석
  • 성능 메트릭

OpenRouter 대시보드

  • 토큰 사용량
  • 비용 분석
  • API 제한 모니터링

🧪 테스트

단위 테스트

pytest tests/

통합 테스트

pytest tests/test_advanced.py -v

E2E 테스트

pytest tests/test_e2e.py -v

📚 추가 문서

🚀 빠른 시작

📁 프로젝트 구조

🔧 기술 문서

🤝 기여하기

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

📄 라이선스

MIT License

🆘 지원

문제가 발생하면 TROUBLESHOOTING_GUIDE.md를 참조하거나 이슈를 생성해주세요.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors