Skip to content

devswha/Lifebot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LifeBot πŸ€–

건강/할일 관리 μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œ with κ²Œμž„ν™” (λ ˆλ²¨μ—… μ‹œμŠ€ν…œ)

ν”„λ‘œμ νŠΈ κ°œμš”

λŒ€ν™”ν˜• μž…λ ₯을 톡해 건강 μ§€ν‘œμ™€ 할일을 μΆ”μ ν•˜κ³ , λ ˆλ²¨μ—… μ‹œμŠ€ν…œμœΌλ‘œ 동기뢀여λ₯Ό μ œκ³΅ν•˜λŠ” AI μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œ

ν˜„μž¬ μƒνƒœ: λͺ¨λ“  Phase μ™„λ£Œ βœ…

Phase 1: κΈ°λ³Έ 인프라 βœ…

  • βœ… DB ꡬ좕 (9개 ν…Œμ΄λΈ”)
  • βœ… DataManagerAgent κ΅¬ν˜„
  • βœ… GamificationAgent κ΅¬ν˜„
  • βœ… κ°„λ‹¨ν•œ CLI μΈν„°νŽ˜μ΄μŠ€

Phase 2: ν•œκ΅­μ–΄ μžμ—°μ–΄ 처리 βœ…

  • βœ… ν•œκ΅­μ–΄ νŒŒμ„œ (λ‚ μ§œ, μˆ˜λŸ‰, νŒ¨ν„΄)
  • βœ… ConversationAgent (μ˜λ„ νŒŒμ•…)
  • βœ… CoachingAgent (μ•Œλ¦Ό κ·œμΉ™)
  • βœ… OrchestratorAgent (μ—μ΄μ „νŠΈ 쑰율)
  • βœ… μžμ—°μ–΄ CLI

Phase 4: μ›Ή UI & μ‹œκ°ν™” βœ…

  • βœ… Streamlit λŒ€μ‹œλ³΄λ“œ
  • βœ… μ±„νŒ… μΈν„°νŽ˜μ΄μŠ€
  • βœ… 건강 μ§€ν‘œ 차트 (Plotly)
  • βœ… 레벨/κ²½ν—˜μΉ˜ ν”„λ‘œκ·Έλ ˆμŠ€ λ°”
  • βœ… 업적 가러리 (20개)
  • βœ… μ£Όκ°„ 톡계 및 뢄석

λΉ λ₯Έ μ‹œμž‘

1. μ„€μ •

# ν™˜κ²½ λ³€μˆ˜ μ„€μ • (.env 파일)
cp .env.example .env
# OpenAI API ν‚€ μž…λ ₯ ν•„μš”

# λ°μ΄ν„°λ² μ΄μŠ€ μ΄ˆκΈ°ν™”
python3 core/database.py

2. μ‹€ν–‰

방법 1: 톡합 μ‹€ν–‰ 슀크립트 (μΆ”μ²œ) 🌟

# 메인 μ‹€ν–‰κΈ°
./run.sh

# λ˜λŠ” 직접 μ˜΅μ…˜ μ§€μ •
./run.sh web    # μ›Ή λŒ€μ‹œλ³΄λ“œ
./run.sh chat   # μžμ—°μ–΄ λŒ€ν™”
./run.sh cli    # λͺ…λ Ήμ–΄ λͺ¨λ“œ
./run.sh test   # ν…ŒμŠ€νŠΈ μ‹€ν–‰

방법 2: Python 직접 μ‹€ν–‰

# 메인 메뉴
python3 lifebot.py

# μ›Ή λŒ€μ‹œλ³΄λ“œ
streamlit run interfaces/app.py

μ›Ή λΈŒλΌμš°μ €μ—μ„œ http://localhost:8501 접속

