Dulus
An AI agent for your desktop and terminal, on any model you choose. Hosted models run on Fuel, paid in $DULUS.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗사진에서 헤어라인·두피 노출을 관찰하고, 가상의 모발 변화를 비교하는 로컬 웹앱입니다. 사용자 제공 리디 디자인 문서를 바탕으로 전체 화면을 정리한 디자인.md와 개발자 관점의 스킬 규칙.md를 적용했습니다. 기존 브랜드 파랑 #0066FF를 유지합니다.
이 작업 폴더에는 Python 3.12 가상환경과 모발 분할 모델이 준비되어 있습니다. PowerShell에서 실행하세요.
.\.venv\Scripts\python.exe app.py
브라우저에서 http://127.0.0.1:8000 으로 접속합니다. VS Code Live Server는 Python API를 실행하지 않으므로 index.html을 직접 열거나 Live Server 주소로 접속하면 분석 기능이 작동하지 않습니다. 서버를 종료하려면 실행 터미널에서 Ctrl+C를 누릅니다.
현재 기준은 디자인.md, 전체 구성의 원문 참고 자료는 리디 디자인 문서입니다. 버튼·입력·선택 컨트롤은 추가 요청한 One UI 세부 요소 기준을 적용합니다. 이전 공통·분석 디자인 기준은 참고 이력으로 보관합니다.
/api/dashboard에서 실제 계정 요약을 읽으며 비로그인 상태는 숫자 대신 로그인 안내를 표시합니다. 검색·정렬·페이지 이동은 받은 최근 기록 4개 안에서 처리하며 검색 범위를 표시합니다. 전체 기록은 기존 기록 모달을 열고 개별 기록은 /analysis?report=<ID>로 이동합니다. 계정 전환 때 이전 데이터를 지우고 늦은 응답을 무시하며, 기록·학습 실시간 변경과 새로고침 버튼으로 현황을 갱신합니다. AI 분석이나 사진 전송을 자동 실행하지 않습니다.static/styles.css, 메인 전용은 static/dashboard.css에서 관리합니다.상단 사진 분석 또는 메인 화면의 사진 분석 시작을 누르면 http://127.0.0.1:8000/analysis 로 이동합니다. 사진 선택·촬영·분석 결과는 분석 페이지에서 확인하며, 가상 편집은 별도 변화 미리보기 페이지를 제공합니다.
리포트의 병원 찾기 / 약·치료제 안내 버튼은 최대 800px의 진료 안내 모달에서 해당 탭을 엽니다. 내 주변 병원 보기를 누르면 현재 위치를 확인하고 두 번째 모달에 가까운 병원 목록·주소·전화·등록 운영 시간을 표시합니다. 소수 셋째 자리의 위치로 같은 서버의 심평원 공개 자료를 검색하며 위치를 저장하거나 외부 지도에 보내지 않습니다. 자료는 2026-09-30 기준 피부과 전문의 신고기관 1,744곳이며 실제 운영·진료 여부는 방문 전에 확인해야 합니다. 약 탭의 기존 소개 사진 3개와 공통 출처·상담 블록을 제거하고 제품 20개 각각에 실제 사진을 연결했습니다. 제품 포장 사진 19개·실제 낱알 식별 사진 1개이며, 이미지를 누르면 크게 볼 수 있고 각 카드에 사진 출처를 표시합니다. 목록은 2열·600px 이하 1열입니다. 제품별 사진 출처에 정리했습니다. 두 모달은 닫기·Esc·배경 클릭·포커스 복귀와 키보드 조작을 지원합니다. 요청 검증·상태 초기화는 추천 로직을 따릅니다.
분석 페이지에서 사진을 선택한 뒤 사진 도구 모음의 변화 비교를 누르면 선택한 원본을 새 편집 페이지로 가져갑니다. 이 버튼을 누를 때만 브라우저 IndexedDB에 사진 한 장을 임시 보관하고, 무작위 일회용 키로 전달한 뒤 읽는 즉시 삭제합니다. 5분이 지난 전달은 거절하고 다음 접근 때 정리하며, 로그인 계정이 달라진 경우에도 읽지 않고 삭제합니다. 일반 메뉴 이동은 사진을 가져가지 않습니다. 서버에 전달용 사진을 저장하지 않습니다.
메인 내 기록에서 리포트를 선택하면 /analysis?report=<기록 ID>로 이동해 본인 계정의 저장된 리포트를 불러옵니다. 이때 AI를 다시 호출하지 않고 원본 사진을 복원하지 않습니다. 비로그인 상태는 로그인 후 분석 주소로 돌아옵니다. 기존 /#analysis는 분석 페이지로, /#simulation·/analysis#simulation은 변화 미리보기 페이지로 연결합니다.
상단 변화 미리보기는 http://127.0.0.1:8000/simulation 으로 이동합니다. 사진 선택·카메라 촬영 → 부위와 강도·편집 방식 선택 → 원본과 비교·PNG 저장 순서로 사용합니다.
관찰 프롬프트 버전은 hair-observation-v5-scalp-reference입니다. 이마 피부와 모발 영역 안의 두피 노출, 선택 부위의 가림과 조명·각도 영향을 별도로 기록합니다. 근거가 충돌하거나 부위가 충분히 보이지 않으면 판단을 보류하며, 이마 높이·M자 형태만으로 선천적 헤어라인과 탈모를 구분하지 않습니다. 사진 분석은 최대 2048px·JPEG 품질 95로 처리하고 단색 입력은 AI 호출 전에 거절합니다. 기존 관찰 정책은 사진 관찰 고도화, 확대 두피 참고 모델은 공통 두피 학습 모델에 정리했습니다. 실제 사진의 임상 성능이나 이전 버전 대비 일반 헤어라인 정확도 향상을 측정한 것은 아닙니다.
상단 이용 안내는 http://127.0.0.1:8000/guide 로 이동합니다. 로그인 없이 사용 순서, 촬영 규격, 기능별 사진 처리·저장 방식과 FAQ를 확인할 수 있습니다. 분석 화면의 촬영 안내는 /guide#photo-guide로 연결하며, 예전 /#guide 북마크도 새 페이지로 이동합니다.
/guide#faq-history 같은 질문 주소는 해당 답변을 펼쳐 보여 줍니다. 페이지 목차는 데스크톱에서 본문 패널 안의 읽는 위치를, 작은 화면에서는 페이지의 읽는 위치를 표시합니다. 좁은 화면에서는 목차를 본문 위에 배치합니다.화면 구성은 유지하고 로그인한 계정의 실시간 알림 연결을 추가했습니다. 기존 Flask·Waitress HTTP 서버는 그대로 사용하며, websockets의 스레드 서버를 같은 프로세스의 별도 로컬 포트에서 실행합니다. 기존과 같이 python app.py로 두 서버를 함께 시작합니다.
http://127.0.0.1:8000ws://127.0.0.1:8001/ws (기본값)GET /api/realtime → enabled, port, path.env의 ENABLE_WEBSOCKET=false로 끌 수 있고 WEBSOCKET_PORT로 포트를 바꿀 수 있습니다. 포트 미지정 시 HTTP 포트 다음 번호를 사용합니다. HTTP와 웹소켓은 서로 다른 포트를 사용합니다.This is the beginning of the README. Read the rest at the original. Read the full README ↗