deepwiki-open / README.kr.md
bhavinmatariya's picture
Initial complete codebase with Git LFS for binary files
8e0dd55

DeepWiki-Open

DeepWiki Banner

DeepWiki๋Š” ์ œ๊ฐ€ ์ง์ ‘ ๊ตฌํ˜„ํ•œ ํ”„๋กœ์ ํŠธ๋กœ, GitHub, GitLab ๋˜๋Š” BitBucket ์ €์žฅ์†Œ์— ๋Œ€ํ•ด ์•„๋ฆ„๋‹ต๊ณ  ๋Œ€ํ™”ํ˜• ์œ„ํ‚ค๋ฅผ ์ž๋™ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค! ์ €์žฅ์†Œ ์ด๋ฆ„๋งŒ ์ž…๋ ฅํ•˜๋ฉด DeepWiki๊ฐ€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  1. ์ฝ”๋“œ ๊ตฌ์กฐ ๋ถ„์„
  2. ํฌ๊ด„์ ์ธ ๋ฌธ์„œ ์ƒ์„ฑ
  3. ๋ชจ๋“  ์ž‘๋™ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•˜๋Š” ์‹œ๊ฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ ์ƒ์„ฑ
  4. ์ด๋ฅผ ์‰ฝ๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„ํ‚ค๋กœ ์ •๋ฆฌ

"Buy Me A Coffee"

Twitter/X Discord

English | ็ฎ€ไฝ“ไธญๆ–‡ | ็น้ซ”ไธญๆ–‡ | ๆ—ฅๆœฌ่ชž | Espaรฑol | ํ•œ๊ตญ์–ด | Tiแบฟng Viแป‡t | Portuguรชs Brasileiro | Franรงais | ะ ัƒััะบะธะน

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ์ฆ‰์‹œ ๋ฌธ์„œํ™”: ์–ด๋–ค GitHub, GitLab ๋˜๋Š” BitBucket ์ €์žฅ์†Œ๋“  ๋ช‡ ์ดˆ ๋งŒ์— ์œ„ํ‚ค๋กœ ๋ณ€ํ™˜
  • ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ ์ง€์›: ๊ฐœ์ธ ์•ก์„ธ์Šค ํ† ํฐ์œผ๋กœ ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผ
  • ์Šค๋งˆํŠธ ๋ถ„์„: AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ๊ตฌ์กฐ ๋ฐ ๊ด€๊ณ„ ์ดํ•ด
  • ์•„๋ฆ„๋‹ค์šด ๋‹ค์ด์–ด๊ทธ๋žจ: ์•„ํ‚คํ…์ฒ˜์™€ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์‹œ๊ฐํ™”ํ•˜๋Š” ์ž๋™ Mermaid ๋‹ค์ด์–ด๊ทธ๋žจ
  • ์‰ฌ์šด ํƒ์ƒ‰: ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์œ„ํ‚ค ํƒ์ƒ‰ ๊ฐ€๋Šฅ
  • Ask ๊ธฐ๋Šฅ: RAG ๊ธฐ๋ฐ˜ AI์™€ ์ €์žฅ์†Œ์— ๋Œ€ํ•ด ๋Œ€ํ™”ํ•˜๋ฉฐ ์ •ํ™•ํ•œ ๋‹ต๋ณ€ ์–ป๊ธฐ
  • DeepResearch: ๋ณต์žกํ•œ ์ฃผ์ œ๋ฅผ ์ฒ ์ €ํžˆ ์กฐ์‚ฌํ•˜๋Š” ๋‹ค์ค‘ ํ„ด ์—ฐ๊ตฌ ํ”„๋กœ์„ธ์Šค
  • ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์ œ๊ณต์ž ์ง€์›: Google Gemini, OpenAI, OpenRouter, ๋กœ์ปฌ Ollama ๋ชจ๋ธ ์ง€์›

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘ (์ดˆ๊ฐ„๋‹จ!)

์˜ต์…˜ 1: Docker ์‚ฌ์šฉ

# ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open

# API ํ‚ค๋ฅผ ํฌํ•จํ•œ .env ํŒŒ์ผ ์ƒ์„ฑ
echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
# ์„ ํƒ ์‚ฌํ•ญ: OpenRouter ๋ชจ๋ธ ์‚ฌ์šฉ ์‹œ API ํ‚ค ์ถ”๊ฐ€
echo "OPENROUTER_API_KEY=your_openrouter_api_key" >> .env

# Docker Compose๋กœ ์‹คํ–‰
docker-compose up

๐Ÿ’ก API ํ‚ค๋Š” ์–ด๋””์„œ ์–ป๋‚˜์š”:

์˜ต์…˜ 2: ์ˆ˜๋™ ์„ค์ • (๊ถŒ์žฅ)

1๋‹จ๊ณ„: API ํ‚ค ์„ค์ •

ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— .env ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋‹ค์Œ ํ‚ค๋“ค์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

GOOGLE_API_KEY=your_google_api_key
OPENAI_API_KEY=your_openai_api_key
# ์„ ํƒ ์‚ฌํ•ญ: OpenRouter ๋ชจ๋ธ ์‚ฌ์šฉ ์‹œ ์ถ”๊ฐ€
OPENROUTER_API_KEY=your_openrouter_api_key

2๋‹จ๊ณ„: ๋ฐฑ์—”๋“œ ์‹œ์ž‘

# Python ์˜์กด์„ฑ ์„ค์น˜
pip install -r api/requirements.txt

# API ์„œ๋ฒ„ ์‹คํ–‰
python -m api.main

3๋‹จ๊ณ„: ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์ž‘

# JavaScript ์˜์กด์„ฑ ์„ค์น˜
npm install
# ๋˜๋Š”
yarn install

# ์›น ์•ฑ ์‹คํ–‰
npm run dev
# ๋˜๋Š”
yarn dev

4๋‹จ๊ณ„: DeepWiki ์‚ฌ์šฉํ•˜๊ธฐ!

  1. ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:3000 ์—ด๊ธฐ
  2. GitHub, GitLab ๋˜๋Š” Bitbucket ์ €์žฅ์†Œ ์ž…๋ ฅ (์˜ˆ: https://github.com/openai/codex, https://github.com/microsoft/autogen, https://gitlab.com/gitlab-org/gitlab, https://bitbucket.org/redradish/atlassian_app_versions)
  3. ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ์ธ ๊ฒฝ์šฐ "+ ์•ก์„ธ์Šค ํ† ํฐ ์ถ”๊ฐ€" ํด๋ฆญ ํ›„ GitHub ๋˜๋Š” GitLab ๊ฐœ์ธ ์•ก์„ธ์Šค ํ† ํฐ ์ž…๋ ฅ
  4. "Generate Wiki" ํด๋ฆญ ํ›„ ๋งˆ๋ฒ•์„ ์ง€์ผœ๋ณด๊ธฐ!

๐Ÿ” ์ž‘๋™ ๋ฐฉ์‹

DeepWiki๋Š” AI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  1. GitHub, GitLab ๋˜๋Š” Bitbucket ์ €์žฅ์†Œ ๋ณต์ œ ๋ฐ ๋ถ„์„ (ํ† ํฐ ์ธ์ฆ์ด ํ•„์š”ํ•œ ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ ํฌํ•จ)
  2. ์Šค๋งˆํŠธ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ์ฝ”๋“œ ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ
  3. ๋ฌธ๋งฅ ์ธ์ง€ AI๋กœ ๋ฌธ์„œ ์ƒ์„ฑ (Google Gemini, OpenAI, OpenRouter ๋˜๋Š” ๋กœ์ปฌ Ollama ๋ชจ๋ธ ์‚ฌ์šฉ)
  4. ์ฝ”๋“œ ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์‹œ๊ฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ ์ƒ์„ฑ
  5. ๋ชจ๋“  ๊ฒƒ์„ ๊ตฌ์กฐํ™”๋œ ์œ„ํ‚ค๋กœ ์ •๋ฆฌ
  6. Ask ๊ธฐ๋Šฅ์„ ํ†ตํ•œ ์ €์žฅ์†Œ์™€์˜ ์ง€๋Šฅํ˜• Q&A ์ง€์›
  7. DeepResearch๋กœ ์‹ฌ์ธต ์—ฐ๊ตฌ ๊ธฐ๋Šฅ ์ œ๊ณต
graph TD
    A[์‚ฌ์šฉ์ž๊ฐ€ GitHub/GitLab/Bitbucket ์ €์žฅ์†Œ ์ž…๋ ฅ] --> AA{๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ์ธ๊ฐ€?}
    AA -->|์˜ˆ| AB[์•ก์„ธ์Šค ํ† ํฐ ์ถ”๊ฐ€]
    AA -->|์•„๋‹ˆ์˜ค| B[์ €์žฅ์†Œ ๋ณต์ œ]
    AB --> B
    B --> C[์ฝ”๋“œ ๊ตฌ์กฐ ๋ถ„์„]
    C --> D[์ฝ”๋“œ ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ]

    D --> M{๋ชจ๋ธ ์ œ๊ณต์ž ์„ ํƒ}
    M -->|Google Gemini| E1[Gemini๋กœ ์ƒ์„ฑ]
    M -->|OpenAI| E2[OpenAI๋กœ ์ƒ์„ฑ]
    M -->|OpenRouter| E3[OpenRouter๋กœ ์ƒ์„ฑ]
    M -->|๋กœ์ปฌ Ollama| E4[Ollama๋กœ ์ƒ์„ฑ]

    E1 --> E[๋ฌธ์„œ ์ƒ์„ฑ]
    E2 --> E
    E3 --> E
    E4 --> E

    D --> F[์‹œ๊ฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ ์ƒ์„ฑ]
    E --> G[์œ„ํ‚ค๋กœ ์ •๋ฆฌ]
    F --> G
    G --> H[๋Œ€ํ™”ํ˜• DeepWiki]

    classDef process stroke-width:2px;
    classDef data stroke-width:2px;
    classDef result stroke-width:2px;
    classDef decision stroke-width:2px;

    class A,D data;
    class AA,M decision;
    class B,C,E,F,G,AB,E1,E2,E3,E4 process;
    class H result;

๐Ÿ› ๏ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

deepwiki/
โ”œโ”€โ”€ api/                  # ๋ฐฑ์—”๋“œ API ์„œ๋ฒ„
โ”‚   โ”œโ”€โ”€ main.py           # API ์ง„์ž…์ 
โ”‚   โ”œโ”€โ”€ api.py            # FastAPI ๊ตฌํ˜„
โ”‚   โ”œโ”€โ”€ rag.py            # Retrieval Augmented Generation
โ”‚   โ”œโ”€โ”€ data_pipeline.py  # ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ
โ”‚   โ””โ”€โ”€ requirements.txt  # Python ์˜์กด์„ฑ
โ”‚
โ”œโ”€โ”€ src/                  # ํ”„๋ก ํŠธ์—”๋“œ Next.js ์•ฑ
โ”‚   โ”œโ”€โ”€ app/              # Next.js ์•ฑ ๋””๋ ‰ํ† ๋ฆฌ
โ”‚   โ”‚   โ””โ”€โ”€ page.tsx      # ๋ฉ”์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŽ˜์ด์ง€
โ”‚   โ””โ”€โ”€ components/       # React ์ปดํฌ๋„ŒํŠธ
โ”‚       โ””โ”€โ”€ Mermaid.tsx   # Mermaid ๋‹ค์ด์–ด๊ทธ๋žจ ๋ Œ๋”๋Ÿฌ
โ”‚
โ”œโ”€โ”€ public/               # ์ •์  ์ž์‚ฐ
โ”œโ”€โ”€ package.json          # JavaScript ์˜์กด์„ฑ
โ””โ”€โ”€ .env                  # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ (์ง์ ‘ ์ƒ์„ฑ)

๐Ÿ› ๏ธ ๊ณ ๊ธ‰ ์„ค์ •

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๋ณ€์ˆ˜๋ช… ์„ค๋ช… ํ•„์ˆ˜ ๋น„๊ณ 
GOOGLE_API_KEY AI ์ƒ์„ฑ์šฉ Google Gemini API ํ‚ค ์˜ˆ
OPENAI_API_KEY ์ž„๋ฒ ๋”ฉ์šฉ OpenAI API ํ‚ค ์˜ˆ
OPENROUTER_API_KEY ๋Œ€์ฒด ๋ชจ๋ธ์šฉ OpenRouter API ํ‚ค ์•„๋‹ˆ์˜ค OpenRouter ๋ชจ๋ธ ์‚ฌ์šฉ ์‹œ ํ•„์š”
PORT API ์„œ๋ฒ„ ํฌํŠธ (๊ธฐ๋ณธ๊ฐ’: 8001) ์•„๋‹ˆ์˜ค API์™€ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๊ฐ™์€ ๋จธ์‹ ์—์„œ ํ˜ธ์ŠคํŒ… ์‹œ SERVER_BASE_URL์˜ ํฌํŠธ๋„ ๋ณ€๊ฒฝ ํ•„์š”
SERVER_BASE_URL API ์„œ๋ฒ„ ๊ธฐ๋ณธ URL (๊ธฐ๋ณธ๊ฐ’: http://localhost:8001) ์•„๋‹ˆ์˜ค

์„ค์ • ํŒŒ์ผ

DeepWiki๋Š” ์‹œ์Šคํ…œ์˜ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด JSON ์„ค์ • ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

  1. generator.json: ํ…์ŠคํŠธ ์ƒ์„ฑ ๋ชจ๋ธ ์„ค์ •

    • ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ ์ œ๊ณต์ž(Google, OpenAI, OpenRouter, Ollama) ์ •์˜
    • ๊ฐ ์ œ๊ณต์ž์˜ ๊ธฐ๋ณธ ๋ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ ์ง€์ •
    • temperature์™€ top_p ๊ฐ™์€ ๋ชจ๋ธ๋ณ„ ๋งค๊ฐœ๋ณ€์ˆ˜ ํฌํ•จ
  2. embedder.json: ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ๋ฐ ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ ์„ค์ •

    • ๋ฒกํ„ฐ ์ €์žฅ์†Œ์šฉ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ์ •์˜
    • RAG๋ฅผ ์œ„ํ•œ ๊ฒ€์ƒ‰๊ธฐ ์„ค์ • ํฌํ•จ
    • ๋ฌธ์„œ ์ฒญํ‚น์„ ์œ„ํ•œ ํ…์ŠคํŠธ ๋ถ„ํ• ๊ธฐ ์„ค์ • ์ง€์ •
  3. repo.json: ์ €์žฅ์†Œ ์ฒ˜๋ฆฌ ์„ค์ •

    • ํŠน์ • ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๋Š” ํŒŒ์ผ ํ•„ํ„ฐ ํฌํ•จ
    • ์ €์žฅ์†Œ ํฌ๊ธฐ ์ œํ•œ ๋ฐ ์ฒ˜๋ฆฌ ๊ทœ์น™ ์ •์˜

๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์€ api/config/ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. DEEPWIKI_CONFIG_DIR ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์น˜๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Docker ์„ค์ •

Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DeepWiki๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# GitHub ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ
docker pull ghcr.io/asyncfuncai/deepwiki-open:latest

# ํ™˜๊ฒฝ ๋ณ€์ˆ˜์™€ ํ•จ๊ป˜ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
docker run -p 8001:8001 -p 3000:3000 \
  -e GOOGLE_API_KEY=your_google_api_key \
  -e OPENAI_API_KEY=your_openai_api_key \
  -e OPENROUTER_API_KEY=your_openrouter_api_key \
  -v ~/.adalflow:/root/.adalflow \
  ghcr.io/asyncfuncai/deepwiki-open:latest

์ด ๋ช…๋ น์–ด๋Š” ๋˜ํ•œ ํ˜ธ์ŠคํŠธ์˜ ~/.adalflow๋ฅผ ์ปจํ…Œ์ด๋„ˆ์˜ /root/.adalflow์— ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:

  • ๋ณต์ œ๋œ ์ €์žฅ์†Œ (~/.adalflow/repos/)
  • ํ•ด๋‹น ์ €์žฅ์†Œ์˜ ์ž„๋ฒ ๋”ฉ ๋ฐ ์ธ๋ฑ์Šค (~/.adalflow/databases/)
  • ์ƒ์„ฑ๋œ ์œ„ํ‚ค์˜ ์บ์‹œ (~/.adalflow/wikicache/)

์ด๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ค‘์ง€๋˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ๋˜์–ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๋˜๋Š” ์ œ๊ณต๋œ docker-compose.yml ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

# API ํ‚ค๊ฐ€ ํฌํ•จ๋œ .env ํŒŒ์ผ์„ ๋จผ์ € ํŽธ์ง‘
docker-compose up

(docker-compose.yml ํŒŒ์ผ์€ ์œ„์˜ docker run ๋ช…๋ น์–ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ ์ง€์†์„ฑ์„ ์œ„ํ•ด ~/.adalflow๋ฅผ ๋งˆ์šดํŠธํ•˜๋„๋ก ๋ฏธ๋ฆฌ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.)

Docker์—์„œ .env ํŒŒ์ผ ์‚ฌ์šฉํ•˜๊ธฐ

.env ํŒŒ์ผ์„ ์ปจํ…Œ์ด๋„ˆ์— ๋งˆ์šดํŠธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

# API ํ‚ค๊ฐ€ ํฌํ•จ๋œ .env ํŒŒ์ผ ์ƒ์„ฑ
echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
echo "OPENROUTER_API_KEY=your_openrouter_api_key" >> .env

# .env ํŒŒ์ผ์„ ๋งˆ์šดํŠธํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
docker run -p 8001:8001 -p 3000:3000 \
  -v $(pwd)/.env:/app/.env \
  -v ~/.adalflow:/root/.adalflow \
  ghcr.io/asyncfuncai/deepwiki-open:latest

์ด ๋ช…๋ น์–ด๋Š” ๋˜ํ•œ ํ˜ธ์ŠคํŠธ์˜ ~/.adalflow๋ฅผ ์ปจํ…Œ์ด๋„ˆ์˜ /root/.adalflow์— ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:

  • ๋ณต์ œ๋œ ์ €์žฅ์†Œ (~/.adalflow/repos/)
  • ํ•ด๋‹น ์ €์žฅ์†Œ์˜ ์ž„๋ฒ ๋”ฉ ๋ฐ ์ธ๋ฑ์Šค (~/.adalflow/databases/)
  • ์ƒ์„ฑ๋œ ์œ„ํ‚ค์˜ ์บ์‹œ (~/.adalflow/wikicache/)

์ด๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ค‘์ง€๋˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ๋˜์–ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ์—์„œ Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œํ•˜๊ธฐ

๋กœ์ปฌ์—์„œ Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด:

# ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open

# Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ
docker build -t deepwiki-open .

# ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
docker run -p 8001:8001 -p 3000:3000 \
  -e GOOGLE_API_KEY=your_google_api_key \
  -e OPENAI_API_KEY=your_openai_api_key \
  -e OPENROUTER_API_KEY=your_openrouter_api_key \
  deepwiki-open

API ์„œ๋ฒ„ ์ƒ์„ธ ์ •๋ณด

API ์„œ๋ฒ„๋Š” ๋‹ค์Œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ์ €์žฅ์†Œ ๋ณต์ œ ๋ฐ ์ธ๋ฑ์‹ฑ
  • RAG (Retrieval Augmented Generation)
  • ์ŠคํŠธ๋ฆฌ๋ฐ ์ฑ„ํŒ… ์™„์„ฑ

์ž์„ธํ•œ ๋‚ด์šฉ์€ API README๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿค– ์ œ๊ณต์ž ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ์„ ํƒ ์‹œ์Šคํ…œ

DeepWiki๋Š” ์ด์ œ ์—ฌ๋Ÿฌ LLM ์ œ๊ณต์ž๋ฅผ ์ง€์›ํ•˜๋Š” ์œ ์—ฐํ•œ ์ œ๊ณต์ž ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ์„ ํƒ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค:

์ง€์›๋˜๋Š” ์ œ๊ณต์ž ๋ฐ ๋ชจ๋ธ

  • Google: ๊ธฐ๋ณธ๊ฐ’ gemini-2.5-flash, ๋˜ํ•œ gemini-2.5-flash-lite, gemini-2.5-pro ๋“ฑ๋„ ์ง€์›
  • OpenAI: ๊ธฐ๋ณธ๊ฐ’ gpt-5-nano, ๋˜ํ•œ gpt-5, 4o ๋“ฑ๋„ ์ง€์›
  • OpenRouter: Claude, Llama, Mistral ๋“ฑ ํ†ตํ•ฉ API๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์ ‘๊ทผ ๊ฐ€๋Šฅ
  • Ollama: llama3์™€ ๊ฐ™์€ ๋กœ์ปฌ์—์„œ ์‹คํ–‰๋˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๋ชจ๋ธ ์ง€์›

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๊ฐ ์ œ๊ณต์ž๋Š” ํ•ด๋‹น API ํ‚ค ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:

# API ํ‚ค
GOOGLE_API_KEY=๊ท€ํ•˜์˜_๊ตฌ๊ธ€_API_ํ‚ค        # Google Gemini ๋ชจ๋ธ์— ํ•„์š”
OPENAI_API_KEY=๊ท€ํ•˜์˜_OpenAI_ํ‚ค         # OpenAI ๋ชจ๋ธ์— ํ•„์š”
OPENROUTER_API_KEY=๊ท€ํ•˜์˜_OpenRouter_ํ‚ค # OpenRouter ๋ชจ๋ธ์— ํ•„์š”

# OpenAI API ๊ธฐ๋ณธ URL ๊ตฌ์„ฑ
OPENAI_BASE_URL=https://์‚ฌ์šฉ์ž์ •์˜_API_์—”๋“œํฌ์ธํŠธ.com/v1  # ์„ ํƒ ์‚ฌํ•ญ, ์‚ฌ์šฉ์ž ์ •์˜ OpenAI API ์—”๋“œํฌ์ธํŠธ์šฉ

์„œ๋น„์Šค ์ œ๊ณต์ž๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋ธ ์„ ํƒ

์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋ธ ์„ ํƒ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ์ด ํ•„์š”ํ•œ ์„œ๋น„์Šค ์ œ๊ณต์ž๋ฅผ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

  • ๊ท€ํ•˜๋Š” ์กฐ์ง ๋‚ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์–‘ํ•œ AI ๋ชจ๋ธ ์„ ํƒ ์˜ต์…˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๊ท€ํ•˜๋Š” ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ๋น ๋ฅด๊ฒŒ ์ง„ํ™”ํ•˜๋Š” LLM ํ™˜๊ฒฝ์— ์‹ ์†ํ•˜๊ฒŒ ์ ์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๊ท€ํ•˜๋Š” ์‚ฌ์ „ ์ •์˜๋œ ๋ชฉ๋ก์— ์—†๋Š” ํŠน์ˆ˜ํ•˜๊ฑฐ๋‚˜ ๋ฏธ์„ธ ์กฐ์ •๋œ ๋ชจ๋ธ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ์‚ฌ์ „ ์ •์˜๋œ ์˜ต์…˜์—์„œ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ํ”„๋ก ํŠธ์—”๋“œ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋ธ ์‹๋ณ„์ž๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋ชจ๋ธ ์ œ๊ณต์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์—… ์ „์šฉ ์ฑ„๋„์„ ์œ„ํ•œ ๊ธฐ๋ณธ URL ๊ตฌ์„ฑ

OpenAI ํด๋ผ์ด์–ธํŠธ์˜ base_url ๊ตฌ์„ฑ์€ ์ฃผ๋กœ ๋น„๊ณต๊ฐœ API ์ฑ„๋„์ด ์žˆ๋Š” ๊ธฐ์—… ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€:

  • ๋น„๊ณต๊ฐœ ๋˜๋Š” ๊ธฐ์—… ์ „์šฉ API ์—”๋“œํฌ์ธํŠธ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ
  • ์กฐ์ง์ด ์ž์ฒด ํ˜ธ์ŠคํŒ…๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐฐํฌ๋œ LLM ์„œ๋น„์Šค ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์„œ๋“œํŒŒํ‹ฐ OpenAI API ํ˜ธํ™˜ ์„œ๋น„์Šค์™€์˜ ํ†ตํ•ฉ ์ง€์›

์ถœ์‹œ ์˜ˆ์ •: ํ–ฅํ›„ ์—…๋ฐ์ดํŠธ์—์„œ DeepWiki๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญ์—์„œ ์ž์‹ ์˜ API ํ‚ค๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋น„๊ณต๊ฐœ ์ฑ„๋„์ด ์žˆ๋Š” ๊ธฐ์—… ๊ณ ๊ฐ์€ DeepWiki ๋ฐฐํฌ์™€ ์ž๊ฒฉ ์ฆ๋ช…์„ ๊ณต์œ ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ธฐ์กด API ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”Œ OpenRouter ํ†ตํ•ฉ

DeepWiki๋Š” ์ด์ œ OpenRouter๋ฅผ ๋ชจ๋ธ ์ œ๊ณต์ž๋กœ ์ง€์›ํ•˜์—ฌ, ๋‹จ์ผ API๋ฅผ ํ†ตํ•ด ์ˆ˜๋ฐฑ ๊ฐœ์˜ AI ๋ชจ๋ธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์˜ต์…˜: OpenAI, Anthropic, Google, Meta, Mistral ๋“ฑ ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์ด์šฉ ๊ฐ€๋Šฅ
  • ๊ฐ„ํŽธํ•œ ์„ค์ •: OpenRouter API ํ‚ค๋งŒ ์ถ”๊ฐ€ํ•˜๊ณ  ์›ํ•˜๋Š” ๋ชจ๋ธ ์„ ํƒ
  • ๋น„์šฉ ํšจ์œจ์„ฑ: ์˜ˆ์‚ฐ๊ณผ ์„ฑ๋Šฅ์— ๋งž๋Š” ๋ชจ๋ธ ์„ ํƒ ๊ฐ€๋Šฅ
  • ์†์‰ฌ์šด ์ „ํ™˜: ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ๊ฐ„ ์ „ํ™˜ ๊ฐ€๋Šฅ

DeepWiki์—์„œ OpenRouter ์‚ฌ์šฉ๋ฒ•

  1. API ํ‚ค ๋ฐ›๊ธฐ: OpenRouter ๊ฐ€์ž… ํ›„ API ํ‚ค ํš๋“
  2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€: .env ํŒŒ์ผ์— OPENROUTER_API_KEY=your_key ์ถ”๊ฐ€
  3. UI์—์„œ ํ™œ์„ฑํ™”: ํ™ˆํŽ˜์ด์ง€์—์„œ "Use OpenRouter API" ์˜ต์…˜ ์ฒดํฌ
  4. ๋ชจ๋ธ ์„ ํƒ: GPT-4o, Claude 3.5 Sonnet, Gemini 2.0 ๋“ฑ ์ธ๊ธฐ ๋ชจ๋ธ ์„ ํƒ

OpenRouter๋Š” ํŠนํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์‹œ๋„
  • ์ง€์—ญ ์ œํ•œ์ด ์žˆ๋Š” ๋ชจ๋ธ ์ ‘๊ทผ
  • ๋ชจ๋ธ ์ œ๊ณต์ž๋ณ„ ์„ฑ๋Šฅ ๋น„๊ต
  • ๋น„์šฉ๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”

๐Ÿค– Ask ๋ฐ DeepResearch ๊ธฐ๋Šฅ

Ask ๊ธฐ๋Šฅ

Ask ๊ธฐ๋Šฅ์€ Retrieval Augmented Generation (RAG)์„ ์‚ฌ์šฉํ•ด ์ €์žฅ์†Œ์™€ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๋ฌธ๋งฅ ์ธ์ง€ ๋‹ต๋ณ€: ์ €์žฅ์†Œ ๋‚ด ์‹ค์ œ ์ฝ”๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •ํ™•ํ•œ ๋‹ต๋ณ€ ์ œ๊ณต
  • RAG ๊ธฐ๋ฐ˜: ๊ด€๋ จ ์ฝ”๋“œ ์กฐ๊ฐ์„ ๊ฒ€์ƒ‰ํ•ด ๊ทผ๊ฑฐ ์žˆ๋Š” ๋‹ต๋ณ€ ์ƒ์„ฑ
  • ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ: ๋‹ต๋ณ€ ์ƒ์„ฑ ๊ณผ์ •์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ
  • ๋Œ€ํ™” ๊ธฐ๋ก ์œ ์ง€: ์งˆ๋ฌธ ๊ฐ„ ๋ฌธ๋งฅ์„ ์œ ์ง€ํ•ด ๋” ์ผ๊ด€๋œ ๋Œ€ํ™” ๊ฐ€๋Šฅ

DeepResearch ๊ธฐ๋Šฅ

DeepResearch๋Š” ๋‹ค์ค‘ ํ„ด ์—ฐ๊ตฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ €์žฅ์†Œ ๋ถ„์„์„ ํ•œ์ธต ์‹ฌํ™”ํ•ฉ๋‹ˆ๋‹ค:

  • ์‹ฌ์ธต ์กฐ์‚ฌ: ์—ฌ๋Ÿฌ ์—ฐ๊ตฌ ๋ฐ˜๋ณต์„ ํ†ตํ•ด ๋ณต์žกํ•œ ์ฃผ์ œ ์ฒ ์ €ํžˆ ํƒ๊ตฌ
  • ๊ตฌ์กฐํ™”๋œ ํ”„๋กœ์„ธ์Šค: ์—ฐ๊ตฌ ๊ณ„ํš, ์—…๋ฐ์ดํŠธ, ์ตœ์ข… ๊ฒฐ๋ก  ๋‹จ๊ณ„๋กœ ์ง„ํ–‰
  • ์ž๋™ ์—ฐ์† ์ง„ํ–‰: AI๊ฐ€ ์ตœ๋Œ€ 5ํšŒ ๋ฐ˜๋ณตํ•ด ์—ฐ๊ตฌ๋ฅผ ๊ณ„์† ์ง„ํ–‰
  • ์—ฐ๊ตฌ ๋‹จ๊ณ„:
    1. ์—ฐ๊ตฌ ๊ณ„ํš: ์ ‘๊ทผ๋ฒ•๊ณผ ์ดˆ๊ธฐ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๊ฐœ์š” ์ž‘์„ฑ
    2. ์—ฐ๊ตฌ ์—…๋ฐ์ดํŠธ: ์ด์ „ ๋ฐ˜๋ณต ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ƒˆ๋กœ์šด ํ†ต์ฐฐ ์ถ”๊ฐ€
    3. ์ตœ์ข… ๊ฒฐ๋ก : ๋ชจ๋“  ๋ฐ˜๋ณต์„ ์ข…ํ•ฉํ•œ ํฌ๊ด„์  ๋‹ต๋ณ€ ์ œ๊ณต

DeepResearch๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์งˆ๋ฌธ ์ œ์ถœ ์ „ Ask ์ธํ„ฐํŽ˜์ด์Šค์—์„œ "Deep Research" ์Šค์œ„์น˜๋ฅผ ์ผœ์„ธ์š”.

๐Ÿ“ฑ ์Šคํฌ๋ฆฐ์ƒท

DeepWiki Main Interface DeepWiki์˜ ๋ฉ”์ธ ์ธํ„ฐํŽ˜์ด์Šค

Private Repository Support ๊ฐœ์ธ ์•ก์„ธ์Šค ํ† ํฐ์œผ๋กœ ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ ์ ‘๊ทผ

DeepResearch Feature DeepResearch๋Š” ๋ณต์žกํ•œ ์ฃผ์ œ์— ๋Œ€ํ•ด ๋‹ค์ค‘ ํ„ด ์กฐ์‚ฌ๋ฅผ ์ˆ˜ํ–‰

๋ฐ๋ชจ ์˜์ƒ

DeepWiki Demo Video

DeepWiki ์ž‘๋™ ์˜์ƒ ๋ณด๊ธฐ!

โ“ ๋ฌธ์ œ ํ•ด๊ฒฐ

API ํ‚ค ๋ฌธ์ œ

  • "ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ˆ„๋ฝ": .env ํŒŒ์ผ์ด ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ์žˆ๊ณ  ํ•„์š”ํ•œ API ํ‚ค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
  • "API ํ‚ค๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š์Œ": ํ‚ค๋ฅผ ์ •ํ™•ํžˆ ๋ณต์‚ฌํ–ˆ๋Š”์ง€, ๊ณต๋ฐฑ์ด ์—†๋Š”์ง€ ํ™•์ธ
  • "OpenRouter API ์˜ค๋ฅ˜": OpenRouter API ํ‚ค๊ฐ€ ์œ ํšจํ•˜๊ณ  ์ถฉ๋ถ„ํ•œ ํฌ๋ ˆ๋”ง์ด ์žˆ๋Š”์ง€ ํ™•์ธ

์—ฐ๊ฒฐ ๋ฌธ์ œ

  • "API ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Œ": API ์„œ๋ฒ„๊ฐ€ ํฌํŠธ 8001์—์„œ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธ
  • "CORS ์˜ค๋ฅ˜": API๊ฐ€ ๋ชจ๋“  ์ถœ์ฒ˜๋ฅผ ํ—ˆ์šฉํ•˜๋„๋ก ์„ค์ •๋˜์–ด ์žˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๊ฐ™์€ ๋จธ์‹ ์—์„œ ์‹คํ–‰ํ•ด ๋ณด์„ธ์š”

์ƒ์„ฑ ๋ฌธ์ œ

  • "์œ„ํ‚ค ์ƒ์„ฑ ์˜ค๋ฅ˜": ์•„์ฃผ ํฐ ์ €์žฅ์†Œ๋Š” ๋จผ์ € ์ž‘์€ ์ €์žฅ์†Œ๋กœ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”
  • "์ž˜๋ชป๋œ ์ €์žฅ์†Œ ํ˜•์‹": ์œ ํšจํ•œ GitHub, GitLab ๋˜๋Š” Bitbucket URL ํ˜•์‹์ธ์ง€ ํ™•์ธ
  • "์ €์žฅ์†Œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Œ": ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ๋ผ๋ฉด ์ ์ ˆํ•œ ๊ถŒํ•œ์˜ ๊ฐœ์ธ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ž…๋ ฅํ–ˆ๋Š”์ง€ ํ™•์ธ
  • "๋‹ค์ด์–ด๊ทธ๋žจ ๋ Œ๋”๋ง ์˜ค๋ฅ˜": ์•ฑ์ด ์ž๋™์œผ๋กœ ๋‹ค์ด์–ด๊ทธ๋žจ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๋ ค ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค

์ผ๋ฐ˜์ ์ธ ํ•ด๊ฒฐ๋ฒ•

  1. ์„œ๋ฒ„ ๋‘˜ ๋‹ค ์žฌ์‹œ์ž‘: ๊ฐ„๋‹จํ•œ ์žฌ์‹œ์ž‘์œผ๋กœ ๋Œ€๋ถ€๋ถ„ ๋ฌธ์ œ ํ•ด๊ฒฐ
  2. ์ฝ˜์†” ๋กœ๊ทธ ํ™•์ธ: ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜ ํ™•์ธ
  3. API ๋กœ๊ทธ ํ™•์ธ: API ์‹คํ–‰ ํ„ฐ๋ฏธ๋„์—์„œ Python ์˜ค๋ฅ˜ ํ™•์ธ

๐Ÿค ๊ธฐ์—ฌ

๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ๋‹ค์Œ์„ ์ž์œ ๋กญ๊ฒŒ ํ•ด์ฃผ์„ธ์š”:

  • ๋ฒ„๊ทธ๋‚˜ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์œ„ํ•œ ์ด์Šˆ ์—ด๊ธฐ
  • ์ฝ”๋“œ ๊ฐœ์„ ์„ ์œ„ํ•œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ œ์ถœ
  • ํ”ผ๋“œ๋ฐฑ๊ณผ ์•„์ด๋””์–ด ๊ณต์œ 

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ์žˆ์Šต๋‹ˆ๋‹ค - ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ ์ฐธ๊ณ .

โญ ์Šคํƒ€ ํžˆ์Šคํ† ๋ฆฌ

Star History Chart