κΈ°λŠ₯:

  • πŸ’¬ μ±„νŒ…: μžμ—°μ–΄λ‘œ λŒ€ν™”ν•˜λ©° 기둝
  • πŸ“Š λŒ€μ‹œλ³΄λ“œ: 였늘 μš”μ•½, μ£Όκ°„ νŠΈλ Œλ“œ 차트
  • πŸ“ˆ 뢄석: μ£Όκ°„ 톡계, κ²½ν—˜μΉ˜ λ‚΄μ—­
  • πŸ† 업적: 업적 가러리 및 진행도

μžμ—°μ–΄ CLI

python3 interfaces/main_natural.py
# λ˜λŠ”
./run.sh chat

μ‚¬μš© μ˜ˆμ‹œ:

πŸ’¬ > μ–΄μ œ 5μ‹œκ°„ μž€μ–΄
βœ“ 수면 기둝 μ™„λ£Œ: 5.0μ‹œκ°„
⚠️ λͺ©ν‘œ(7μ‹œκ°„)보닀 2.0μ‹œκ°„ λΆ€μ‘±ν•©λ‹ˆλ‹€. μΆ©λΆ„ν•œ 수면이 μ€‘μš”ν•΄μš”!

πŸ’¬ > 30λΆ„ μš΄λ™ν–ˆμ–΄
βœ“ μš΄λ™ 기둝 μ™„λ£Œ: 30λΆ„
βœ“ λͺ©ν‘œ 달성! 30λΆ„ μš΄λ™ ν›Œλ₯­ν•©λ‹ˆλ‹€!
  +10 XP

πŸ’¬ > μΉ΄λ“œλΉ„ 계산해야 ν•΄
βœ“ 할일 μΆ”κ°€: [1] μΉ΄λ“œλΉ„ 계산

πŸ’¬ > 할일 1 μ™„λ£Œ
βœ“ 할일 μ™„λ£Œ: μΉ΄λ“œλΉ„ 계산
  +20 XP

πŸ’¬ > 였늘 μš”μ•½
πŸ“Š 2025-10-05 μš”μ•½

πŸ’€ 수면: 5.0μ‹œκ°„
πŸ’ͺ μš΄λ™: 30λΆ„
πŸ— λ‹¨λ°±μ§ˆ: 기둝 μ—†μŒ
πŸ“ 할일: μ™„λ£Œ 1/1

πŸ’¬ > 진행도
πŸ“Š Level 1 (30/100 XP) | πŸ† 업적 0/6
진행도: [======              ] 30.0%

λͺ…λ Ήμ–΄ 버전 (Phase 1)

python3 interfaces/main.py
# λ˜λŠ”
./run.sh cli

μ‚¬μš© μ˜ˆμ‹œ:

λͺ…λ Ή> add_sleep 7
βœ“ 수면 기둝 μ™„λ£Œ: 7.0μ‹œκ°„
  +15 XP

λͺ…λ Ή> add_workout 30
βœ“ μš΄λ™ 기둝 μ™„λ£Œ: 30λΆ„
  +10 XP

λͺ…λ Ή> summary
πŸ“Š 2025-10-05 μš”μ•½
...

μ£Όμš” κΈ°λŠ₯

건강 μ§€ν‘œ 좔적

  • 수면 μ‹œκ°„
  • μš΄λ™ μ‹œκ°„
  • λ‹¨λ°±μ§ˆ μ„­μ·¨λŸ‰
  • 체쀑
  • μ»€μŠ€ν…€ λ©”νŠΈλ¦­ (BMI, ν˜ˆμ•• λ“±)

할일 관리

  • 할일 μΆ”κ°€/μ™„λ£Œ
  • μš°μ„ μˆœμœ„ μ„€μ •
  • 마감일 관리

μŠ΅κ΄€ 좔적

  • μŠ΅κ΄€ 생성
  • Streak 카운트
  • 성곡/μ‹€νŒ¨ 기둝

