From 11c9f1f19075bc3bd145f7f6c5a83f3e3bdd4d5a Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 21 Jul 2025 19:47:09 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8A=B8=EB=9F=AC=EB=B8=94=EC=8A=88=ED=8C=85?= =?UTF-8?q?=20=EB=AC=B8=EC=84=9C=20=EC=B6=94=EA=B0=80=20-=20=EC=9D=B4?= =?UTF-8?q?=EB=A9=94=EC=9D=BC=20=EC=8A=A4=ED=82=AC=20HTTP=20API=20?= =?UTF-8?q?=EB=B6=84=EB=A6=AC=20=EB=B0=8F=20=EC=95=84=ED=82=A4=ED=85=8D?= =?UTF-8?q?=EC=B2=98=20=EC=A0=84=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ผ์Šคํ‚ฌHTTP๋ถ„๋ฆฌ๋ฐ์•„ํ‚คํ…์ฒ˜์ „ํ™˜.md | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 docs/troubleshooting/250721_happybell80_์ด๋ฉ”์ผ์Šคํ‚ฌHTTP๋ถ„๋ฆฌ๋ฐ์•„ํ‚คํ…์ฒ˜์ „ํ™˜.md diff --git a/docs/troubleshooting/250721_happybell80_์ด๋ฉ”์ผ์Šคํ‚ฌHTTP๋ถ„๋ฆฌ๋ฐ์•„ํ‚คํ…์ฒ˜์ „ํ™˜.md b/docs/troubleshooting/250721_happybell80_์ด๋ฉ”์ผ์Šคํ‚ฌHTTP๋ถ„๋ฆฌ๋ฐ์•„ํ‚คํ…์ฒ˜์ „ํ™˜.md new file mode 100644 index 0000000..9282e2a --- /dev/null +++ b/docs/troubleshooting/250721_happybell80_์ด๋ฉ”์ผ์Šคํ‚ฌHTTP๋ถ„๋ฆฌ๋ฐ์•„ํ‚คํ…์ฒ˜์ „ํ™˜.md @@ -0,0 +1,113 @@ +# ์ด๋ฉ”์ผ ์Šคํ‚ฌ HTTP ๋ถ„๋ฆฌ ๋ฐ ์•„ํ‚คํ…์ฒ˜ ์ „ํ™˜ + +**๋‚ ์งœ**: 2025-07-21 +**์ž‘์—…์ž**: happybell80 & Claude + +## ์˜คํ›„ 3์‹œ 30๋ถ„ + +### ์ด๋ฉ”์ผ ์Šคํ‚ฌ ํ†ตํ•ฉ ๋ฌธ์ œ ์žฌ๋ฐœ + +**๋ฐฐ๊ฒฝ**: +- 7/18 ์ž‘์—… ํ›„ ์—ฌ์ „ํžˆ ์ธ์ฆ ๋ฌธ์ œ ๋ฐœ์ƒ +- `'AuthCredentialsProvider' object has no attribute 'get_credentials'` ์—๋Ÿฌ + +**๋ฌธ์ œ ๋ถ„์„**: +1. skill_email: `FileCredentialsProvider` ์‚ฌ์šฉ (ํŒŒ์ผ ๊ธฐ๋ฐ˜) +2. rb10508_test: ์ƒˆ๋กœ ๋งŒ๋“  `AuthCredentialsProvider` (API ๊ธฐ๋ฐ˜) +3. ์ธํ„ฐํŽ˜์ด์Šค ๋ถˆ์ผ์น˜๋กœ ์—๋Ÿฌ ๋ฐœ์ƒ + +**์ดˆ๊ธฐ ํ•ด๊ฒฐ ์‹œ๋„**: +- FileCredentialsProvider๋กœ ์ „ํ™˜ +- auth-server ํ† ํฐ ํด๋” ๋งˆ์šดํŠธ +- ๊ฒฐ๊ณผ: ๋™๊ธฐ/๋น„๋™๊ธฐ ๋ฌธ์ œ ๋ฐœ์ƒ (`object Err can't be used in 'await' expression`) + +## ์˜คํ›„ 4์‹œ 00๋ถ„ + +### ๊ทผ๋ณธ์  ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์ œ ์ธ์‹ + +**๋ฌธ์ œ์ **: +- "๋น ๋ฅธ ๊ฐœ๋ฐœ"์ด๋ผ๋ฉฐ direct import ๋ฐฉ์‹ ์ฑ„ํƒ +- ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋” ๋งŽ์€ ์‹œ๊ฐ„ ์†Œ์š” (๊ฒฝ๋กœ ๋ฌธ์ œ, ๋™๊ธฐ/๋น„๋™๊ธฐ ๋ฌธ์ œ ๋“ฑ) +- ๋กœ๋น™์˜ ํ•ต์‹ฌ ์ฒ ํ•™(๋…๋ฆฝ์„ฑ, ๋ชจ๋“ˆ์„ฑ) ์œ„๋ฐฐ + +**๊ฒฐ์ •**: +- HTTP API ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜ +- ์Šคํ‚ฌ์€ ๋…๋ฆฝ ์„œ๋น„์Šค๋กœ ๋ถ„๋ฆฌ + +## ์˜คํ›„ 5์‹œ 00๋ถ„ + +### skill-email HTTP ์„œ๋น„์Šค ๊ตฌ์ถ• + +**๊ตฌํ˜„ ๋‚ด์šฉ**: +1. ํฌํŠธ ๋ณ€๊ฒฝ: 8100 โ†’ 8501 +2. Dockerfile ๋ฐ docker-compose.yml ์ƒ์„ฑ +3. nginx ํ”„๋ก์‹œ ์„ค์ • ์ถ”๊ฐ€ (`/skill-email/`) + +**rb10508_test ๋‹จ์ˆœํ™”**: +```python +# Before: 111์ค„์˜ ๋ณต์žกํ•œ ์ฝ”๋“œ +# After: 57์ค„์˜ ๋‹จ์ˆœํ•œ HTTP ํด๋ผ์ด์–ธํŠธ +class EmailSkill: + async def send_email(...): + response = await client.post(f"{self.base_url}/send", ...) + return response.json() +``` + +## ์˜คํ›„ 6์‹œ 30๋ถ„ + +### API ์—”๋“œํฌ์ธํŠธ ๋ฌธ์ œ ํ•ด๊ฒฐ + +**๋ฌธ์ œ**: +- skill_email์— `/messages` ์—”๋“œํฌ์ธํŠธ ์—†์Œ +- rb10508_test๊ฐ€ 404 ์—๋Ÿฌ ๋ฐ›์ง€๋งŒ "์•ˆ์ฝ์€ ์ด๋ฉ”์ผ์ด ์—†์Šต๋‹ˆ๋‹ค"๋กœ ํ‘œ์‹œ + +**ํ•ด๊ฒฐ**: +1. skill_email์— `/messages` ์—”๋“œํฌ์ธํŠธ ์ถ”๊ฐ€ +2. ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๊ฐœ์„  + +## ์˜คํ›„ 7์‹œ 00๋ถ„ + +### ํ† ํฐ ํŒŒ์ผ ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ + +**๋ฌธ์ œ 1 - ํ† ํฐ ํŒŒ์ผ**: +- ์„œ๋ฒ„: `test_gmail.json`๋งŒ ์กด์žฌ +- ์ฝ”๋“œ: `happybell80_gmail.json` ์ฐพ์Œ +- ํ•ด๊ฒฐ: user_id๋ฅผ "test"๋กœ ๋ณ€๊ฒฝ + +**๋ฌธ์ œ 2 - ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ˆ„๋ฝ**: +- ๋ชจ๋“  ์ด๋ฉ”์ผ์ด "No subject", "Unknown"์œผ๋กœ ํ‘œ์‹œ +- ์›์ธ: `get_recent_messages`๊ฐ€ ID๋งŒ ๋ฐ˜ํ™˜ +- ํ•ด๊ฒฐ: ๊ฐ ๋ฉ”์‹œ์ง€์˜ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ ์ถ”๊ฐ€ + +## ์˜คํ›„ 7์‹œ 30๋ถ„ + +### ์ตœ์ข… ์™„์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ ์„ฑ๊ณต + +**๊ฒฐ๊ณผ**: +- ์‹ค์ œ ์ด๋ฉ”์ผ ์ œ๋ชฉ, ๋ณด๋‚ธ์ด, ๋‚ ์งœ ํ‘œ์‹œ +- ์™„์ „ํ•œ HTTP API ๊ธฐ๋ฐ˜ ํ†ต์‹  +- ๋กœ๋น™๊ณผ ์Šคํ‚ฌ ๋…๋ฆฝ์„ฑ ํ™•๋ณด + +**์•„ํ‚คํ…์ฒ˜ ๊ฐœ์„ **: +``` +๊ธฐ์กด: rb10508_test โ†’ (direct import) โ†’ skill_email +๊ฐœ์„ : rb10508_test โ†’ (HTTP API) โ†’ skill-email:8501 +``` + +## ๊ตํ›ˆ ๋ฐ ์„ฑ๊ณผ + +### ๊ตํ›ˆ +1. "๋น ๋ฅธ ๊ฐœ๋ฐœ"์ด ํ•ญ์ƒ ๋น ๋ฅด์ง€ ์•Š์Œ +2. ์•„ํ‚คํ…์ฒ˜ ์›์น™์„ ์ง€ํ‚ค๋Š” ๊ฒƒ์ด ์žฅ๊ธฐ์ ์œผ๋กœ ์ด๋“ +3. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ์ œ๋Œ€๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•จ + +### ์„ฑ๊ณผ +- ์ฝ”๋“œ 48% ๊ฐ์†Œ (111์ค„ โ†’ 57์ค„) +- ์˜์กด์„ฑ ์™„์ „ ์ œ๊ฑฐ +- ๋…๋ฆฝ์  ๋ฐฐํฌ ๊ฐ€๋Šฅ +- ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ ํ™•๋ฆฝ + +### CLAUDE.md ์—…๋ฐ์ดํŠธ +- ์Šคํ‚ฌ ํฌํŠธ ๋ฒ”์œ„: 8501-8599 +- HTTP API ํ†ต์‹  ์›์น™ ๋ช…์‹œ +- ์ง์ ‘ import ๊ธˆ์ง€ ๊ทœ์น™ ์ถ”๊ฐ€ \ No newline at end of file