GitHub Copilotμ μ±ν
APIμ μ°κ²°νλ Python κΈ°λ° λ°μ€ν¬ν μ±λ΄μ
λλ€.
Copilot Pro+ ꡬλ
μλΌλ©΄ Claude, Gemini, ChatGPT λ± ν리미μ AI λͺ¨λΈμ
λ³λ ꡬλ
λ£ μμ΄ νΈλ¦¬ν GUIλ‘ μ¬μ©ν μ μμ΅λλ€.
| κΈ°λ₯ | μ€λͺ |
|---|---|
| λͺ¨λΈ μ ν | λΌλμ€ λ²νΌμΌλ‘ λν μ€μλ Claude Opus 4.5, Gemini 3 Pro, GPT-4.1 κ° μμ λ‘κ² μ ν |
| GitHub OAuth | λλ°μ΄μ€ νλ‘μ° μΈμ¦ β ν ν°μ μ§μ 볡μ¬Β·λΆμ¬λ£κΈ°ν νμ μμ |
| λ€μ€ λν | μ¬μ΄λλ°μμ λνλ₯Ό λ§λ€κ³ , μ΄λ¦μ λ°κΎΈκ³ , μμ κ°λ₯; λ§μ§λ§μΌλ‘ μ΄μλ λνλ₯Ό μλμΌλ‘ κΈ°μ΅ |
| λν κΈ°λ‘ μ μ₯ | λ‘컬 SQLite λ°μ΄ν°λ² μ΄μ€(~/.copilot_chatbot.db)μ μ μ₯; κΈ°μ‘΄ JSON κΈ°λ‘μ μλμΌλ‘ λ§μ΄κ·Έλ μ΄μ
|
| ν ν° μΈμ 컨ν μ€νΈ μ°½ | tiktokenμΌλ‘ ν ν°μ κ³μ°νκ³ νμ€ν 리λ₯Ό μλΌ λͺ¨λ μμ²μ΄ λͺ¨λΈμ 컨ν μ€νΈ νλ μμ λ€μ΄μ€λλ‘ μ²λ¦¬ |
| μ΄λ―Έμ§ μ²¨λΆ | .png, .jpg, .jpeg, .gif, .webp νμΌμ 첨λΆνλ©΄ base64λ‘ λ©ν°λͺ¨λ¬ λͺ¨λΈμ μ μ‘ |
| μ€νλ λμνΈ μ²¨λΆ | .csv, .xls, .xlsx νμΌμ 첨λΆνλ©΄ λ΄μ©μ΄ ν
μ€νΈλ‘ λ³νλμ΄ μ μ‘ |
| κ°μΈ ν둬ννΈ | μ΄λ¦ μλ ν둬ννΈλ₯Ό μ μ₯Β·μμ Β·μμ ; 체ν¬λ°μ€λ‘ μ¬λ¬ ν둬ννΈλ₯Ό λμμ νμ±ν(μλ μλΆμ); λλκ·Έλ‘ μμ λ³κ²½ |
| μμ€ν ν둬ννΈ | ν둬ννΈ λ§€λμ μμ λνλ³ μμ€ν ν둬ννΈ μ€μ |
| ν둬ννΈ κ°μ Έμ€κΈ°/λ΄λ³΄λ΄κΈ° | .json νμΌλ‘ ν둬ννΈ λΌμ΄λΈλ¬λ¦¬ 곡μ |
| λν μ μ₯ | λνλ₯Ό JSON λλ μΌλ° ν μ€νΈλ‘ λ΄λ³΄λ΄κΈ° |
| μ€νΈλ¦¬λ° μλ΅ | μλ΅μ΄ λ¨μ΄ λ¨μλ‘ μ€μκ°μΌλ‘ νμ |
| κΈ°λ‘ μ§μ° λ‘λ© | μ±ν μλ¨μΌλ‘ μ€ν¬λ‘€νλ©΄ μ΄μ λ©μμ§λ₯Ό νμν λ λΆλ¬μ΄ |
- Python 3.10 μ΄μ
- GitHub Copilot Pro+ ꡬλ
pip install -r requirements.txt
| ν¨ν€μ§ | μν |
|---|---|
requests |
GitHub λ° Copilot API HTTP ν΅μ |
openpyxl |
.xlsx μμ
νμΌ μ½κΈ° |
tiktoken |
컨ν μ€νΈ μ°½ κ΄λ¦¬λ₯Ό μν μ νν ν ν° κ³μ° |
typing_extensions |
Python 3.11 λ―Έλ§μμ μ΅μ typing κΈ°λ₯ μ§μ |
GUIμλ tkinterλ₯Ό μ¬μ©νλ©°, WindowsΒ·macOSμ© Python 곡μ μ€μΉ νλ‘κ·Έλ¨μλ κΈ°λ³Έ ν¬ν¨λμ΄ μμ΅λλ€.
Linuxμμλ λ³λλ‘ μ€μΉν΄μΌ ν μ μμ΅λλ€:
# Debian / Ubuntu
sudo apt-get install python3-tkμ΄λ―Έ Python 3.10 μ΄μμ΄ μ€μΉλμ΄ μλ€λ©΄ μ΄ λ¨κ³λ₯Ό 건λλλλ€.
λͺ λ Ή ν둬ννΈ(cmd)μμpython --versionμ μ λ ₯ν΄ λ²μ μ νμΈν μ μμ΅λλ€.
- μΉ λΈλΌμ°μ μμ https://www.python.org/downloads/ μ μ μν©λλ€.
- "Download Python 3.x.x" λ²νΌμ ν΄λ¦ν΄ μ€μΉ νλ‘κ·Έλ¨μ λ€μ΄λ‘λν©λλ€.
- λ€μ΄λ‘λλ
.exeνμΌμ μ€νν©λλ€. - μ€μΉ νλ©΄ νλ¨μ μλ "Add Python to PATH" 체ν¬λ°μ€λ₯Ό λ°λμ 체ν¬ν©λλ€.
(μ΄ μ΅μ μ λΉ λ¨λ¦¬λ©΄ μ΄νpythonλͺ λ Ήμ΄ μΈμλμ§ μμ΅λλ€.) - "Install Now" λ₯Ό ν΄λ¦νκ³ μ€μΉκ° μλ£λ λκΉμ§ κΈ°λ€λ¦½λλ€.
- μ€μΉ μλ£ ν "Close" λ₯Ό ν΄λ¦ν©λλ€.
- μ΄ μ μ₯μ νμ΄μ§ μ€λ₯Έμͺ½ μμ μ΄λ‘μ "Code" λ²νΌμ ν΄λ¦ν©λλ€.
- "Download ZIP" μ μ νν΄ ZIP νμΌμ λ€μ΄λ‘λν©λλ€.
- λ€μ΄λ‘λλ ZIP νμΌμ μνλ μμΉμ μμΆ ν΄μ ν©λλ€.
μ)C:\Users\μ¬μ©μμ΄λ¦\Documents\Hungry_mans_CopilotChatBot
μμΆμ ν΄μ ν ν΄λλ₯Ό νμΌ νμκΈ°λ‘ μ½λλ€.
λ€μ λ°©λ² μ€ νλλ₯Ό μ¬μ©ν΄ κ·Έ ν΄λμμ λ°λ‘ ν°λ―Έλμ μ΄ μ μμ΅λλ€.
λ°©λ² A β μ£Όμ νμμ€ μ΄μ© (κ°μ₯ λΉ λ¦)
- νμΌ νμκΈ° μλ¨μ μ£Όμ νμμ€μ ν΄λ¦ν©λλ€.
- μ£Όμκ° μ νλ μνμμ
cmdλ₯Ό μ λ ₯νκ³ Enterλ₯Ό λλ¦ λλ€. - ν΄λΉ ν΄λ κ²½λ‘μμ λͺ λ Ή ν둬ννΈκ° μ΄λ¦½λλ€.
λ°©λ² B β μ°ν΄λ¦ λ©λ΄ μ΄μ©
- μμΆ ν΄μ λ ν΄λ μμ λΉ κ³΅κ°μ Shift + μ°ν΄λ¦ν©λλ€.
- "μ¬κΈ°μ PowerShell μ°½ μ΄κΈ°" λλ "μ¬κΈ°μ ν°λ―Έλ μ΄κΈ°" λ₯Ό μ νν©λλ€.
μ΄λ¦° ν°λ―Έλ(λͺ λ Ή ν둬ννΈ λλ PowerShell)μμ μλ λͺ λ Ήμ μ λ ₯νκ³ Enterλ₯Ό λλ¦ λλ€:
pip install -r requirements.txt
μ€μΉκ° μλ£λ λκΉμ§ κΈ°λ€λ¦½λλ€. (μΈν°λ· μλμ λ°λΌ μμ μ΄ μ λ 걸립λλ€.)
python main.py
μ²μ μ€ννλ©΄ μ€μ β GitHub μΈμ¦... λ©λ΄λ‘ μ΄λν΄ νλ©΄μ μλ΄μ λ°λΌ GitHub κ³μ μ μ°λν©λλ€.
Hungry_mans_CopilotChatBot/
βββ main.py # μ§μ
μ
βββ requirements.txt
βββ README.md
βββ src/
βββ __init__.py
βββ app.py # tkinter GUI (λ©μΈ μ°½ + λͺ¨λ λ€μ΄μΌλ‘κ·Έ)
βββ auth.py # GitHub λλ°μ΄μ€ νλ‘μ° OAuth + ν ν° μ μ₯
βββ chat_store.py # SQLite κΈ°λ° λν λ° λ©μμ§ μ μ₯
βββ context_manager.py # ν ν° μΈμ 컨ν
μ€νΈ μ°½ νΈλ¦¬λ° (tiktoken)
βββ copilot_api.py # Copilot Chat API ν΄λΌμ΄μΈνΈ (μ€νΈλ¦¬λ°)
βββ file_handler.py # μ΄λ―Έμ§ / CSV / μμ
νμΌ μ²λ¦¬
βββ paths.py # μ± λ°μ΄ν° νμΌ κ²½λ‘ κ΄λ¦¬
βββ prompt_manager.py # κ°μΈ ν둬ννΈ CRUD + κ°μ Έμ€κΈ°/λ΄λ³΄λ΄κΈ°
- μ±μ΄ GitHubμ λλ°μ΄μ€ μ½λλ₯Ό μμ²ν©λλ€ (κ³΅κ° Copilot OAuth App ν΄λΌμ΄μΈνΈ ID
Iv1.b507a08c87ecfe98μ¬μ©). - λΈλΌμ°μ μμ
https://github.com/login/deviceκ° μ΄λ¦¬λ©΄ β νλ©΄μ νμλ μ½λλ₯Ό μ λ ₯ν΄ μΉμΈν©λλ€. - μ±μ΄ μΉμΈμ΄ μλ£λ λκΉμ§ GitHubλ₯Ό ν΄λ§νλ©°, μλ£ ν GitHub ν ν°μ
~/.copilot_chatbot_token.jsonμ μ μ₯ν©λλ€. - APIλ₯Ό νΈμΆν λλ§λ€ GitHub ν ν°μ λ¨κΈ° Copilot API λ² μ΄λ¬ ν ν°(μ ν¨ μκ° ~30λΆ, μλ κ°±μ )κ³Ό κ΅νν©λλ€.
| ν€ | λμ |
|---|---|
Enter |
λ©μμ§ μ μ‘ |
Shift + Enter |
μ λ ₯ μ°½μμ μ€ λ°κΏ |
μμ±μλ GitHub Copilot Pro+ ꡬλ
μ(μ 39λ¬λ¬ β μ μ¬μ 건λλ°λ©° λΈ κ΅¬λ
λ£)λ‘,
ν΄λΉ ꡬλ
μ μ΄λ―Έ ν¬ν¨λ Claude, Gemini, GPT-4.1 λͺ¨λΈμ
λ³λ μ λ£ μλΉμ€μ κ°μ
νμ§ μκ³ νΈλ¦¬ν λ°μ€ν¬ν GUIλ‘ μ°κ³ μΆμ΄μ λ§λ€μμ΅λλ€.