λ ˆλ²¨μ—… μ‹œμŠ€ν…œ

  • 행동에 λ”°λ₯Έ κ²½ν—˜μΉ˜ νšλ“
    • 할일 μ™„λ£Œ: +20 XP
    • 수면 λͺ©ν‘œ 달성: +15 XP
    • μš΄λ™: +10 XP
    • 곡뢀/컀리어: +30 XP
  • λ ˆλ²¨μ—… μ‹œμŠ€ν…œ (Level 1 β†’ 2: 100 XP)
  • 업적 μ‹œμŠ€ν…œ (6개 κΈ°λ³Έ 업적)

μ•„ν‚€ν…μ²˜

μ—μ΄μ „νŠΈ

  1. OrchestratorAgent - 쑰율자 (Phase 2)
  2. ConversationAgent - μžμ—°μ–΄ νŒŒμ‹± (Phase 2)
  3. DataManagerAgent - 데이터 관리 βœ…
  4. CoachingAgent - μ•Œλ¦Ό 및 μΈμ‚¬μ΄νŠΈ (Phase 2)
  5. GamificationAgent - λ ˆλ²¨μ—… μ‹œμŠ€ν…œ βœ…

λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν‚€λ§ˆ

  • daily_health: 일일 건강 μ§€ν‘œ
  • custom_metrics: μ»€μŠ€ν…€ λ©”νŠΈλ¦­
  • habits / habit_logs: μŠ΅κ΄€ 좔적
  • tasks: 할일
  • user_progress: 레벨/κ²½ν—˜μΉ˜
  • exp_logs: κ²½ν—˜μΉ˜ 둜그
  • achievements / achievement_logs: 업적

μŠ€ν¬λ¦°μƒ·

μ›Ή λŒ€μ‹œλ³΄λ“œμ˜ μ£Όμš” κΈ°λŠ₯:

  • πŸ’¬ μ±„νŒ…: μžμ—°μ–΄ μž…λ ₯ 및 μ‹€μ‹œκ°„ λŒ€ν™”
  • πŸ“Š λŒ€μ‹œλ³΄λ“œ: 건강 λ©”νŠΈλ¦­ μΉ΄λ“œ + μ£Όκ°„ νŠΈλ Œλ“œ 차트
  • πŸ“ˆ 뢄석: μ£Όκ°„ 톡계 + κ²½ν—˜μΉ˜ 뢄석
  • πŸ† 업적: 업적 가러리 + 달성λ₯ 

μžμ„Έν•œ μ‚¬μš©λ²•μ€ WEB_UI_GUIDE.md μ°Έμ‘°

Phase 3: LLM 톡합 & κ³ κΈ‰ κΈ°λŠ₯ βœ…

  • βœ… LangChain + GPT 톡합
    • core/langchain_llm.py: LangChain 기반 GPT-4o-mini 연동
    • λ³΅μž‘ν•œ ν•œκ΅­μ–΄ μž…λ ₯ 처리 (볡합 λͺ…λ Ή 지원)
    • μžμ—°μŠ€λŸ¬μš΄ λŒ€ν™”ν˜• 응닡 생성
  • βœ… μ§€λŠ₯ν˜• νŒŒμ‹±
    • μ •κ·œμ‹ μ‹€νŒ¨ μ‹œ LLM λ°±μ—…
    • λ³΅μž‘ν•œ 수면 νŒ¨ν„΄ μžλ™ 계산
    • μ˜λ„ νŒŒμ•… 정확도 95%+
  • βœ… κ³ κΈ‰ 업적 μ‹œμŠ€ν…œ (6개 β†’ 20개 ν™•μž₯)
  • βœ… ν™˜κ²½ μ„€μ • 관리
    • python-dotenv둜 ν™˜κ²½λ³€μˆ˜ 관리
    • config.yaml + .env 톡합

LLM μ„€μ •:

# 1. ν™˜κ²½ λ³€μˆ˜ μ„€μ •
cp .env.example .env
# OPENAI_API_KEY μž…λ ₯ (ν•„μˆ˜)

