ํ ์ ์ฅ์ ์์ ์ฝ๋ฉ ์์ด์ ํธ ์ด ๊ฐ โ ์๋ก ๋ฐ์ง ์๊ฒ, ๋ธ๋ผ์ฐ์ ์ ํฐ์์.
AI ์ฝ๋ฉ ์์ด์ ํธ๋ ์ด์ ์ฅ์๊ฐ ์คํ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ปค๊ฐ ๋์์ต๋๋ค. ADHDev๋ ๊ทธ๊ฒ๋ค์ ์ํ ์ปจํธ๋กค ํ๋ ์ธ์
๋๋ค. ์น ๋๋ ๋ชจ๋ฐ์ผ ๋์๋ณด๋์์ โ Claude Code, Codex, Kimi, Cursor CLI, Antigravity CLI๋ฅผ ๋๋ํ, ๋ชจ๋ ๋จธ์ ์ ๊ฑธ์ณ โ ์์ด์ ํธ ์ธ์
์ ์คํยท๊ฐ์ยท์น์ธยท์กฐ์ข
ํ๊ณ , ์๋ฃ๋ ์์
์ main์ ๋จธ์งํ๋ ๋ฌด์ธ ํ์ดํ๋ผ์ธ์ ์๋ ด์ ๋งก๊ธฐ์ธ์.
์ถฉ๋ ์๋ ๋ณ๋ ฌ ์์ด์ ํธ. ๋ชจ๋ ํ์คํฌ๋ ์๊ธฐ๋ง์ git ์ํฌํธ๋ฆฌ์์ ๋๊ณ , Refinery๊ฐ ๊ฒ์ฆ์ ํต๊ณผํ ์์ ์ fast-forward๋ก ์ฐฉ์ง์ํต๋๋ค โ ๋จธ์ง ๋ฐ์ด ์์ทจ ์์ด.
์น์ฌ์ดํธ: adhf.dev ยท ๋ฌธ์: docs.adhf.dev
๋ฃจํ๋ ์ด๋ ์ต๋๋ค: ์ฑํ
์ผ๋ก ํ์คํฌ๋ฅผ ์ค๋ช
โ ์ฝ๋๋ค์ดํฐ๊ฐ ์ ์ยทํ๊น
ยทํ์ โ ๋๊ณ ์๋ ๋จธ์ ์ด ์ ์ํฌํธ๋ฆฌ๋ก ๊ฐ์ ธ๊ฐ โ ๋ ํฌ ์์ฒด์ ๊ฒ์ดํธ๊ฐ ํ์ โ main์ ff-๋จธ์ง, ์ํฌํธ๋ฆฌ ์ ๋ฆฌ. ์น์ธ์ด ํ์ํ ๋๋ง ํฐ์ด ์ธ๋ฆฝ๋๋ค.
์ด ์ ์ฅ์ ์์ฒด๊ฐ ๊ทธ๋ ๊ฒ ๋ง๋ค์ด์ง๋๋ค. ์ต๊ทผ main ์ปค๋ฐ์ ์ฝ 3๋ถ์ 1์ด Auto-merge via Refinery ์ปค๋ฐ์
๋๋ค โ ๋ฏฟ์ง ๋ง๊ณ ์ง์ ์ธ์ด๋ณด์ธ์: git log --oneline -60 | grep -c "via Refinery".
์์ด์ ํธ๋ ๋ก์ปฌ์์ ์คํ๋๊ณ , ๋น์ ์ ์ด๋์๋ ์กฐ์ข
ํฉ๋๋ค. ๋์๋ณด๋๋ ์ง์ง ์ปจํธ๋กค ์ํผ์ค์
๋๋ค โ ํ์ฑ ์ธ์
์ ๊ฒ์ฌํ๊ณ , ์ฑํ
ยทํฐ๋ฏธ๋ ์ํ๋ฅผ ์ฝ๊ณ , ์์
์ ์น์ธ ๋๋ ์ค๋จํ๊ณ , ์ ์ ํ ํ์คํ ๋ฆฌ๋ฅผ ๋ค์ ์ด๊ณ , ๋ธ๋ผ์ฐ์ ๋ ํด๋ํฐ์์ ๋ค์ ์ง์๋ฅผ ๋ณด๋
๋๋ค. ํฐ๋ฏธ๋์ ๋ถ์ก๊ณ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์์ต๋๋ค. ์น์ธ ์๋ฆผ์๋ ์คํํ๋ ค๋ ๋ช
๋ น ์๋ฌธ์ด ๊ทธ๋๋ก ์ค๋ฆฝ๋๋ค โ rm -rf build/ ์น์ธ๊ณผ git push --force ์น์ธ์ ๋ค๋ฅธ ๋ฐ์ ์๋๋ฅผ ๋ฐ์์ผ ํ๋๊น์ (ํฐ ํธ์๋ ํด๋ผ์ฐ๋ ์๋์
๊ธฐ๋ฅ).
|
|
์์กด์ฑ์ด ์๋ ํ์คํฌ๋ฅผ ํ์ ๋ฃ๊ณ ์ฝ๋๋ค์ดํฐ๊ฐ ์ฌ์ ์ฉ๋์ ๊ฐ์ง ๋ ธ๋(๋ ธํธ๋ถ, ๋ฐ์คํฌํ, ๋น๋ ์๋ฒ)์ ์๋์ผ๋ก ๋์คํจ์นํ๊ฒ ๋์ธ์. ์ด๊ฒ์ ํ ํธ์คํธ์ SSH๋ก ์ ์ํ๋ ๋ฐฉ์์ด ์๋, P2P ๋ฉ์ ์์ ์ง์ ํ ๋ฉํฐ๋จธ์ ์ค์ผ์คํธ๋ ์ด์ ์ ๋๋ค. ๊ฐ ํ์คํฌ๋ ๋ณ๋์ ์ํฌํธ๋ฆฌ์์ ์คํ๋๋ฏ๋ก ์์ด์ ํธ๋ค์ด ์๋ก๋ฅผ ๋ฐฉํดํ์ง ์์ต๋๋ค. ๋ฉ์ ์์ง๊ณผ Refinery๋ ์ด ๋ ํฌ์ ํฌํจ๋์ด ์์ผ๋ฉฐ, ํฌ๋ก์ค-๋จธ์ ๋์คํจ์น๋ ํด๋ผ์ฐ๋ ์๋์ ์์ ์คํ๋ฉ๋๋ค.
๋ฉ์๋ ํ๋์ git ์ ์ฅ์์ ๋ฐ์ธ๋ฉ๋๋ฉฐ, ์๋ ์ฌ๋์ด ์์ผ๋ก ์กฐ์จํด์ผ ํ๋ ๊ตฌ์ฑ์์๋ค์ ์์ ํฉ๋๋ค:
| ํ์คํฌ ํ | pull ๊ธฐ๋ฐ. pending โ assigned โ completed/failed, depends_on ์์ ์ง์ ๊ณผ ์ฌ์๋. idle ๋
ธ๋๊ฐ ์ค์ค๋ก ์์
์ ๊ฐ์ ธ๊ฐ๋ฏ๋ก ์ด๊ธ๋ push ์ค์ผ์ค๋ฌ๊ฐ ์์ต๋๋ค. |
| ๋ฏธ์ | ์ฌ๋ฌ ํ์คํฌ๋ฅผ ๋ฌถ๋ ๋ชฉํ ๋จ์. ์ฌ์์๋ ์ฝ๋๋ค์ดํฐ๊ฐ ์ ๋ถ ๋ค์ ํ์ ๋ฃ๋ ๋์ ์ด์ด๋ฐ์ต๋๋ค. |
| ์ํฌํธ๋ฆฌ ๋ ธ๋ | ๋ณ๋ ฌ ํ์คํฌ๋น ๊ฒฉ๋ฆฌ๋ ๋ธ๋์น ์ฒดํฌ์์. ์์ ๋์คํจ์น ์ ์ ์๋ ๋ถํธ์คํธ๋ฉ(install, ๋ค์ดํฐ๋ธ ๋ฆฌ๋น๋, gitignore๋ ๋น๋ ์ฐ์ถ๋ฌผ)์ด ๋๋ฉ๋๋ค. |
| append-only ์์ฅ | ๋ชจ๋ ๋์คํจ์นยท์๋ฃยท์คํจยท์คํจยท์ฒดํฌํฌ์ธํธ๋ฅผ JSONL ์ด๋ฒคํธ๋ก. ์ฌํ์ "์ค์ ๋ก ๋ฌด์จ ์ผ์ด ์์๋"์ ๋ตํ ์ ์๋ ๊ฐ์ฌ ๊ธฐ๋ก์ ๋๋ค. |
| ์ด์ ๋ ธํธ | ๋ฐํ์์ ๊ธฐ๋กํ ๊ตํ(provider ํน์ด์ฌํญ, ๋ณต๊ตฌ ์ ์ฐจ)์ด ์ดํ ๋ชจ๋ ์ฝ๋๋ค์ดํฐ ํ๋กฌํํธ์ ์ฃผ์ ๋ฉ๋๋ค. ์ง์์ด ๊ทธ๊ฒ์ ๋ฐฐ์ด ์ธ์ ๋ณด๋ค ์ค๋ ์ฝ๋๋ค. |
| ๋ผ์ด๋ธ ์ํ ํ๋กฌํํธ | ์ฝ๋๋ค์ดํฐ์ ์์คํ ํ๋กฌํํธ๋ ์ ์ ํ ์คํธ๊ฐ ์๋๋๋ค โ launch ์์ ์ ๋ผ์ด๋ธ ๋ฉ์ ์ํ(๋ ธ๋ ํฌ์ค, ์งํ ์ค ๋ฏธ์ , ์ต๊ทผ ์คํจ, ๋์ ๋ ธํธ)๋ฅผ ๋ ๋ํ ๊ฒ์ด๊ณ , ๋ฐํ์ ์ด๋ฒคํธ๋ ํด๋ง ๋์ ์ธ์ ์ ์ง์ ์ฃผ์ ๋ฉ๋๋ค. |
| ๋์ด๋ ๋ผ์ฐํ | ์ฌ์ด ์์ ์ ์ ๊ฐ ๋ชจ๋ธ, ์ด๋ ค์ด ์์ ์ ๊ณ ๊ฐ ๋ชจ๋ธ + deep thinking์ผ๋ก โ ๋ ธ๋ ๋ฅ๋ ฅ๋ณ๋ก. ํ ํฐ ๋น์ฉ์ด ํ์คํฌ ์๊ฐ ์๋๋ผ ๋์ด๋์ ๋น๋กํฉ๋๋ค. |
๋น์ ์ ํ ๊ณณ์ ๋ํํฉ๋๋ค. ์ฝ๋๋ค์ดํฐ๊ฐ ๋ชจ๋ ์์ปค์ ๋จธ์ ์ ๋น๋๊ธฐ๋ก ์ค์ผ์คํธ๋ ์ด์ ํฉ๋๋ค โ ์ฝ๋๋ค์ดํฐ๊ฐ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ , ๋น์ ์ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์์ต๋๋ค. ๊ฐ ์์ด์ ํธ ์ฐฝ ์์ ์์ ์๋ฃ ์ฌ๋ถ๋ฅผ ํ์ธํ ํ์ ์์ด, ๋จ์ผ ์ฝ๋๋ค์ดํฐ์ ์์ ์ ๋๊ธฐ๋ฉด ๋ชจ๋ ์์ปค๋ฅผ ๋ณ๋ ฌ๋ก ๊ตฌ๋ํ๊ณ ์๋ฃยท์น์ธยท์ํ ์ด๋ฒคํธ๊ฐ ์ค์ ๋ก ๋์ฐฉํ ๋๋ง ๋ฐ์ํฉ๋๋ค โ ํด๋ง๋, ๋ธ๋กํน ๋๊ธฐ๋ ์์ต๋๋ค. ๋น์ ์๊ฒ๋ ํ๋์ ๋ํ, ๊ทธ ์๋์ ๋ ผ๋ธ๋กํน ์ด๋ฒคํธ ๋ฃจํ.
๋ณ๋ ฌ์ฑ์ ์์
์ด ์ค์ ๋ก ๋จธ์ง๋ ๋๋ง ํจ๊ณผ๊ฐ ์์ต๋๋ค. Refinery๋ ์๋ฃ๋ ํ์คํฌ๋ฅผ ๋ ํฌ ์์ฒด์ ๊ฒ์ฆ ๊ฒ์ดํธยทํจ์น ๋๋ฑ์ฑ ๊ฒ์ฌยท์๋ธ๋ชจ๋ ์ธ์ fast-forward ๋จธ์งยท์๋ ์ํฌํธ๋ฆฌ ์ ๋ฆฌ๋ก ์๋ ดํฉ๋๋ค โ ๋ฌด์ธ์ผ๋ก. ์์ด์ ํธ๊ฐ ์๋ฃํ๋ฉด, Refinery๊ฐ ์ฐฉ์ง์ํต๋๋ค. ์ ๋ฉ์ ๋ณด๋๊ฐ ์ ์ฒด ํ์ดํ๋ผ์ธ์ ์ค์๊ฐ์ผ๋ก ๋ณด์ฌ์ค๋๋ค: ์์ฅ์ DIRECT FAST FORWARD ํญ๋ชฉ์ด ์ฐฉ์ง ์๋ฃ๋ ํ์คํฌ์ด๊ณ , REFINE JOBS๊ฐ ์งํ ์ค์ธ ์๋ ด์ ์ถ์ ํฉ๋๋ค.
๋ณ๋ ฌ ์ํฌํธ๋ฆฌ์ ๋ฌด์ธ ๋จธ์ง๋ git ์๋ธ๋ชจ๋์ด ๋ฑ์ฅํ๋ ์๊ฐ ์ทจ์ฝํด์ง๋๋ค. ADHDev๋ ์ด ์ผ์ด์ค๋ฅผ ์ ๋ฉด์ผ๋ก ๋ค๋ฃน๋๋ค โ ์ด ํ๋ก์ ํธ ์์ฒด๊ฐ ์๋ธ๋ชจ๋ ๋ชจ๋ ธ๋ ํฌ(๋ฃจํธ ๋ ํฌ + AGPL ์์ง + ํ๋ก๋ฐ์ด๋ ์นดํ๋ก๊ทธ๋ฅผ ์๋ธ๋ชจ๋๋ก)์ด๋ฉฐ, ๋งค์ผ ์ด ๋ฉ์์ Refinery๋ฅผ ๋๊ทธํธ๋ฉํฉ๋๋ค. Refinery๋ ์๋ ด ์ค ์๋ธ๋ชจ๋์ ์ผ๊ธ ์๋ฏผ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค:
- ๋๋ฌ ๊ฐ๋ฅ์ฑ ๊ฒ์ดํธ โ ๋ฃจํธ ๋ธ๋์น๊ฐ
main์ ์ฐฉ์งํ๊ธฐ ์ , ์ฐธ์กฐ๋ ์๋ธ๋ชจ๋ ์ปค๋ฐ์ด ์๋ธ๋ชจ๋์origin/main์์ ๋๋ฌ ๊ฐ๋ฅํ์ง ๊ฒ์ฆํฉ๋๋ค. ๋ถ๊ฐ๋ฅํ๋ฉด ํด๋น ์ปค๋ฐ์ด ๊ฒ์๋ ๋๊น์ง ํ์คํฌ๋ฅผ ์ฐจ๋จ ์ํ๋ก ์ ์งํฉ๋๋ค. - ํจ์น ๋๋ฑ์ฑ ๊ฐ์ง โ ์๋ธ๋ชจ๋ ์ปค๋ฐ์ด ๋ฆฌ๋ฒ ์ด์ค๋๊ฑฐ๋ ์ค์ฟผ์๋์ด SHA๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ์๋, Refinery๋ ๋ด์ฉ์ด ์ด๋ฏธ ์ฐฉ์งํ๋์ง ํ๋จํ์ฌ ์ด์ค ๋จธ์ง๋ ์๋ชป๋ ๋ค์ด๋ฒ์ ์ค ํ๋๊ทธ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
- ์์์ ํฌ์ธํฐ ๋ฒํ โ ์๋ธ๋ชจ๋ ํฌ์ธํฐ ๋ฒํ๋ ๋ฃจํธ ๋ณ๊ฒฝ๊ณผ ํจ๊ป ์๋ ดํ์ฌ, ๋ฌด์ธ ๋จธ์ง ์ค ๋ฃจํธ๊ฐ ๊นจ์ง๊ฑฐ๋ ๋๊ธ๋ง ์๋ธ๋ชจ๋ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ์ผ์ด ์์ต๋๋ค.
MAGI โ Multi-Agent Ground-truth Insight. ๋ค, ์๋ฐ๊ฒ๋ฆฌ์จ ๋ ํผ๋ฐ์ค๊ฐ ๋จผ์ ์๊ณ ์ฝ์๋ ๋์ค์ ์ด์ฌํ ๊ปด๋ง์ท์ต๋๋ค. ์ฝ๊ธฐ ์ ์ฉ ์กฐ์ฌ(๋ฒ๊ทธ RCA, ์ค๊ณ ๋ฆฌ๋ทฐ, ๊ฐ์ฌ)๋ฅผ ์ฌ๋ฌ ๋ ๋ฆฝ ์์ด์ ํธ์ ๋์์ ๋์ง๊ณ , ๊ทธ๋ค์ด ์ด๋์ ๊ฐ๋ฆฌ๋์ง๋ฅผ ์ฝ์ต๋๋ค.
์ ์ ๋ ๋์ ํฉ์๊ฐ ๊ณง ์ ๋ต์ ์๋๋ผ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ ๋ชจ๋ธ์ ๊ฐ์ ํ๋กฌํํธ์ ๊ฐ์ ์ปจํ ์คํธ๋ฅผ ์ฃผ๋ฉด ๊ฐ์ ํ๊ฐ์ด ๋์ต๋๋ค. ๊ทธ๋์ MAGI๋ ์ง๋ฌธ์ ์๋ก ๋ค๋ฅธ ๋จธ์ ๊ทธ๋ฆฌ๊ณ ์๋ก ๋ค๋ฅธ provider์ fan-outํ๊ณ , ์ถ์ฒ๊ฐ ์ค์ ๋ก ์ผ๋ง๋ ๋ ๋ฆฝ์ ์ด์๋์ง๋ก ํฉ์์ ๊ฐ์ค์ ๋ก๋๋ค:
- ๋ต๋ณ์ agreed / contested / dissent / singleton / source-coupled๋ก ๋ถ๋ฅ๋ฉ๋๋ค โ ๊ฐ์ provider๋ ๊ฐ์ ๋จธ์ ์ ๊ณต์ ํ๋ ๋ฆฌํ๋ฆฌ์นด๋ผ๋ฆฌ์ ํฉ์๋ ๊ณต์ ํ๊ฐ ์์ฌ์ผ๋ก ํ ์ธ๋๋ฉฐ, ๋ ๋ฒ ์ธ์ง ์์ต๋๋ค.
- ์ฃผ ์ถ๋ ฅ์ ํ์ ์ด ์๋๋ผ
needs_verification๋ชฉ๋ก์ ๋๋ค โ ๋ง์ฐฐ์ด ๊ณง ๊ฒฐ๊ณผ๋ฌผ์ ๋๋ค. - ๋ ๋ฆฝ์ฑ์ ํฌ๋ง์ด ์๋๋ผ ๊ฐ์ ์ ๋๋ค: ์ง์ง ๋ ๋ฆฝ์ ์ธ ํ๊น์ด 2๊ฐ ๋ฏธ๋ง์ด๋ฉด ์กฐ์ฉํ ๊ฒฉํ๋์ง ์๊ณ ์๋ฌ๊ฐ ๋ฉ๋๋ค. ๋ฆฌํ๋ฆฌ์นด๋ ์ฝ๊ธฐ ์ ์ฉ์ด๋ผ ๊ต์ฐจ๊ฒ์ฆ์ด ๋ ํฌ์ ์ฐ๊ธฐ๋ฅผ ํ ์ ์์ต๋๋ค.
์ด ํ๋ก์ ํธ์ ์ค์ ์ฌ๋ก: ๋จ์ผ RCA๊ฐ ์์ ์๊ฒ "์ฝ๋ ๋ณ๊ฒฝ ๋ถํ์"๋ก ๊ฒฐ๋ก ๋๋ ๊ฒ์, ๋ ๋ฆฝ ๊ต์ฐจ๊ฒ์ฆ์ด 2์ธต ๋ณตํฉ ๋ฒ๊ทธ๋ก ๋ค์ง์์ต๋๋ค.
์ฑํ ยท๋ช ๋ นยท์คํฌ๋ฆฐ์ทยท์๊ฒฉ ์ ๋ ฅ์ ์ํธํ๋ WebRTC ๋ฐ์ดํฐ ์ฑ๋์ ํตํด ๋์๋ณด๋์ ๋ฐ๋ชฌ ์ฌ์ด์์ ์ง์ ์ด๋ํฉ๋๋ค. ์๋ฒ๋ ์๊ทธ๋๋ง๊ณผ ๊ฒฝ๋ ๋ฉํ๋ฐ์ดํฐ๋ง ์ฒ๋ฆฌํฉ๋๋ค โ ์์ ๋ฐ์ดํฐ๋ ๋ค๋ฅธ ์ฌ๋์ ์๋ฒ์ ์ ์ฅ๋์ง ์์ต๋๋ค. ์ด๊ฒ์ ์ค๊ณ์ ์ ๋ขฐ ์์ฑ์ด๋ฉฐ, ์ ์ ์ด ์๋๋๋ค.
ADHDev๋ ์์ด์ ํธ๋ฅผ ๋์ฒดํ๊ฑฐ๋ ์ง์ spawnํ์ง ์์ต๋๋ค โ ์ด๋ฏธ ๋จธ์ ์ ์ค์น๋ ์์ด์ ํธ์ ๋ถ์ด์ ์ ์ด ํ๋ฉด์ ์ ๊ณตํฉ๋๋ค.
๋ธ๋ผ์ฐ์ / ํฐ
โ ์ฑํ
, ๋ช
๋ น, ์คํฌ๋ฆฐ์ท, ์๊ฒฉ ์
๋ ฅ
โผ
โโโโโโโโโโโโโโโโโ PTY โโโโโโโโโโโโโโโโโโโโโโโโ
โ ๋ฐ๋ชฌ โโโโโโโโโโโโโโโโโโโโโโถโ Claude Code, Codex, โ
โ (๋ด ๋จธ์ ) โโโโโโโโโโโโโโโโโโโโโโโ Cursor CLI, โฆ โ
โ โ CDP โโโโโโโโโโโโโโโโโโโโโโโโค
โ ยท providers โโโโโโโโโโโโโโโโโโโโโโถโ Cursor, VS Code, โ
โ ยท ์ธ์
โ โ Antigravity, โฆ โ
โ ยท ๋ฉ์ + ํ โ stdio (ACP) โโโโโโโโโโโโโโโโโโโโโโโโค
โ ยท Refinery โโโโโโโโโโโโโโโโโโโโโโถโ Goose, Qwen, โฆ โ
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโ git ์ํฌํธ๋ฆฌ โโ ๋ณ๋ ฌ ํ์คํฌ๋น ๊ฒฉ๋ฆฌ๋ ์ฒดํฌ์์ 1๊ฐ
- ๋ฐ๋ชฌ์ด ํตํฉ์ ์์ ํฉ๋๋ค. provider 4์ข
์นดํ
๊ณ ๋ฆฌ:
cli(PTY),ide(Chrome DevTools Protocol),extension(CDP webview),acp(stdio ๊ธฐ๋ฐ Agent Client Protocol). - ์ฅ์ ๋ฐํ์์ ๋ณ๋ ํ๋ก์ธ์ค์
๋๋ค.
adhdev-sessiond๊ฐ PTY๋ฅผ ์์ ํ๋ฏ๋ก CLI ์ธ์ ์ด ๋ฐ๋ชฌ ์ฌ์์ยท์ ๊ทธ๋ ์ด๋๋ฅผ ๊ฒฌ๋ฅ๋๋ค. - ์
ํํธ์คํธ๋ ๋ฐ๋ชฌ๊ณผ ์ง๊ฒฐ๋ฉ๋๋ค โ
localhost:3847์ HTTP + WebSocket. ํด๋ผ์ฐ๋ ์๋์ ์์๋ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋ธ๋ผ์ฐ์ โ๋ฐ๋ชฌ WebRTC ๋ฐ์ดํฐ์ฑ๋์ ํ๊ณ , ์๋ฒ๋ ์๊ทธ๋๋ง๋ง ํฉ๋๋ค.
mesh_enqueue_task โ SQLite ํ (pending)
โ idle ๋
ธ๋๊ฐ claim (assigned)
โ ์์ปค ์์ด์ ํธ๊ฐ ์๊ธฐ git ์ํฌํธ๋ฆฌ์์ ์คํ
โ completed / failed โ append-only ์์ฅ
โ Refinery: ๋ ํฌ ์์ฒด ๊ฒ์ดํธ โ ํจ์น ๋๋ฑ์ฑ โ ff-only ๋จธ์ง โ ์ ๋ฆฌ
๋๋จธ์ง ์ ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๋ค ๊ฐ์ง ์ฑ์ง:
- ์ฝ๋๋ค์ดํฐ๋ ๋ผ์ฐํ ๋ง ํ๊ณ ๊ตฌํํ์ง ์์ต๋๋ค. ์ฝ๋๋ฅผ ์ง์ ์ฝ๊ณ ๊ณ ์น๋ ๋์ ๋ฉ์ ํด์ ์ค์ผ์คํธ๋ ์ด์ ํ๋ฏ๋ก ์ปจํ ์คํธ๊ฐ ์๊ฒ ์ ์ง๋๊ณ , ์์ ๊ถ์ด ๋ฐ๋ชฌ ์ฌ์์์ ๊ฒฌ๋ฅ๋๋ค.
- ์๋ฌด๊ฒ๋ ํด๋งํ์ง ์์ต๋๋ค. reconcile ๋ฃจํ๊ฐ ์๋ฃยท์น์ธยทrefine ์ด๋ฒคํธ๋ฅผ ์ฝ๋๋ค์ดํฐ ์ธ์ ์ ์ฃผ์ ํฉ๋๋ค. ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋ค๋ฆด ๋ฟ, ์ํ๋ฅผ ๋ฐ๋ณต ์กฐํํ์ง ์์ต๋๋ค.
- ์ฆ๊ฑฐ๋ git์ด๊ณ , ์์ด์ ํธ์ ๋ง์ด ์๋๋๋ค. "์๋ฃ"๋ ์์ปค์ ์๊ธฐ๋ณด๊ณ ๊ฐ ์๋๋ผ ์ค์ git ์ํ์ ์ปค๋ฐ ์ฒดํฌํฌ์ธํธ๋ก ๊ฒ์ฆ๋ฉ๋๋ค.
- ์ ๋งคํ๋ฉด ํ์ดํ๋ผ์ธ์ด ๋ฉ์ถฅ๋๋ค. Refinery๋ force-push๋ฅผ ์ ๋ ํ์ง ์๊ณ , ํ๋จํ ์ ์๋ ๊ฒ์ ๋จธ์งํ์ง ์๊ณ ์ฌ๋์๊ฒ ๋๊น๋๋ค.
๋ ๊น์ด: Repo Mesh ๊ฐ๋ฐ์ ๊ฐ์ด๋ ยท session-host
์๊ตฌ์ฌํญ: Node.js 22.x(์๋ Windows ์ฐธ๊ณ ), git, ๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ ์ค์นยท์ธ์ฆ๋ ์ฝ๋ฉ ์์ด์ ํธ ์ต์ 1๊ฐ โ ADHDev๋ ์ด๋ฏธ ์ฐ๊ณ ์๋ CLI๋ฅผ ๊ตฌ๋ํฉ๋๋ค.
๊ถ์ฅ โ adhdev CLI:
npm install -g adhdev
adhdev standalone**http://localhost:3847**์ ์ฌ์ธ์.
standalone ํจํค์ง๋ก ์ง์ ์ ํํธ์คํธ:
npm install -g @adhdev/daemon-standalone
adhdev-standalone๋ชจ๋ ๊ฒ์ด ๋ก์ปฌ ๋ฐ๋ชฌ์ผ๋ก ๋จธ์ ์์ ์คํ๋๋ฉฐ ๋ด์ฅ ๋์๋ณด๋๊ฐ ํฌํจ๋ฉ๋๋ค โ standalone ๊ฒฝ๋ก์๋ ํด๋ผ์ฐ๋ ๊ณ์ ์ด ํ์ํ์ง ์์ต๋๋ค.
์ ์ฉํ ํ๋๊ทธ:
adhdev standalone --host # ๋์ผ LAN์ ๋ค๋ฅธ ๊ธฐ๊ธฐ ์ ๊ทผ ํ์ฉ
adhdev standalone --port 8080 # ์ปค์คํ
ํฌํธ
adhdev standalone --token mysecret # ์คํฌ๋ฆฝํธ/์ด์์ ์ ๊ทผ์ ์ํ ํ ํฐ ์ธ์ฆ
adhdev standalone --no-open # ๋ธ๋ผ์ฐ์ ์๋ ์ด๊ธฐ ๋นํ์ฑํStandalone์ ๊ธฐ๋ณธ์ ์ผ๋ก localhost ์ ์ฉ์
๋๋ค. LAN ์ ๊ทผ์ ์ํด 0.0.0.0์ ๋ฐ์ธ๋ฉํ๋ ๊ฒฝ์ฐ, ํ ํฐ ์ธ์ฆ์ด๋ ๋์๋ณด๋ ๋น๋ฐ๋ฒํธ๊ฐ ์ค์ ๋์ง ์์ผ๋ฉด ๋์๋ณด๋๊ฐ ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค.
Windows ์ฐธ๊ณ : Windows + Node.js 24+๋ ํ์ฌ ์ผ๋ฐ ์์/์ค์น ๊ฒฝ๋ก์์ ์ฐจ๋จ๋ฉ๋๋ค. Node.js 22.x ๋๋ ๋ฌธ์์ ์ค๋ช ๋ PowerShell ์ค์น ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ธ์.
์ ๊ท ์ ํํธ์คํธ ๋ฌธ์:
- ๋ฐ๋ชฌ ์คํ โ
adhdev standaloneํhttp://localhost:3847์ด๊ธฐ. ๋์๋ณด๋๊ฐ ์ด ๋จธ์ ์ ์ค์น๋ ์์ด์ ํธ๋ฅผ ์๋ ๊ฐ์งํฉ๋๋ค. - ์ธ์ ์์. provider(์: Claude Code)์ ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ณจ๋ผ ์์ํ์ธ์. ์ฑํ ์ผ๋ก ์ง์ํ๊ฑฐ๋ ์์ ํฐ๋ฏธ๋๋ก ์ง์ผ๋ณผ ์ ์๊ณ , ๋ ์ฌ์ด๋ฅผ ํ ๊ธํฉ๋๋ค.
- ์์ ์ ๋ณด๋ด๊ณ ์๋ฆฌ๋ฅผ ๋น์ฐ์ธ์. ์์ด์ ํธ๊ฐ ๊ถํ ์์ฒญ์ ๊ฑธ๋ฆฌ๋ฉด, ๋ณด๊ณ ์์ง ์์ ํฐ๋ฏธ๋์ ๋ง๋ ๋์ ๋์๋ณด๋ activity inbox์ ์น์ธ ํญ๋ชฉ์ผ๋ก ์ฌ๋ผ์ต๋๋ค. (๊ทธ ์น์ธ์ ํฐ ํธ์๋ก ๋ฐ๋ ๊ฒ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฅ์ ๋๋ค.)
- ์ค๋ช ์ผ๋ก ๋ถ์กฑํ๋ฉด ์คํฌ๋ฆฐ์ท์ ์ฑํ ์ ๋ถ์ฌ๋ฃ์ผ์ธ์ โ ์์ด์ ํธ ์ปจํ ์คํธ๋ก ๋ฐ๋ก ๋ค์ด๊ฐ๋๋ค.
- ๋จธ์ ํ ๋๋ก ๋ฉ์๋ฅผ ์ํํด๋ณด์ธ์.
/mesh์์ ๋ ํฌ์ ๋ฐ์ธ๋ฉ๋ ๋ฉ์๋ฅผ ๋ง๋ค๊ณ ์ํฌํธ๋ฆฌ ๋ ธ๋๋ฅผ cloneํ ๋ค ํ์คํฌ๋ฅผ ํ์ ๋ฃ๊ณ ์์ฅ์ ๋ณด์ธ์: ๋์คํจ์น โ ์๋ฃ โ Refinery โmain์ผ๋ก fast-forward. ์ฌ๊ธฐ๊น์ง ์ ๋ถ ์ ํํธ์คํธ๋ก ๋์ํ๋ฉฐ, ๋ ๋ฒ์งธ ๋จธ์ ์ผ๋ก ๋์ด๊ฐ ๋๋ง ํด๋ผ์ฐ๋ ์๋์ ์ด ํ์ํฉ๋๋ค.
๋งํ๋ฉด ์ ํํธ์คํธ ์ค์ ๊ฐ์ด๋๊ฐ ํฌํธยทLAN ๋ ธ์ถยทprovider ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๋ค๋ฃน๋๋ค.
ADHDev๋ ๋ค ๊ฐ์ง ํ๋ก๋ฐ์ด๋ ์นดํ
๊ณ ๋ฆฌ๋ฅผ ํตํด ์ฝ๋ฉ ์์ด์ ํธ์ ํต์ ํฉ๋๋ค โ ide (CDP), extension (CDP ์น๋ทฐ), cli (PTY), acp (stdio๋ฅผ ํตํ Agent Client Protocol).
CLI ์์ด์ ํธ (PTY ๊ตฌ๋, ๋์๋ณด๋์์ ์คํยท์ ์ด):
| ์์ด์ ํธ | ํ๋ก๋ฐ์ด๋ |
|---|---|
| Claude Code | cli/claude-cli |
| Codex CLI | cli/codex-cli |
| Cursor Agent | cli/cursor-cli |
| Google Antigravity CLI | cli/antigravity-cli |
| Hermes Agent | cli/hermes-cli |
| Kimi Code | cli/kimi |
| Opencode | cli/opencode |
IDE (Chrome DevTools Protocol ๊ฒฝ์ ): Cursor, Google Antigravity, VS Code, VSCodium, Kiro, Windsurf, Trae, PearAI.
IDE ์ต์คํ ์ (CDP ์น๋ทฐ): Claude Code (VS Code), Codex, Cline, Roo Code.
ACP ์์ด์ ํธ (stdio, Agent Client Protocol): 32๊ฐ ๋ด์ฅ ์ด๋ํฐ โ Gemini CLI, Qwen Code, Goose, GitHub Copilot, Cursor (ACP), Claude Agent, Codex CLI, Kimi CLI, Cline, Kilo, Junie, OpenHands ๋ฑ.
๋ด์ฅ โ ๊ฒ์ฆ๋จ. ADHDev๋ ๊ด๋ฒ์ํ ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์นดํ๋ก๊ทธ์ ์๋ค๋ ๊ฒ์ ํตํฉ์ด ์กด์ฌํ๋ค๋ ์๋ฏธ์ด์ง, ์๋-ํฌ-์๋๋ก ๊ฒ์ฆ๋์๋ค๋ ์๋ฏธ๊ฐ ์๋๋๋ค. ์ง์ ์์ค์ ๋ค์ํฉ๋๋ค. ๋ผ์ด๋ธ ์ ์ฑ ์ ์ฐธ์กฐํ์ธ์:
ADHDev๋ ์์ด์ ํธ์ API ํค๋ฅผ ๊ด๋ฆฌํ์ง ์์ต๋๋ค โ ๊ฐ ๋๊ตฌ๊ฐ ์์ฒด ์ธ์ฆ์ ์ฒ๋ฆฌํฉ๋๋ค. ADHDev๋ ์ค์น ์ํ๋ฅผ ๊ฐ์งํ๊ณ ์ค๋ฅ๋ฅผ ํ์ํฉ๋๋ค.
provider๋ ํฌํฌํด์ผ ํ๋ ์ฝ๋๊ฐ ์๋๋ผ ๋ฐ์ดํฐ์
๋๋ค. provider๋ ๋ฒ์ ์ด ์๋ ๋งค๋ํ์คํธ(provider.v1.json)์, ๋๊ตฌ๋ฅผ ๊ฐ์งํ๊ณ ยท์คํํ๊ณ ยท์ถ๋ ฅ์ ์ฑํ
ํด์ผ๋ก ํ์ฑํ๊ณ ยท์น์ธ ํ๋กฌํํธ๋ฅผ ์ธ์ํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ ์คํฌ๋ฆฝํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ~/.adhdev/providers/์ ๋ฃ์ผ๋ฉด ๋์๋ณด๋๊ฐ ์ง์ด๊ฐ๋๋ค โ ๊ฐ์ ์ด๋ฆ์ ๋ด์ฅ provider๋ณด๋ค ์ฌ์ฉ์ ์ค๋ฒ๋ผ์ด๋๊ฐ ์ฐ์ ํ๋ฏ๋ก, ๋ฆด๋ฆฌ์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๊นจ์ง ํ์๋ฅผ ๋ก์ปฌ์์ ๊ณ ์น ์ ์์ต๋๋ค.
- ์ด ๋ ํฌ์
web-devconsole์ ๋ผ์ด๋ธ ์ธ์ ์ ๋๊ณ provider ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑยทํ ์คํธํ๋ Monaco ๊ธฐ๋ฐ ์๋ํฐ์ ๋๋ค. - ๊ฒ์ฆ ํฐ์ด๋ ๋ช ์์ ์ ๋๋ค: Verified / Partial / Unverified. "๋ด์ฅ"์ ํตํฉ์ด ์กด์ฌํ๋ค๋ ๋ป์ผ ๋ฟ์ ๋๋ค.
- ๊ฐ์ด๋: Provider SDK ยท Provider ๊ฐ์ด๋
์นดํ๋ก๊ทธ์ ์๋ ์์ด์ ํธ๋ฅผ ๋์์์ผฐ๋ค๋ฉด, ๊ทธ๊ฒ์ด ์ด ๋ ํฌ์ ๊ฐ์ฅ ์ ์ฉํ ๊ธฐ์ฌ์ ๋๋ค.
- ๐ฌ Discord โ (์ด๋ ๋งํฌ ๊ณง ๊ณต๊ฐ)
- ๐ Issues
- ๐ค ๊ธฐ์ฌํ๊ธฐ
- ๐ ๋ณ๊ฒฝ ๋ก๊ทธ
์ด๊ฒ์ ์คํ์์ค ์ ํํธ์คํธ ์๋์ (AGPL-3.0)์ ๋๋ค. ํธ์คํ ํด๋ผ์ฐ๋ ์ด์์ ์ด ๋ ํฌ์ ํฌํจ๋์ง ์์ต๋๋ค. ์ ํํธ์คํธ๋ ์ธ ๊ฐ์ง ๋ก์ปฌ ๋ ์ด์ด๋ก ๊ตฌ์ฑ๋ฉ๋๋ค:
daemon-standalone์ ๋ก์ปฌ HTTP/WebSocket ์๋ฒ๋ฅผ ์ ๊ณตํ๊ณ ์น UI๋ฅผ ์๋นํฉ๋๋ค.daemon-core๋ IDE, CLI, ์ต์คํ ์ , ACP ํตํฉ์ ๊ด๋ฆฌํฉ๋๋ค.session-host-daemon(adhdev-sessiond)์ ๋ฐ๋ชฌ ์ฌ์์ ํ์๋ CLI ์ธ์ ์ด ์ด์๋จ์ ์ ์๋๋ก ์ฅ๊ธฐ PTY ๋ฐํ์์ ์์ ํฉ๋๋ค.
| ๊ฒฝ๋ก | ๋ชฉ์ |
|---|---|
packages/daemon-core |
๊ณต์ ์์ง: ํ๋ก๋ฐ์ด๋, CDP, ๋ช ๋ น ๋ผ์ฐํ , ์ธ์ /๋ฐํ์ ์ํ |
packages/daemon-standalone |
๋ก์ปฌ HTTP/WS ์๋ฒ ๋ฐ ๋ฒ๋ค standalone UI |
packages/web-core |
๊ณต์ React ํ์ด์ง, ์ปดํฌ๋ํธ, ํ , ์ ์ก ์ถ์ํ |
packages/web-standalone |
Standalone ๋์๋ณด๋ ์ฑ |
packages/web-devconsole |
ํ๋ก๋ฐ์ด๋/๊ฐ๋ฐ ์ง๋จ UI |
packages/session-host-core |
์ธ์ ํธ์คํธ ํ๋กํ ์ฝ, ํด๋ผ์ด์ธํธ, ๋ ์ง์คํธ๋ฆฌ, ๋ง ๋ฒํผ, ๋ ์ด๋ธ |
packages/session-host-daemon |
์ฅ๊ธฐ PTY ๋ฐํ์ ์์ ํ๋ก์ธ์ค |
packages/terminal-mux-* |
๋ก์ปฌ ํฐ๋ฏธ๋ ๋ฉํฐํ๋ ์ ์คํ |
packages/terminal-render-web |
๋ธ๋ผ์ฐ์ ์ฌ์ด๋ ํฐ๋ฏธ๋ ๋ ๋๋ง ์ง์ |
packages/ghostty-vt-node |
๋ฐํ์/๋ฉํฐํ๋ ์ ๋ ์ด์ด์์ ์ฌ์ฉํ๋ Ghostty VT ๋ฐ์ธ๋ฉ |
GET /api/v1/statusโ sessions[] ๋ฐฐ์ด์ด ์ ๋ขฐ์ ๊ทผ๊ฑฐPOST /api/v1/commandGET /api/v1/runtime/:sessionId/snapshotGET /api/v1/runtime/:sessionId/eventsGET /api/v1/mux/:workspace/statePOST /api/v1/mux/:workspace/controlws://localhost:3847/ws
๋ ํผ๋ฐ์ค: docs/openapi.yml ยท ์ ํํธ์คํธ API ๋ฌธ์
git clone https://github.com/vilmire/adhdev.git
cd adhdev
npm install
npm run build
npm run dev์ ์ฉํ ์ํฌ์คํ์ด์ค ์คํฌ๋ฆฝํธ:
npm run dev:daemon
npm run dev:web
npm run dev -w packages/web-devconsole์์ง์ ์คํ์์ค์ ๋๋ค. ํด๋ผ์ฐ๋๊ฐ ๋ํ๋ ๊ฒ์ ๋๋ฌ ๊ณ์ธต โ ๊ณ์ , 2๋ ์ด์์ ๋จธ์ , ์ธํฐ๋ท ๋๋จธ ์๊ฒฉ ์ ์, ํธ์์ ๋๋ค.
| OSS (์ ํํธ์คํธ) | ํด๋ผ์ฐ๋ (adhf.dev) | |
|---|---|---|
| ๋์๋ณด๋ | localhost:3847 |
adhf.dev, ๋ชจ๋ ๋ธ๋ผ์ฐ์ ยทํฐ |
| ๊ณ์ ํ์ | โ ์ธ์ฆ ์์ | OAuth (GitHub / Google) |
| ๋จธ์ ์ | 1๋ | ํ๋๋ณ 1 / 2 / 5๋ |
| ๋๋ฌ ๋ฒ์ | localhost, --host๋ก LAN๊น์ง |
์ด๋์๋ (P2P WebRTC + ๋งํ ๋คํธ์ํฌ์ฉ TURN) |
| ๋ชจ๋ provider (CLI / IDE / extension / ACP) | โ | โ |
| Repo MeshยทRefineryยทMAGIยท์ํฌํธ๋ฆฌ ๋ ธ๋ | โ ๋จ์ผ ๋จธ์ ๋ฉ์๋ ์์ ํ ๋ก์ปฌ ๋์ | โ |
| ๋จธ์ ๊ฐ ๋ฉ์ | โ (๋จธ์ ๊ฐ ๋ฆด๋ ์ด ์์) | โ |
| ํธ์ ์๋ฆผ (์น์ธ / ์๋ฃ / ์๋ฌ) | โ | โ |
| ํธ์คํ REST API + API ํค | โ (๋ก์ปฌ API๋ง) | โ |
| ๊ฐ๊ฒฉ | ๋ฌด๋ฃ, ์ฟผํฐ ์์ | Free / Pro / Ultra |
๋จธ์ ํ ๋๋ง ์ฐ๊ณ ์๊ธฐ ๋คํธ์ํฌ ์์ ๋จธ๋ฌธ๋ค๋ฉด ์ ํํธ์คํธ๊ฐ ์ ํ ์ ๋ถ์ ๋๋ค โ ๊ธฐ๋ฅ ์ ํ๋, ์ฟผํฐ๋ ์์ต๋๋ค. ํด๋ผ์ฐ๋๋ ๋ ๋ฒ์งธ ๋จธ์ ์ ๋ถ์ด๊ฑฐ๋ ์ง ๋ฐ์์ ์์ด์ ํธ์ ์ ๊ทผํ๋ ค๋ ์๊ฐ์ ์ํด ์กด์ฌํฉ๋๋ค.
AGPL-3.0-or-later. LICENSE๋ฅผ ์ฐธ์กฐํ์ธ์.





