-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
Danny edited this page Apr 11, 2026
·
1 revision
세 가지 설치/실행 경로가 있다. 목적에 따라 고르면 된다.
| 경로 | 적합한 상황 |
|---|---|
| Docker 이미지 바로 실행 | 단순 체험, 최신 prod 이미지로 즉시 구동 |
| 로컬 Python 실행 | 코드 수정, 디버깅, 테스트 (pytest ETC/tests) |
| Docker Compose 빌드 | 소스 변경 사항을 이미지에 반영해서 돌려보고 싶을 때 |
모든 경로의 WebUI 포트는 8501 이다. 접속: http://localhost:8501.
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 에뮬레이션으로 느려짐.
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)
- 브라우저에서
http://localhost:8501접속 -
OpenRouter API Key입력 - 필요 시
Fallback설정 Start Danny's Chat- DeepAgents runtime initialize (prewarm)
- Chat 진입
docker compose up --builddocker-compose.yml 에 정의된 서비스:
| 서비스 | 역할 |
|---|---|
coding-agent |
메인 앱 컨테이너. 빌드하면 로컬 소스로 이미지 새로 만들고, 풀만 하면 hub 이미지 사용 |
ollama (profile: with-ollama)
|
local SLM 을 붙이고 싶을 때만 활성화: docker compose --profile with-ollama up
|
컨테이너 이름: dannys-coding-ai-agent (일관성을 위해 docker run 예시와 동일하게 맞춤).
| 변수 | 기본값 | 설명 |
|---|---|---|
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" 설정).
세션을 재시작해도 메모리가 유지되려면 MEMORY_DIR 과 STATE_DIR 이 영속 디렉터리여야 한다.
- Docker: 위 예시대로 named volume 3개 사용 → 컨테이너 재생성해도 데이터 유지
-
로컬 Python: 기본값
~/.coding_agent/{memory,state}→ 로컬 사용자 홈에 저장 -
Temporary 실험:
MEMORY_DIR=/tmp/.coding_agent/memory로 덮어쓰면 재부팅 시 초기화 가능
설치가 성공했는지 확인하는 가장 빠른 방법:
.venv/bin/python -c "import coding_agent; print('OK')"
.venv/bin/python -m pytest -q ETC/tests두 번째 명령이 30 passed 로 끝나면 런타임 + 검증 환경이 모두 정상이다. Testing and Development 참고.
Danny's Coding AI Agent
- Home
- Architecture
- SubAgents
- Memory and HITL
- Resilience and Models
- Installation
- Testing and Development
- File Reference
External