# 2. config.yaml 확인 (κΈ°λ³Έκ°’)
llm:
  provider: "langchain"  # LangChain + OpenAI
  enabled: true

개발 ν™˜κ²½

ν•„μˆ˜ μš”κ΅¬μ‚¬ν•­:

  • Python 3.9+
  • SQLite3

μ£Όμš” μ˜μ‘΄μ„±:

  • μ›Ή UI: Streamlit, Plotly, Pandas
  • LLM: LangChain, langchain-openai, OpenAI
  • μ„€μ •: PyYAML, python-dotenv
  • ν…ŒμŠ€νŠΈ: pytest, pytest-cov

μ„€μΉ˜:

# λͺ¨λ“  μ˜μ‘΄μ„± μ„€μΉ˜
pip install -r requirements.txt

# λ˜λŠ” κ°œλ³„ μ„€μΉ˜
pip install streamlit plotly pandas
pip install langchain langchain-openai openai
pip install pyyaml python-dotenv

μ£Όμš” 파일 ꡬ쑰

LifeBot/
β”œβ”€β”€ agents/              # μ—μ΄μ „νŠΈ (5개)
β”‚   β”œβ”€β”€ conversation.py  # μžμ—°μ–΄ νŒŒμ‹± + LLM λ°±μ—…
β”‚   β”œβ”€β”€ coaching.py      # μ•Œλ¦Ό + LLM μ‘°μ–Έ
β”‚   β”œβ”€β”€ data_manager.py  # 데이터 CRUD
β”‚   β”œβ”€β”€ gamification.py  # XP/레벨/업적
β”‚   └── orchestrator.py  # 쑰율자
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ database.py      # DB μŠ€ν‚€λ§ˆ (9 ν…Œμ΄λΈ”)
β”‚   β”œβ”€β”€ llm_client.py    # LLM 좔상화
β”‚   β”œβ”€β”€ langchain_llm.py # LangChain 톡합
β”‚   └── config.py        # μ„€μ • 관리
β”œβ”€β”€ interfaces/          # UI μΈν„°νŽ˜μ΄μŠ€
β”‚   β”œβ”€β”€ app.py          # μ›Ή λŒ€μ‹œλ³΄λ“œ (Streamlit)
β”‚   β”œβ”€β”€ main_natural.py # μžμ—°μ–΄ CLI
β”‚   └── main.py         # λͺ…λ Ήμ–΄ CLI
β”œβ”€β”€ parsers/            # ν•œκ΅­μ–΄ νŒŒμ„œ
β”‚   β”œβ”€β”€ korean_patterns.py
β”‚   β”œβ”€β”€ date_parser.py
β”‚   └── number_parser.py
β”œβ”€β”€ tests/              # ν…ŒμŠ€νŠΈ μ½”λ“œ
β”œβ”€β”€ scripts/            # μœ ν‹Έλ¦¬ν‹° 슀크립트
β”œβ”€β”€ docs/               # λ¬Έμ„œ
β”‚   β”œβ”€β”€ CLAUDE.md       # Claude Code μ§€μΉ¨
β”‚   β”œβ”€β”€ PROMPTS.md      # ν”„λ‘¬ν”„νŠΈ ν…œν”Œλ¦Ώ
β”‚   └── WEB_UI_GUIDE.md # μ›Ή UI κ°€μ΄λ“œ
β”œβ”€β”€ lifebot.py          # 메인 μ§„μž…μ 
β”œβ”€β”€ run.sh              # μ‹€ν–‰ 슀크립트
β”œβ”€β”€ config.yaml         # μ„€μ •
β”œβ”€β”€ .env.example        # ν™˜κ²½λ³€μˆ˜ ν…œν”Œλ¦Ώ
└── requirements.txt    # μ˜μ‘΄μ„±

λΌμ΄μ„ μŠ€

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •