ghostmeet โ AI Meeting Delegate
๋ธ๋ผ์ฐ์ ์์ ํ์ํ์(Zoom, Google Meet, Teams ๋ฑ)์ ์ฐธ์ ์ค์ผ ๋,
Chrome Extension์ด ํ์ ์ค๋์ค๋ฅผ ์บก์ฒํ์ฌ ์ค์๊ฐ ์ ์ฌ + AI ์์ฝ + ๋๋ฆฌ ์๋ต์ ์ ๊ณตํ๋
์
ํํธ์คํ
์คํ์์ค ๋๊ตฌ .
์ค์น 1๊ฐ โ Chrome Extension
์ธ๋ถ SaaS ์์กด 0 โ Recall.ai ๋ฑ ํ์ ์์
ํ๋ซํผ ๋ฌด๊ด โ Zoom, Meet, Teams, ๋ธ๋ผ์ฐ์ ๋ฉด ๋ค ๋จ
API ํค ์ต์ํ โ Anthropic 1๊ฐ (STT๋ ๋ก์ปฌ Whisper)
"Any meeting, any platform. Just open your browser."
์ ์ ๊ฐ ์ง์ ํ์ ์ฐธ์ (ํ์์ฒ๋ผ)
Extension์ด ํญ ์ค๋์ค ์บก์ฒ
์ค์๊ฐ ์ ์ฌ (๋ก์ปฌ Whisper)
ํ์ ์ค ์ค์๊ฐ ์๋ง ํ์ (Extension popup ๋๋ side panel)
ํ์ ์ข
๋ฃ ์ ์์ฝ + ์ก์
์์ดํ
์์ฑ (Claude API)
์ ์ ๊ฐ "๋์ ๋งํ๊ธฐ" ์์ โ ๋ฃ๊ธฐ + ์์ฝ๋ง
Agent Mode (v0.2, ์ดํ)
Ghost Mode ๊ธฐ๋ฅ ์ ๋ถ ํฌํจ
AI๊ฐ ์๋ต ํ
์คํธ ์์ฑ โ TTS โ ๊ฐ์ ์ค๋์ค ์ฅ์น๋ก ํ์์ ์ฃผ์
์ฌ์ ๋ธ๋ฆฌํ (์ฃผ์ , ์๋ฃ, ๋ด ์
์ฅ) ๊ธฐ๋ฐ ๋งฅ๋ฝ ํ์ฌ
๋ฐ์ธ ๊ฐ๋๋ ์ผ ("๊ฒฐ์ ์ ๋ณด๋ฅ", "ํ์ธ ํ ๋ต๋ณ" ๋ฑ ์ ์ฑ
)
OS ์ค๋์ค ๋ผ์ฐํ
ํ์ (BlackHole ๋ฑ)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Chrome Extension โ
โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ tabCaptureโ โ Side Panel / โ โ
โ โ Audio API โ โ Popup UI โ โ
โ โโโโโโโฌโโโโโโ โโโโโโโโโฒโโโโโโโโ โ
โ โ audio chunks โ transcriptโ
โ โผ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ WebSocket Client โ โ
โ โโโโโโโโโโโฌโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ws://localhost:8877
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Local Backend (Python) โ
โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ WebSocket โ โ Web Dashboard โ โ
โ โ Server โ โ (FastAPI) โ โ
โ โโโโโโโฌโโโโโโ โโโโโโโโโโโโโโโโโ โ
โ โ audio โ
โ โผ โ
โ โโโโโโโโโโโโ โ
โ โ Whisper โ (๋ก์ปฌ STT) โ
โ โ (local) โ โ
โ โโโโโโโฌโโโโโโ โ
โ โ text โ
โ โผ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ Transcriptโโโโถโ Claude API โ โ
โ โ Buffer โ โ (์์ฝ/์๋ต) โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Meeting Context Store โ โ
โ โ (์ฌ์ ๋ธ๋ฆฌํ, ์ ์ ํ๋กํ) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๋ฐ์ดํฐ ํ๋ฆ (Ghost Mode)
1. ์ ์ ๊ฐ Zoom ์น์์ ํ์ ์ฐธ์
2. Extension ํ์ฑํ โ chrome.tabCapture.capture()๋ก ํญ ์ค๋์ค ์คํธ๋ฆผ ํ๋
3. Web Audio API๋ก PCM ์ฒญํฌ ์ถ์ถ (16kHz, mono)
4. WebSocket์ผ๋ก ๋ก์ปฌ ๋ฐฑ์๋์ ์คํธ๋ฆฌ๋ฐ ์ ์ก
5. ๋ฐฑ์๋: faster-whisper๋ก ์ค์๊ฐ STT
6. ์ ์ฌ ํ
์คํธ โ Extension์ ์ค์๊ฐ ํธ์ (์๋ง)
7. ํ์ ์ข
๋ฃ (์ ์ ๊ฐ "์์ฝ" ํด๋ฆญ)
8. ์ ์ฒด ์ ์ฌ โ Claude API โ ์์ฝ + ์ก์
์์ดํ
9. ๊ฒฐ๊ณผ๋ฅผ Extension popup + ์น ๋์๋ณด๋์ ํ์
๋ ์ด์ด
๊ธฐ์
์ด์
Chrome Extension
Manifest V3, TypeScript
tabCapture API, Side Panel API
์ค๋์ค ์บก์ฒ
chrome.tabCapture + Web Audio API
๋ธ๋ผ์ฐ์ ๋ค์ดํฐ๋ธ, ์์ ์
์ค๋์ค ์ ์ก
WebSocket (binary frames)
์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ์ ์ ํฉ
๋ฐฑ์๋
Python 3.12 + FastAPI
Whisper/AI ์ํ๊ณ ์ต์
STT
faster-whisper (๋ก์ปฌ)
์ธ๋ถ API ๋ถํ์, CTranslate2 ๊ธฐ๋ฐ ๋น ๋ฆ
LLM
Anthropic Claude API
์์ฝ/์๋ต ํ์ง
ํ๋ก ํธ (๋์๋ณด๋)
FastAPI + Jinja2 + htmx
์ฌํ, ๋ณ๋ ๋น๋ ๋ถํ์
ํจํค์ง
pip install + Chrome Extension zip
์ค์น ๊ฐํธ
ghostmeet/
โโโ extension/ # Chrome Extension
โ โโโ manifest.json # Manifest V3
โ โโโ background.js # Service Worker (tabCapture ๊ด๋ฆฌ)
โ โโโ content.js # ๋ฏธํ
ํญ ๊ฐ์ง
โ โโโ sidepanel.html # ์ค์๊ฐ ์๋ง + ์์ฝ UI
โ โโโ sidepanel.js # WebSocket ํด๋ผ์ด์ธํธ
โ โโโ popup.html # ๊ฐ๋จ ์ค์ /์ํ
โ โโโ popup.js
โ โโโ icons/
โ โโโ icon16.png
โ โโโ icon48.png
โ โโโ icon128.png
โ
โโโ backend/ # Python ๋ก์ปฌ ์๋ฒ
โ โโโ __main__.py # entrypoint (python -m backend)
โ โโโ app.py # FastAPI (WebSocket + REST + ๋์๋ณด๋)
โ โโโ transcriber.py # faster-whisper ๋ํผ
โ โโโ agent.py # Claude API (์์ฝ/์๋ต ์์ฑ)
โ โโโ meeting.py # ํ์ ์ธ์
๊ด๋ฆฌ (์ ์ฌ ๋ฒํผ, ์ํ)
โ โโโ config.py # .env ๋ก๋ฉ
โ โโโ templates/
โ โ โโโ index.html # ๋์๋ณด๋ ๋ฉ์ธ
โ โ โโโ meeting.html # ํ์๋ณ ์์ธ
โ โโโ static/
โ โโโ style.css
โ
โโโ requirements.txt # Python ์์กด์ฑ
โโโ .env.example
โโโ .gitignore
โโโ LICENSE
โโโ README.md
โโโ requirements.md # ์ด ๋ฌธ์
๊ธฐ์ ๊ฒ์ฆ (Day 1 ์ฐ์ )
์ธ๋ถ SaaS ์์กด ๊ธ์ง (Recall.ai, Deepgram ๋ฑ)
API ํค ํ๋์ฝ๋ฉ ๊ธ์ง
ํ์ ์ค๋์ค/์ ์ฌ ๋ฐ์ดํฐ ์ธ๋ถ ์ ์ก ๊ธ์ง (๋ก์ปฌ์๋ง ์ ์ฅ)
์ ์ ๋์ ์์ด ๋
น์ ์์ ๊ธ์ง (๋ช
์์ "Start" ๋ฒํผ)
Day
๋ชฉํ
์ฐ์ถ๋ฌผ
1
๊ธฐ์ ๊ฒ์ฆ โ tabCapture PoC + Whisper PoC
์ค๋์ค์บก์ฒโ์ ์ฌ ํ์ดํ๋ผ์ธ ๋์ ํ์ธ
2
Extension ๋ผ๋ โ manifest, background, WebSocket
Extension ๋ก๋ + ์ค๋์ค ์ ์ก
3
๋ฐฑ์๋ ๋ผ๋ โ FastAPI + Whisper ์ฐ๋
์ค์๊ฐ ์ ์ฌ API ๋์
4
์ค์๊ฐ ์๋ง โ Extensionโ๋ฐฑ์๋ ์๋ฐฉํฅ
Side panel์ ์๋ง ํ์
5
AI ์์ฝ โ Claude API ์ฐ๋
์์ฝ + ์ก์
์์ดํ
์์ฑ
6
๋์๋ณด๋ + ํด๋ฆฌ์
์น UI + ์๋ฌ ์ฒ๋ฆฌ + ์ค์
7
README + ๋ฐ๋ชจ ์์
๋ฐฐํฌ ๊ฐ๋ฅ ์ํ
๋ฆฌ์คํฌ
์ํฅ
๋์
tabCapture๊ฐ Zoom ์น์์ ์ ๋ ์ ์์
์น๋ช
์
Day 1์ PoC๋ก ๊ฒ์ฆ. ์ ๋๋ฉด desktopCapture ๋์
Whisper ๋ก์ปฌ ์คํ ์๋ (Mac Mini M2)
์ค๊ฐ
faster-whisper + tiny/base ๋ชจ๋ธ๋ก ์์
Chrome Extension ์คํ ์ด ์ฌ์ฌ ์ง์ฐ
๋ฎ์
MVP๋ ๊ฐ๋ฐ์ ๋ชจ๋ ์ฌ์ด๋๋ก๋ฉ
์ค๋์ค ํฌ๋งท ํธํ์ฑ
์ค๊ฐ
48kHzโ16kHz ๋ฆฌ์ํ๋ง ํ์ํ ์ ์์
๊ธฐ์กด ๋๊ตฌ
๋ฐฉ์
ghostmeet ์ฐจ์ด์
Otter.ai / Fireflies
SaaS, ๋ด์ด ํ์ ์
์ฅ
๋ก์ปฌ, ๋ด ์์, ํ๋ผ์ด๋ฒ์
Recall.ai
API, ๋น์ฆ๋์ค ์ ์ฉ
์คํ์์ค, ๋๊ตฌ๋
zoom-sidekick
Recall.ai ์์กด
์ธ๋ถ ์์กด 0
meetingbot
AWS ์ธํ๋ผ ํ์
pip install + Extension
ghostmeet = "์ค์น 2๋ถ, ์ธ๋ถ ์์กด 0, ๋ด ๋ฐ์ดํฐ๋ ๋ด ์ปดํจํฐ์"