Skip to content

Installation

Danny edited this page Apr 11, 2026 · 1 revision

Installation

세 가지 설치/실행 경로가 있다. 목적에 따라 고르면 된다.

경로 적합한 상황
Docker 이미지 바로 실행 단순 체험, 최신 prod 이미지로 즉시 구동
로컬 Python 실행 코드 수정, 디버깅, 테스트 (pytest ETC/tests)
Docker Compose 빌드 소스 변경 사항을 이미지에 반영해서 돌려보고 싶을 때

모든 경로의 WebUI 포트는 8501 이다. 접속: http://localhost:8501.

1. Docker 이미지 바로 실행 (권장)

docker pull leesk212/coding-ai-agent-v5:latest
docker run -d \
  --name dannys-coding-ai-agent \
  -p 8501:8501 \
  -e MEMORY_DIR=/data/memory \
  -e STATE_DIR=/data/state \
  -e DEEPAGENTS_DEPLOYMENT_TOPOLOGY=split \
  -e MAX_SUBAGENTS=30 \
  -v $(pwd)/workspace:/workspace \
  -v coding-agent-memory:/data/memory \
  -v coding-agent-state:/data/state \
  -v coding-agent-deepagents:/root/.deepagents \
  -w /workspace \
  leesk212/coding-ai-agent-v5:latest
  • 볼륨 3개 가 장기 상태를 보존: coding-agent-memory (Chroma+메모리 DB), coding-agent-state (SQLite state store), coding-agent-deepagents (DeepAgents 런타임 캐시)
  • 호스트 workspace 바인드: 컨테이너 안 /workspace 가 호스트의 ./workspace/ 와 공유됨 → 산출물을 호스트에서 직접 열람 가능

Apple Silicon 사용자: 이미지는 멀티 아키텍처 manifest 를 지원해야 한다. linux/arm64 레이어가 포함되어 있는지 확인. 없으면 QEMU 에뮬레이션으로 느려짐.

2. 로컬 Python 실행

git clone https://github.com/leesk212/dannys-coding-ai-agent-final.git
cd dannys-coding-ai-agent-final
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
python -m coding_agent
  • .[dev] extra 는 런타임 의존성 + 검증용 pytest함께 설치한다 (pyproject.toml[project.optional-dependencies])
  • 테스트가 필요 없으면 pip install -e . 만 해도 앱 구동은 가능
  • python -m coding_agent 는 내부적으로 streamlit run webui/app.py 를 실행 (src/coding_agent/__main__.py:31-61)

첫 실행 흐름

  1. 브라우저에서 http://localhost:8501 접속
  2. OpenRouter API Key 입력
  3. 필요 시 Fallback 설정
  4. Start Danny's Chat
  5. DeepAgents runtime initialize (prewarm)
  6. Chat 진입

3. Docker Compose 빌드 실행

docker compose up --build

docker-compose.yml 에 정의된 서비스:

서비스 역할
coding-agent 메인 앱 컨테이너. 빌드하면 로컬 소스로 이미지 새로 만들고, 풀만 하면 hub 이미지 사용
ollama (profile: with-ollama) local SLM 을 붙이고 싶을 때만 활성화: docker compose --profile with-ollama up

컨테이너 이름: dannys-coding-ai-agent (일관성을 위해 docker run 예시와 동일하게 맞춤).

4. 환경변수 전체 표

변수 기본값 설명
OPENROUTER_API_KEY (필수) Primary 모델 키
OLLAMA_BASE_URL http://localhost:11434 (docker: http://ollama:11434) Local SLM fallback endpoint
LOCAL_FALLBACK_MODEL qwen2.5-coder:7b Ollama 모델명
MEMORY_DIR ~/.coding_agent/memory (docker: /data/memory) 메모리 DB 경로
STATE_DIR ~/.coding_agent/state (docker: /data/state) SQLite state store 경로
DEEPAGENTS_DEPLOYMENT_TOPOLOGY split split / single / hybrid
LANGGRAPH_DEPLOYMENT_URL (비어있음) single topology 일 때만 사용
LANGGRAPH_ASSISTANT_ID supervisor single topology 의 LangGraph assistant id
ASYNC_SUBAGENT_HOST 127.0.0.1 local subagent 서버 바인드 host
ASYNC_SUBAGENT_BASE_PORT 30240 local subagent 포트 시작값 (역할당 1 포트)
MAX_SUBAGENTS 30 동시 SubAgent 한도
CODING_AGENT_DEBUG 0 상세 로그 출력
CODING_AGENT_PORT 8501 호스트 포트 (compose 에서만 사용)
CODING_AGENT_IMAGE leesk212/coding-ai-agent-v5:latest compose 에서 사용할 이미지 태그

.env.example 을 복사하여 .env 로 만든 뒤 편집하면 compose / 로컬 python 양쪽에서 동일하게 읽힌다 (langgraph.json 의 "env": ".env" 설정).

5. 장기 상태를 어디에 둘 것인가

세션을 재시작해도 메모리가 유지되려면 MEMORY_DIRSTATE_DIR영속 디렉터리여야 한다.

  • Docker: 위 예시대로 named volume 3개 사용 → 컨테이너 재생성해도 데이터 유지
  • 로컬 Python: 기본값 ~/.coding_agent/{memory,state} → 로컬 사용자 홈에 저장
  • Temporary 실험: MEMORY_DIR=/tmp/.coding_agent/memory 로 덮어쓰면 재부팅 시 초기화 가능

6. 빠른 확인

설치가 성공했는지 확인하는 가장 빠른 방법:

.venv/bin/python -c "import coding_agent; print('OK')"
.venv/bin/python -m pytest -q ETC/tests

두 번째 명령이 30 passed 로 끝나면 런타임 + 검증 환경이 모두 정상이다. Testing and Development 참고.

Clone this wiki locally