Skip to content

Latest commit

ย 

History

History
914 lines (666 loc) ยท 43 KB

File metadata and controls

914 lines (666 loc) ยท 43 KB

ZeroClaw

ZeroClaw ๐Ÿฆ€

์˜ค๋ฒ„ํ—ค๋“œ ์—†์Œ. ํƒ€ํ˜‘ ์—†์Œ. 100% Rust. 100% ๋…๋ฆฝ์ .
โšก๏ธ $10 ํ•˜๋“œ์›จ์–ด์—์„œ <5MB RAM์œผ๋กœ ์‹คํ–‰: OpenClaw๋ณด๋‹ค 99% ์ ์€ ๋ฉ”๋ชจ๋ฆฌ, Mac mini๋ณด๋‹ค 98% ์ €๋ ด!

License: MIT OR Apache-2.0 Contributors Buy Me a Coffee X: @zeroclawlabs WeChat Group Xiaohongshu: Official Telegram: @zeroclawlabs Facebook Group Reddit: r/zeroclawlabs

Harvard, MIT, ๊ทธ๋ฆฌ๊ณ  Sundai.Club ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ•™์ƒ๋“ค๊ณผ ๋ฉค๋ฒ„๋“ค์ด ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒ ์–ธ์–ด:๐Ÿ‡บ๐Ÿ‡ธ English ยท ๐Ÿ‡จ๐Ÿ‡ณ ็ฎ€ไฝ“ไธญๆ–‡ ยท ๐Ÿ‡ฏ๐Ÿ‡ต ๆ—ฅๆœฌ่ชž ยท ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด ยท ๐Ÿ‡ป๐Ÿ‡ณ Tiแบฟng Viแป‡t ยท ๐Ÿ‡ต๐Ÿ‡ญ Tagalog ยท ๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol ยท ๐Ÿ‡ง๐Ÿ‡ท Portuguรชs ยท ๐Ÿ‡ฎ๐Ÿ‡น Italiano ยท ๐Ÿ‡ฉ๐Ÿ‡ช Deutsch ยท ๐Ÿ‡ซ๐Ÿ‡ท Franรงais ยท ๐Ÿ‡ธ๐Ÿ‡ฆ ุงู„ุนุฑุจูŠุฉ ยท ๐Ÿ‡ฎ๐Ÿ‡ณ เคนเคฟเคจเฅเคฆเฅ€ ยท ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ยท ๐Ÿ‡ง๐Ÿ‡ฉ เฆฌเฆพเฆ‚เฆฒเฆพ ยท ๐Ÿ‡ฎ๐Ÿ‡ฑ ืขื‘ืจื™ืช ยท ๐Ÿ‡ต๐Ÿ‡ฑ Polski ยท ๐Ÿ‡จ๐Ÿ‡ฟ ฤŒeลกtina ยท ๐Ÿ‡ณ๐Ÿ‡ฑ Nederlands ยท ๐Ÿ‡น๐Ÿ‡ท Tรผrkรงe ยท ๐Ÿ‡บ๐Ÿ‡ฆ ะฃะบั€ะฐั—ะฝััŒะบะฐ ยท ๐Ÿ‡ฎ๐Ÿ‡ฉ Bahasa Indonesia ยท ๐Ÿ‡น๐Ÿ‡ญ เน„เธ—เธข ยท ๐Ÿ‡ต๐Ÿ‡ฐ ุงุฑุฏูˆ ยท ๐Ÿ‡ท๐Ÿ‡ด Romรขnฤƒ ยท ๐Ÿ‡ธ๐Ÿ‡ช Svenska ยท ๐Ÿ‡ฌ๐Ÿ‡ท ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ ยท ๐Ÿ‡ญ๐Ÿ‡บ Magyar ยท ๐Ÿ‡ซ๐Ÿ‡ฎ Suomi ยท ๐Ÿ‡ฉ๐Ÿ‡ฐ Dansk ยท ๐Ÿ‡ณ๐Ÿ‡ด Norsk

๋น ๋ฅธ ์‹œ์ž‘ | ์›ํด๋ฆญ ์„ค์ • | ๋ฌธ์„œ ํ—ˆ๋ธŒ | ๋ฌธ์„œ ๋ชฉ์ฐจ

๋น ๋ฅธ ์ ‘๊ทผ: ์ฐธ์กฐ ยท ์šด์˜ ยท ๋ฌธ์ œ ํ•ด๊ฒฐ ยท ๋ณด์•ˆ ยท ํ•˜๋“œ์›จ์–ด ยท ๊ธฐ์—ฌํ•˜๊ธฐ

๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์šฐ๋ฉฐ ์™„์ „ํžˆ ์ž์œจ์ ์ธ AI ์–ด์‹œ์Šคํ„ดํŠธ ์ธํ”„๋ผ
์–ด๋””์„œ๋‚˜ ๋ฐฐํฌ. ๋ฌด์—‡์ด๋“  ๊ต์ฒด.

ZeroClaw๋Š” ์—์ด์ „ํŠธ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์œ„ํ•œ ๋Ÿฐํƒ€์ž„ ์šด์˜์ฒด์ œ์ž…๋‹ˆ๋‹ค โ€” ๋ชจ๋ธ, ๋„๊ตฌ, ๋ฉ”๋ชจ๋ฆฌ, ์‹คํ–‰์„ ์ถ”์ƒํ™”ํ•˜์—ฌ ํ•œ ๋ฒˆ ๊ตฌ์ถ•ํ•˜๊ณ  ์–ด๋””์„œ๋‚˜ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ”„๋ผ์ž…๋‹ˆ๋‹ค.

ํŠธ๋ ˆ์ดํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ยท ๊ธฐ๋ณธ ๋ณด์•ˆ ๋Ÿฐํƒ€์ž„ ยท ๊ต์ฒด ๊ฐ€๋Šฅํ•œ ์ œ๊ณต์ž/์ฑ„๋„/๋„๊ตฌ ยท ๋ชจ๋“  ๊ฒƒ์ด ํ”Œ๋Ÿฌ๊ทธ ๊ฐ€๋Šฅ

๐Ÿ“ข ๊ณต์ง€์‚ฌํ•ญ

์ด ํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘์š”ํ•œ ๊ณต์ง€์‚ฌํ•ญ(ํ˜ธํ™˜์„ฑ ๋ณ€๊ฒฝ, ๋ณด์•ˆ ๊ณต์ง€, ์œ ์ง€๋ณด์ˆ˜ ๊ธฐ๊ฐ„, ๋ฒ„์ „ ์ฐจ๋‹จ)์„ ํ™•์ธํ•˜์„ธ์š”.

๋‚ ์งœ (UTC) ์ˆ˜์ค€ ๊ณต์ง€ ์กฐ์น˜
2026-02-19 ์ค‘์š” ์šฐ๋ฆฌ๋Š” openagen/zeroclaw ๋˜๋Š” zeroclaw.org์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. zeroclaw.org ๋„๋ฉ”์ธ์€ ํ˜„์žฌ openagen/zeroclaw ํฌํฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ๋„๋ฉ”์ธ/์ €์žฅ์†Œ๋Š” ์šฐ๋ฆฌ์˜ ๊ณต์‹ ์›น์‚ฌ์ดํŠธ/ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์นญํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์†Œ์Šค์˜ ์ •๋ณด, ๋ฐ”์ด๋„ˆ๋ฆฌ, ํŽ€๋”ฉ, ๊ณต์ง€๋ฅผ ์‹ ๋ขฐํ•˜์ง€ ๋งˆ์„ธ์š”. ์ด ์ €์žฅ์†Œ์™€ ์šฐ๋ฆฌ์˜ ํ™•์ธ๋œ ์†Œ์…œ ๊ณ„์ •๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.
2026-02-21 ์ค‘์š” ์šฐ๋ฆฌ์˜ ๊ณต์‹ ์›น์‚ฌ์ดํŠธ๊ฐ€ ์ด์ œ ์˜จ๋ผ์ธ์ž…๋‹ˆ๋‹ค: zeroclawlabs.ai. ๊ธฐ๋‹ค๋ ค์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ์‚ฌ์นญ ์‹œ๋„๊ฐ€ ๊ฐ์ง€๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค: ๊ณต์‹ ์ฑ„๋„์„ ํ†ตํ•ด ๊ฒŒ์‹œ๋˜์ง€ ์•Š์€ ZeroClaw ์ด๋ฆ„์˜ ๋ชจ๋“  ํˆฌ์ž/ํŽ€๋”ฉ ํ™œ๋™์— ์ฐธ์—ฌํ•˜์ง€ ๋งˆ์„ธ์š”. ์ด ์ €์žฅ์†Œ๋ฅผ ์œ ์ผํ•œ ์ง„์‹ค์˜ ์›์ฒœ์œผ๋กœ ์‚ฌ์šฉํ•˜์„ธ์š”. X (@zeroclawlabs), Telegram (@zeroclawlabs), Facebook (๊ทธ๋ฃน), Reddit (r/zeroclawlabs), ๊ทธ๋ฆฌ๊ณ  Xiaohongshu๋ฅผ ํŒ”๋กœ์šฐํ•˜์—ฌ ๊ณต์‹ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์œผ์„ธ์š”.
2026-02-19 ์ค‘์š” Anthropic์ด 2026-02-19์— ์ธ์ฆ ๋ฐ ์ž๊ฒฉ์ฆ๋ช… ์‚ฌ์šฉ ์•ฝ๊ด€์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. OAuth ์ธ์ฆ(Free, Pro, Max)์€ Claude Code ๋ฐ Claude.ai ์ „์šฉ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ œํ’ˆ, ๋„๊ตฌ ๋˜๋Š” ์„œ๋น„์Šค(Agent SDK ํฌํ•จ)์—์„œ Claude Free/Pro/Max OAuth ํ† ํฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ์†Œ๋น„์ž ์ด์šฉ์•ฝ๊ด€์„ ์œ„๋ฐ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž ์žฌ์ ์ธ ์†์‹ค์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ผ์‹œ์ ์œผ๋กœ Claude Code OAuth ํ†ตํ•ฉ์„ ํ”ผํ•˜์„ธ์š”. ์›๋ณธ ์กฐํ•ญ: Authentication and Credential Use.

โœจ ๊ธฐ๋Šฅ

  • ๐ŸŽ๏ธ ๊ธฐ๋ณธ ๊ฒฝ๋Ÿ‰ ๋Ÿฐํƒ€์ž„: ์ผ๋ฐ˜์ ์ธ CLI ์›Œํฌํ”Œ๋กœ์šฐ์™€ ์ƒํƒœ ๋ช…๋ น์ด ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ์—์„œ ๋ช‡ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋‚ด์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • ๐Ÿ’ฐ ๋น„์šฉ ํšจ์œจ์ ์ธ ๋ฐฐํฌ: ๋ฌด๊ฑฐ์šด ๋Ÿฐํƒ€์ž„ ์˜์กด์„ฑ ์—†์ด ์ €๋น„์šฉ ๋ณด๋“œ ๋ฐ ์†Œ๊ทœ๋ชจ ํด๋ผ์šฐ๋“œ ์ธ์Šคํ„ด์Šค๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • โšก ๋น ๋ฅธ ์ฝœ๋“œ ์Šคํƒ€ํŠธ: ๋‹จ์ผ Rust ๋ฐ”์ด๋„ˆ๋ฆฌ ๋Ÿฐํƒ€์ž„์ด ์ผ์ƒ์ ์ธ ์šด์˜์„ ์œ„ํ•ด ๊ฑฐ์˜ ์ฆ‰๊ฐ์ ์ธ ๋ช…๋ น ๋ฐ ๋ฐ๋ชฌ ์‹œ์ž‘์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ๐ŸŒ ์ด์‹ ๊ฐ€๋Šฅํ•œ ์•„ํ‚คํ…์ฒ˜: ๊ต์ฒด ๊ฐ€๋Šฅํ•œ ์ œ๊ณต์ž/์ฑ„๋„/๋„๊ตฌ๋กœ ARM, x86, RISC-V์—์„œ ๋‹จ์ผ ๋ฐ”์ด๋„ˆ๋ฆฌ ์›Œํฌํ”Œ๋กœ์šฐ.

์™œ ํŒ€๋“ค์ด ZeroClaw๋ฅผ ์„ ํƒํ•˜๋‚˜์š”

  • ๊ธฐ๋ณธ ๊ฒฝ๋Ÿ‰: ์ž‘์€ Rust ๋ฐ”์ด๋„ˆ๋ฆฌ, ๋น ๋ฅธ ์‹œ์ž‘, ๋‚ฎ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„.
  • ๊ธฐ๋ณธ ๋ณด์•ˆ: ํŽ˜์–ด๋ง, ์—„๊ฒฉํ•œ ์ƒŒ๋“œ๋ฐ•์‹ฑ, ๋ช…์‹œ์  ํ—ˆ์šฉ ๋ชฉ๋ก, ์ž‘์—…๊ณต๊ฐ„ ๋ฒ”์œ„.
  • ์™„์ „ํžˆ ๊ต์ฒด ๊ฐ€๋Šฅ: ํ•ต์‹ฌ ์‹œ์Šคํ…œ์ด ํŠธ๋ ˆ์ดํŠธ์ž…๋‹ˆ๋‹ค(์ œ๊ณต์ž, ์ฑ„๋„, ๋„๊ตฌ, ๋ฉ”๋ชจ๋ฆฌ, ํ„ฐ๋„).
  • ๋ฒค๋” ๋ฝ์ธ ์—†์Œ: OpenAI ํ˜ธํ™˜ ์ œ๊ณต์ž ์ง€์› + ํ”Œ๋Ÿฌ๊ทธ ๊ฐ€๋Šฅํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ์—”๋“œํฌ์ธํŠธ.

๋ฒค์น˜๋งˆํฌ ์Šค๋ƒ…์ƒท (ZeroClaw vs OpenClaw, ์žฌํ˜„ ๊ฐ€๋Šฅ)

๋กœ์ปฌ ๋จธ์‹ ์—์„œ ๋น ๋ฅธ ๋ฒค์น˜๋งˆํฌ(macOS arm64, 2026๋…„ 2์›”) 0.8 GHz ์—ฃ์ง€ ํ•˜๋“œ์›จ์–ด๋กœ ์ •๊ทœํ™”๋จ.

OpenClaw NanoBot PicoClaw ZeroClaw ๐Ÿฆ€
์–ธ์–ด TypeScript Python Go Rust
RAM > 1 GB > 100 MB < 10 MB < 5 MB
์‹œ์ž‘ (0.8 GHz ์ฝ”์–ด) > 500s > 30s < 1s < 10ms
๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๊ธฐ ~28 MB (dist) N/A (Scripts) ~8 MB 3.4 MB
๋น„์šฉ Mac Mini $599 Linux SBC ~$50 Linux ๋ณด๋“œ $10 ๋ชจ๋“  ํ•˜๋“œ์›จ์–ด $10

์ฐธ๊ณ : ZeroClaw ๊ฒฐ๊ณผ๋Š” /usr/bin/time -l์„ ์‚ฌ์šฉํ•œ ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ์—์„œ ์ธก์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. OpenClaw๋Š” Node.js ๋Ÿฐํƒ€์ž„์ด ํ•„์š”ํ•˜๋ฉฐ(์ผ๋ฐ˜์ ์œผ๋กœ ~390MB ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ), NanoBot์€ Python ๋Ÿฐํƒ€์ž„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. PicoClaw์™€ ZeroClaw๋Š” ์ •์  ๋ฐ”์ด๋„ˆ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์œ„ RAM ์ˆ˜์น˜๋Š” ๋Ÿฐํƒ€์ž„ ๋ฉ”๋ชจ๋ฆฌ์ด๋ฉฐ, ๋นŒ๋“œ ์‹œ๊ฐ„ ์ปดํŒŒ์ผ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋” ๋†’์Šต๋‹ˆ๋‹ค.

ZeroClaw vs OpenClaw ๋น„๊ต

์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋กœ์ปฌ ์ธก์ •

๋ฒค์น˜๋งˆํฌ ์ฃผ์žฅ์€ ์ฝ”๋“œ์™€ ํˆด์ฒด์ธ์˜ ๋ฐœ์ „์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•ญ์ƒ ํ˜„์žฌ ๋นŒ๋“œ๋ฅผ ๋กœ์ปฌ์—์„œ ์ธก์ •ํ•˜์„ธ์š”:

cargo build --release
ls -lh target/release/zeroclaw

/usr/bin/time -l target/release/zeroclaw --help
/usr/bin/time -l target/release/zeroclaw status

์ƒ˜ํ”Œ ์˜ˆ์‹œ(macOS arm64, 2026๋…„ 2์›” 18์ผ ์ธก์ •):

  • ๋ฆด๋ฆฌ์Šค ๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๊ธฐ: 8.8M
  • zeroclaw --help: ์‹ค์ œ ์‹œ๊ฐ„ ์•ฝ 0.02s, ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ~3.9 MB
  • zeroclaw status: ์‹ค์ œ ์‹œ๊ฐ„ ์•ฝ 0.01s, ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ~4.1 MB

์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

Windows

Windows โ€” ํ•„์ˆ˜

  1. Visual Studio Build Tools(MSVC ๋ง์ปค ๋ฐ Windows SDK ์ œ๊ณต):

    winget install Microsoft.VisualStudio.2022.BuildTools

    ์„ค์น˜ ์ค‘(๋˜๋Š” Visual Studio Installer๋ฅผ ํ†ตํ•ด) "C++๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์Šคํฌํ†ฑ ๊ฐœ๋ฐœ" ์›Œํฌ๋กœ๋“œ๋ฅผ ์„ ํƒํ•˜์„ธ์š”.

  2. Rust ํˆด์ฒด์ธ:

    winget install Rustlang.Rustup

    ์„ค์น˜ ํ›„, ์ƒˆ ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  rustup default stable์„ ์‹คํ–‰ํ•˜์—ฌ ์•ˆ์ •์ ์ธ ํˆด์ฒด์ธ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

  3. ํ™•์ธ: ๋‘˜ ๋‹ค ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธ:

    rustc --version
    cargo --version

Windows โ€” ์„ ํƒ์‚ฌํ•ญ

Linux / macOS

Linux / macOS โ€” ํ•„์ˆ˜

  1. ํ•„์ˆ˜ ๋นŒ๋“œ ๋„๊ตฌ:

    • Linux (Debian/Ubuntu): sudo apt install build-essential pkg-config
    • Linux (Fedora/RHEL): sudo dnf group install development-tools && sudo dnf install pkg-config
    • macOS: Xcode Command Line Tools ์„ค์น˜: xcode-select --install
  2. Rust ํˆด์ฒด์ธ:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

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

  3. ํ™•์ธ:

    rustc --version
    cargo --version

Linux / macOS โ€” ์„ ํƒ์‚ฌํ•ญ

๋น ๋ฅธ ์‹œ์ž‘

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

bootstrap.sh ์Šคํฌ๋ฆฝํŠธ๋Š” Rust๋ฅผ ์„ค์น˜ํ•˜๊ณ , ZeroClaw๋ฅผ ํด๋ก ํ•˜๊ณ , ์ปดํŒŒ์ผํ•˜๊ณ , ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/master/bootstrap.sh | bash

์ด ์ž‘์—…์€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  1. Rust ์„ค์น˜ (์—†๋Š” ๊ฒฝ์šฐ)
  2. ZeroClaw ์ €์žฅ์†Œ ํด๋ก 
  3. ZeroClaw๋ฅผ ๋ฆด๋ฆฌ์Šค ๋ชจ๋“œ๋กœ ์ปดํŒŒ์ผ
  4. ~/.cargo/bin/์— zeroclaw ์„ค์น˜
  5. ~/.zeroclaw/workspace/์— ๊ธฐ๋ณธ ์ž‘์—…๊ณต๊ฐ„ ๊ตฌ์กฐ ์ƒ์„ฑ
  6. ์‹œ์ž‘์šฉ ~/.zeroclaw/workspace/config.toml ๊ตฌ์„ฑ ํŒŒ์ผ ์ƒ์„ฑ

๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํ›„, ์…ธ์„ ๋‹ค์‹œ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ source ~/.cargo/env๋ฅผ ์‹คํ–‰ํ•˜์—ฌ zeroclaw ๋ช…๋ น์„ ์ „์—ญ์œผ๋กœ ์‚ฌ์šฉํ•˜์„ธ์š”.

์˜ต์…˜ 2: ์ˆ˜๋™ ์„ค์น˜

ํด๋ฆญํ•˜์—ฌ ์ˆ˜๋™ ์„ค์น˜ ๋‹จ๊ณ„ ๋ณด๊ธฐ
# 1. ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/zeroclaw-labs/zeroclaw.git
cd zeroclaw

# 2. ๋ฆด๋ฆฌ์Šค๋กœ ์ปดํŒŒ์ผ
cargo build --release --locked

# 3. ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜
cargo install --path . --locked

# 4. ์ž‘์—…๊ณต๊ฐ„ ์ดˆ๊ธฐํ™”
zeroclaw init

# 5. ์„ค์น˜ ํ™•์ธ
zeroclaw --version
zeroclaw status

์„ค์น˜ ํ›„

์„ค์น˜ ํ›„(๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋˜๋Š” ์ˆ˜๋™), ๋‹ค์Œ์ด ํ‘œ์‹œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

~/.zeroclaw/workspace/
โ”œโ”€โ”€ config.toml          # ๋ฉ”์ธ ๊ตฌ์„ฑ
โ”œโ”€โ”€ .pairing             # ํŽ˜์–ด๋ง ์‹œํฌ๋ฆฟ (์ฒซ ์‹คํ–‰ ์‹œ ์ƒ์„ฑ)
โ”œโ”€โ”€ logs/                # ๋ฐ๋ชฌ/์—์ด์ „ํŠธ ๋กœ๊ทธ
โ”œโ”€โ”€ skills/              # ์‚ฌ์šฉ์ž ์ •์˜ ์Šคํ‚ฌ
โ””โ”€โ”€ memory/              # ๋Œ€ํ™” ์ปจํ…์ŠคํŠธ ์ €์žฅ์†Œ

๋‹ค์Œ ๋‹จ๊ณ„:

  1. ~/.zeroclaw/workspace/config.toml์—์„œ AI ์ œ๊ณต์ž ๊ตฌ์„ฑ
  2. ๊ณ ๊ธ‰ ์˜ต์…˜์€ ๊ตฌ์„ฑ ์ฐธ์กฐ ํ™•์ธ
  3. ์—์ด์ „ํŠธ ์‹œ์ž‘: zeroclaw agent start
  4. ์„ ํ˜ธํ•˜๋Š” ์ฑ„๋„์„ ํ†ตํ•ด ํ…Œ์ŠคํŠธ (์ฑ„๋„ ์ฐธ์กฐ ์ฐธ์กฐ)

๊ตฌ์„ฑ

์ œ๊ณต์ž, ์ฑ„๋„ ๋ฐ ์‹œ์Šคํ…œ ๋™์ž‘์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ~/.zeroclaw/workspace/config.toml์„ ํŽธ์ง‘ํ•˜์„ธ์š”.

๋น ๋ฅธ ๊ตฌ์„ฑ ์ฐธ์กฐ

[providers.anthropic]
api_key = "sk-ant-..."
model = "claude-sonnet-4-20250514"

[providers.openai]
api_key = "sk-..."
model = "gpt-4o"

[channels.telegram]
enabled = true
bot_token = "123456:ABC-DEF..."

[channels.matrix]
enabled = true
homeserver_url = "https://matrix.org"
username = "@bot:matrix.org"
password = "..."

[memory]
kind = "markdown"  # ๋˜๋Š” "sqlite" ๋˜๋Š” "none"

[runtime]
kind = "native"    # ๋˜๋Š” "docker" (Docker ํ•„์š”)

์ „์ฒด ์ฐธ์กฐ ๋ฌธ์„œ:

ํ˜„์žฌ ๋Ÿฐํƒ€์ž„ ์ง€์›

ZeroClaw๋Š” ๋‘ ๊ฐ€์ง€ ์ฝ”๋“œ ์‹คํ–‰ ๋ฐฑ์—”๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

  • native(๊ธฐ๋ณธ๊ฐ’) โ€” ์ง์ ‘ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰, ๊ฐ€์žฅ ๋น ๋ฅธ ๊ฒฝ๋กœ, ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์— ์ด์ƒ์ 
  • docker โ€” ์ „์ฒด ์ปจํ…Œ์ด๋„ˆ ๊ฒฉ๋ฆฌ, ๊ฐ•ํ™”๋œ ๋ณด์•ˆ ์ •์ฑ…, Docker ํ•„์š”

์—„๊ฒฉํ•œ ์ƒŒ๋“œ๋ฐ•์‹ฑ์ด๋‚˜ ๋„คํŠธ์›Œํฌ ๊ฒฉ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ runtime.kind = "docker"๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ตฌ์„ฑ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ช…๋ น์–ด

# ์ž‘์—…๊ณต๊ฐ„ ๊ด€๋ฆฌ
zeroclaw init                # ์ƒˆ ์ž‘์—…๊ณต๊ฐ„ ์ดˆ๊ธฐํ™”
zeroclaw status              # ๋ฐ๋ชฌ/์—์ด์ „ํŠธ ์ƒํƒœ ํ‘œ์‹œ
zeroclaw config validate     # config.toml ๊ตฌ๋ฌธ ๋ฐ ๊ฐ’ ํ™•์ธ

# ๋ฐ๋ชฌ ๊ด€๋ฆฌ
zeroclaw daemon start        # ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋ฐ๋ชฌ ์‹œ์ž‘
zeroclaw daemon stop         # ์‹คํ–‰ ์ค‘์ธ ๋ฐ๋ชฌ ์ค‘์ง€
zeroclaw daemon restart      # ๋ฐ๋ชฌ ์žฌ์‹œ์ž‘ (๊ตฌ์„ฑ ๋‹ค์‹œ ๋กœ๋“œ)
zeroclaw daemon logs         # ๋ฐ๋ชฌ ๋กœ๊ทธ ํ‘œ์‹œ

# ์—์ด์ „ํŠธ ๊ด€๋ฆฌ
zeroclaw agent start         # ์—์ด์ „ํŠธ ์‹œ์ž‘ (๋ฐ๋ชฌ ์‹คํ–‰ ์ค‘ ํ•„์š”)
zeroclaw agent stop          # ์—์ด์ „ํŠธ ์ค‘์ง€
zeroclaw agent restart       # ์—์ด์ „ํŠธ ์žฌ์‹œ์ž‘ (๊ตฌ์„ฑ ๋‹ค์‹œ ๋กœ๋“œ)

# ํŽ˜์–ด๋ง ์ž‘์—…
zeroclaw pairing init        # ์ƒˆ ํŽ˜์–ด๋ง ์‹œํฌ๋ฆฟ ์ƒ์„ฑ
zeroclaw pairing rotate      # ๊ธฐ์กด ํŽ˜์–ด๋ง ์‹œํฌ๋ฆฟ ๊ต์ฒด

# ํ„ฐ๋„๋ง (๊ณต๊ฐœ ๋…ธ์ถœ์šฉ)
zeroclaw tunnel start        # ๋กœ์ปฌ ๋ฐ๋ชฌ์œผ๋กœ ํ„ฐ๋„ ์‹œ์ž‘
zeroclaw tunnel stop         # ํ™œ์„ฑ ํ„ฐ๋„ ์ค‘์ง€

# ์ง„๋‹จ
zeroclaw doctor              # ์‹œ์Šคํ…œ ์ƒํƒœ ๊ฒ€์‚ฌ ์‹คํ–‰
zeroclaw version             # ๋ฒ„์ „ ๋ฐ ๋นŒ๋“œ ์ •๋ณด ํ‘œ์‹œ

์ „์ฒด ์˜ต์…˜ ๋ฐ ์˜ˆ์ œ๋Š” ๋ช…๋ น์–ด ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์•„ํ‚คํ…์ฒ˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ์ฑ„๋„ (ํŠธ๋ ˆ์ดํŠธ)                           โ”‚
โ”‚  Telegram โ”‚ Matrix โ”‚ Slack โ”‚ Discord โ”‚ Web โ”‚ CLI โ”‚ Custom       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ”‚
                          โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ์—์ด์ „ํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”‚
โ”‚  โ”‚   ๋ฉ”์‹œ์ง€      โ”‚  โ”‚   ์ปจํ…์ŠคํŠธ   โ”‚  โ”‚    ๋„๊ตฌ      โ”‚          โ”‚
โ”‚  โ”‚   ๋ผ์šฐํŒ…      โ”‚  โ”‚   ๋ฉ”๋ชจ๋ฆฌ     โ”‚  โ”‚   ์‹คํ–‰       โ”‚          โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ–ผ               โ–ผ               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   ์ œ๊ณต์ž     โ”‚  โ”‚   ๋ฉ”๋ชจ๋ฆฌ     โ”‚  โ”‚    ๋„๊ตฌ      โ”‚
โ”‚   (ํŠธ๋ ˆ์ดํŠธ)  โ”‚  โ”‚   (ํŠธ๋ ˆ์ดํŠธ) โ”‚  โ”‚   (ํŠธ๋ ˆ์ดํŠธ) โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Anthropic   โ”‚  โ”‚   Markdown   โ”‚  โ”‚  Filesystem  โ”‚
โ”‚   OpenAI     โ”‚  โ”‚    SQLite    โ”‚  โ”‚     Bash     โ”‚
โ”‚   Gemini     โ”‚  โ”‚     None     โ”‚  โ”‚   Web Fetch  โ”‚
โ”‚   Ollama     โ”‚  โ”‚    Custom    โ”‚  โ”‚   Custom     โ”‚
โ”‚   Custom     โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
          โ”‚
          โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ๋Ÿฐํƒ€์ž„ (ํŠธ๋ ˆ์ดํŠธ)                                โ”‚
โ”‚                  Native โ”‚ Docker                                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ํ•ต์‹ฌ ์›์น™:

  • ๋ชจ๋“  ๊ฒƒ์ด ํŠธ๋ ˆ์ดํŠธ์ž…๋‹ˆ๋‹ค โ€” ์ œ๊ณต์ž, ์ฑ„๋„, ๋„๊ตฌ, ๋ฉ”๋ชจ๋ฆฌ, ํ„ฐ๋„
  • ์ฑ„๋„์ด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๋ฅผ ํ˜ธ์ถœ; ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ์ œ๊ณต์ž + ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœ
  • ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์ด ๋Œ€ํ™” ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ(markdown, SQLite, ๋˜๋Š” ์—†์Œ)
  • ๋Ÿฐํƒ€์ž„์ด ์ฝ”๋“œ ์‹คํ–‰ ์ถ”์ƒํ™”(๋„ค์ดํ‹ฐ๋ธŒ ๋˜๋Š” Docker)
  • ์ œ๊ณต์ž ๋ฝ์ธ ์—†์Œ โ€” ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด Anthropic โ†” OpenAI โ†” Gemini โ†” Ollama ๊ต์ฒด

์ž์„ธํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ๊ตฌํ˜„ ์„ธ๋ถ€ ์ •๋ณด๋Š” ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์˜ˆ์ œ

ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡

[channels.telegram]
enabled = true
bot_token = "123456:ABC-DEF..."
allowed_users = [987654321]  # ๋‹น์‹ ์˜ ํ…”๋ ˆ๊ทธ๋žจ ์‚ฌ์šฉ์ž ID

๋ฐ๋ชฌ + ์—์ด์ „ํŠธ๋ฅผ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ํ…”๋ ˆ๊ทธ๋žจ์—์„œ ๋ด‡์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์„ธ์š”:

/start
์•ˆ๋…•ํ•˜์„ธ์š”! Python ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์„ ๋„์™€์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

๋ด‡์ด AI๊ฐ€ ์ƒ์„ฑํ•œ ์ฝ”๋“œ๋กœ ์‘๋‹ตํ•˜๊ณ , ์š”์ฒญ ์‹œ ๋„๊ตฌ๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ, ๋Œ€ํ™” ์ปจํ…์ŠคํŠธ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

Matrix (์ข…๋‹จ ๊ฐ„ ์•”ํ˜ธํ™”)

[channels.matrix]
enabled = true
homeserver_url = "https://matrix.org"
username = "@zeroclaw:matrix.org"
password = "..."
device_name = "zeroclaw-prod"
e2ee_enabled = true

์•”ํ˜ธํ™”๋œ ๋ฐฉ์— @zeroclaw:matrix.org๋ฅผ ์ดˆ๋Œ€ํ•˜๋ฉด ๋ด‡์ด ์™„์ „ํ•œ ์•”ํ˜ธํ™”๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์žฅ์น˜ ํ™•์ธ ์„ค์ •์€ Matrix E2EE ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์ค‘ ์ œ๊ณต์ž

[providers.anthropic]
enabled = true
api_key = "sk-ant-..."
model = "claude-sonnet-4-20250514"

[providers.openai]
enabled = true
api_key = "sk-..."
model = "gpt-4o"

[orchestrator]
default_provider = "anthropic"
fallback_providers = ["openai"]  # ์ œ๊ณต์ž ์˜ค๋ฅ˜ ์‹œ ์žฅ์•  ์กฐ์น˜

Anthropic์ด ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์†๋„ ์ œํ•œ์ด ๊ฑธ๋ฆฌ๋ฉด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ OpenAI๋กœ ์žฅ์•  ์กฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”๋ชจ๋ฆฌ

[memory]
kind = "sqlite"
path = "~/.zeroclaw/workspace/memory/conversations.db"
retention_days = 90  # 90์ผ ํ›„ ์ž๋™ ์‚ญ์ œ

๋˜๋Š” ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ €์žฅ์†Œ๋ฅผ ์œ„ํ•ด Markdown์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

[memory]
kind = "markdown"
path = "~/.zeroclaw/workspace/memory/"

๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ ์˜ต์…˜์€ ๊ตฌ์„ฑ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ œ๊ณต์ž ์ง€์›

์ œ๊ณต์ž ์ƒํƒœ API ํ‚ค ์˜ˆ์ œ ๋ชจ๋ธ
Anthropic โœ… ์•ˆ์ • ANTHROPIC_API_KEY claude-sonnet-4-20250514, claude-opus-4-20250514
OpenAI โœ… ์•ˆ์ • OPENAI_API_KEY gpt-4o, gpt-4o-mini, o1, o1-mini
Google Gemini โœ… ์•ˆ์ • GOOGLE_API_KEY gemini-2.0-flash-exp, gemini-exp-1206
Ollama โœ… ์•ˆ์ • N/A (๋กœ์ปฌ) llama3.3, qwen2.5, phi4
Cerebras โœ… ์•ˆ์ • CEREBRAS_API_KEY llama-3.3-70b
Groq โœ… ์•ˆ์ • GROQ_API_KEY llama-3.3-70b-versatile
Mistral ๐Ÿšง ๊ณ„ํš ์ค‘ MISTRAL_API_KEY TBD
Cohere ๐Ÿšง ๊ณ„ํš ์ค‘ COHERE_API_KEY TBD

์‚ฌ์šฉ์ž ์ •์˜ ์—”๋“œํฌ์ธํŠธ

ZeroClaw๋Š” OpenAI ํ˜ธํ™˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

[providers.custom]
enabled = true
api_key = "..."
base_url = "https://api.your-llm-provider.com/v1"
model = "your-model-name"

์˜ˆ: LiteLLM์„ ํ”„๋ก์‹œ๋กœ ์‚ฌ์šฉํ•˜์—ฌ OpenAI ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋ชจ๋“  LLM์— ์•ก์„ธ์Šค.

์ „์ฒด ๊ตฌ์„ฑ ์„ธ๋ถ€ ์ •๋ณด๋Š” ์ œ๊ณต์ž ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฑ„๋„ ์ง€์›

์ฑ„๋„ ์ƒํƒœ ์ธ์ฆ ์ฐธ๊ณ 
Telegram โœ… ์•ˆ์ • ๋ด‡ ํ† ํฐ ํŒŒ์ผ, ์ด๋ฏธ์ง€, ์ธ๋ผ์ธ ๋ฒ„ํŠผ ํฌํ•จ ์ „์ฒด ์ง€์›
Matrix โœ… ์•ˆ์ • ๋น„๋ฐ€๋ฒˆํ˜ธ ๋˜๋Š” ํ† ํฐ ์žฅ์น˜ ํ™•์ธ๊ณผ ํ•จ๊ป˜ E2EE ์ง€์›
Slack ๐Ÿšง ๊ณ„ํš ์ค‘ OAuth ๋˜๋Š” ๋ด‡ ํ† ํฐ ์ž‘์—…๊ณต๊ฐ„ ์•ก์„ธ์Šค ํ•„์š”
Discord ๐Ÿšง ๊ณ„ํš ์ค‘ ๋ด‡ ํ† ํฐ ๊ธธ๋“œ ๊ถŒํ•œ ํ•„์š”
WhatsApp ๐Ÿšง ๊ณ„ํš ์ค‘ Twilio ๋˜๋Š” ๊ณต์‹ API ๋น„์ฆˆ๋‹ˆ์Šค ๊ณ„์ • ํ•„์š”
CLI โœ… ์•ˆ์ • ์—†์Œ ์ง์ ‘ ๋Œ€ํ™”ํ˜• ์ธํ„ฐํŽ˜์ด์Šค
Web ๐Ÿšง ๊ณ„ํš ์ค‘ API ํ‚ค ๋˜๋Š” OAuth ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค

์ „์ฒด ๊ตฌ์„ฑ ์ง€์นจ์€ ์ฑ„๋„ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋„๊ตฌ ์ง€์›

ZeroClaw๋Š” ์ฝ”๋“œ ์‹คํ–‰, ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค ๋ฐ ์›น ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

๋„๊ตฌ ์„ค๋ช… ํ•„์ˆ˜ ๋Ÿฐํƒ€์ž„
bash ์…ธ ๋ช…๋ น ์‹คํ–‰ ๋„ค์ดํ‹ฐ๋ธŒ ๋˜๋Š” Docker
python Python ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ Python 3.8+ (๋„ค์ดํ‹ฐ๋ธŒ) ๋˜๋Š” Docker
javascript Node.js ์ฝ”๋“œ ์‹คํ–‰ Node.js 18+ (๋„ค์ดํ‹ฐ๋ธŒ) ๋˜๋Š” Docker
filesystem_read ํŒŒ์ผ ์ฝ๊ธฐ ๋„ค์ดํ‹ฐ๋ธŒ ๋˜๋Š” Docker
filesystem_write ํŒŒ์ผ ์“ฐ๊ธฐ ๋„ค์ดํ‹ฐ๋ธŒ ๋˜๋Š” Docker
web_fetch ์›น ์ฝ˜ํ…์ธ  ๊ฐ€์ ธ์˜ค๊ธฐ ๋„ค์ดํ‹ฐ๋ธŒ ๋˜๋Š” Docker

์‹คํ–‰ ๋ณด์•ˆ

  • ๋„ค์ดํ‹ฐ๋ธŒ ๋Ÿฐํƒ€์ž„ โ€” ๋ฐ๋ชฌ์˜ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰, ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์ „์ฒด ์•ก์„ธ์Šค
  • Docker ๋Ÿฐํƒ€์ž„ โ€” ์ „์ฒด ์ปจํ…Œ์ด๋„ˆ ๊ฒฉ๋ฆฌ, ๋ณ„๋„์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฐ ๋„คํŠธ์›Œํฌ

config.toml์—์„œ ์‹คํ–‰ ์ •์ฑ…์„ ๊ตฌ์„ฑํ•˜์„ธ์š”:

[runtime]
kind = "docker"
allowed_tools = ["bash", "python", "filesystem_read"]  # ๋ช…์‹œ์  ํ—ˆ์šฉ ๋ชฉ๋ก

์ „์ฒด ๋ณด์•ˆ ์˜ต์…˜์€ ๊ตฌ์„ฑ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฐฐํฌ

๋กœ์ปฌ ๋ฐฐํฌ (๊ฐœ๋ฐœ)

zeroclaw daemon start
zeroclaw agent start

์„œ๋ฒ„ ๋ฐฐํฌ (ํ”„๋กœ๋•์…˜)

systemd๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ๋ชฌ๊ณผ ์—์ด์ „ํŠธ๋ฅผ ์„œ๋น„์Šค๋กœ ๊ด€๋ฆฌํ•˜์„ธ์š”:

# ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜
cargo install --path . --locked

# ์ž‘์—…๊ณต๊ฐ„ ๊ตฌ์„ฑ
zeroclaw init

# systemd ์„œ๋น„์Šค ํŒŒ์ผ ์ƒ์„ฑ
sudo cp deployment/systemd/zeroclaw-daemon.service /etc/systemd/system/
sudo cp deployment/systemd/zeroclaw-agent.service /etc/systemd/system/

# ์„œ๋น„์Šค ํ™œ์„ฑํ™” ๋ฐ ์‹œ์ž‘
sudo systemctl enable zeroclaw-daemon zeroclaw-agent
sudo systemctl start zeroclaw-daemon zeroclaw-agent

# ์ƒํƒœ ํ™•์ธ
sudo systemctl status zeroclaw-daemon
sudo systemctl status zeroclaw-agent

์ „์ฒด ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ ์ง€์นจ์€ ๋„คํŠธ์›Œํฌ ๋ฐฐํฌ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Docker

# ์ด๋ฏธ์ง€ ๋นŒ๋“œ
docker build -t zeroclaw:latest .

# ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
docker run -d \
  --name zeroclaw \
  -v ~/.zeroclaw/workspace:/workspace \
  -e ANTHROPIC_API_KEY=sk-ant-... \
  zeroclaw:latest

๋นŒ๋“œ ์„ธ๋ถ€ ์ •๋ณด ๋ฐ ๊ตฌ์„ฑ ์˜ต์…˜์€ Dockerfile์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์—ฃ์ง€ ํ•˜๋“œ์›จ์–ด

ZeroClaw๋Š” ์ €์ „๋ ฅ ํ•˜๋“œ์›จ์–ด์—์„œ ์‹คํ–‰๋˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

  • Raspberry Pi Zero 2 W โ€” ~512 MB RAM, ๋‹จ์ผ ARMv8 ์ฝ”์–ด, < $5 ํ•˜๋“œ์›จ์–ด ๋น„์šฉ
  • Raspberry Pi 4/5 โ€” 1 GB+ RAM, ๋ฉ€ํ‹ฐ์ฝ”์–ด, ๋™์‹œ ์›Œํฌ๋กœ๋“œ์— ์ด์ƒ์ 
  • Orange Pi Zero 2 โ€” ~512 MB RAM, ์ฟผ๋“œ์ฝ”์–ด ARMv8, ์ดˆ์ €๋น„์šฉ
  • x86 SBCs (Intel N100) โ€” 4-8 GB RAM, ๋น ๋ฅธ ๋นŒ๋“œ, ๋„ค์ดํ‹ฐ๋ธŒ Docker ์ง€์›

์žฅ์น˜๋ณ„ ์„ค์ • ์ง€์นจ์€ ํ•˜๋“œ์›จ์–ด ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ„ฐ๋„๋ง (๊ณต๊ฐœ ๋…ธ์ถœ)

๋ณด์•ˆ ํ„ฐ๋„์„ ํ†ตํ•ด ๋กœ์ปฌ ZeroClaw ๋ฐ๋ชฌ์„ ๊ณต๊ฐœ ๋„คํŠธ์›Œํฌ์— ๋…ธ์ถœํ•˜์„ธ์š”:

zeroclaw tunnel start --provider cloudflare

์ง€์›๋˜๋Š” ํ„ฐ๋„ ์ œ๊ณต์ž:

  • Cloudflare Tunnel โ€” ๋ฌด๋ฃŒ HTTPS, ํฌํŠธ ๋…ธ์ถœ ์—†์Œ, ๋ฉ€ํ‹ฐ ๋„๋ฉ”์ธ ์ง€์›
  • Ngrok โ€” ๋น ๋ฅธ ์„ค์ •, ์‚ฌ์šฉ์ž ์ •์˜ ๋„๋ฉ”์ธ (์œ ๋ฃŒ ํ”Œ๋žœ)
  • Tailscale โ€” ํ”„๋ผ์ด๋น— ๋ฉ”์‹œ ๋„คํŠธ์›Œํฌ, ๊ณต๊ฐœ ํฌํŠธ ์—†์Œ

์ „์ฒด ๊ตฌ์„ฑ ์˜ต์…˜์€ ๊ตฌ์„ฑ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ณด์•ˆ

ZeroClaw๋Š” ์—ฌ๋Ÿฌ ๋ณด์•ˆ ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค:

ํŽ˜์–ด๋ง

๋ฐ๋ชฌ์€ ์ฒซ ์‹คํ–‰ ์‹œ ~/.zeroclaw/workspace/.pairing์— ์ €์žฅ๋œ ํŽ˜์–ด๋ง ์‹œํฌ๋ฆฟ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ(์—์ด์ „ํŠธ, CLI)๋Š” ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ด ์‹œํฌ๋ฆฟ์„ ์ œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

zeroclaw pairing rotate  # ์ƒˆ ์‹œํฌ๋ฆฟ ์ƒ์„ฑ ๋ฐ ์ด์ „ ๊ฒƒ ๋ฌดํšจํ™”

์ƒŒ๋“œ๋ฐ•์‹ฑ

  • Docker ๋Ÿฐํƒ€์ž„ โ€” ๋ณ„๋„์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฐ ๋„คํŠธ์›Œํฌ๋กœ ์ „์ฒด ์ปจํ…Œ์ด๋„ˆ ๊ฒฉ๋ฆฌ
  • ๋„ค์ดํ‹ฐ๋ธŒ ๋Ÿฐํƒ€์ž„ โ€” ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ๋ฒ”์œ„ ์ง€์ •

ํ—ˆ์šฉ ๋ชฉ๋ก

์ฑ„๋„์€ ์‚ฌ์šฉ์ž ID๋กœ ์•ก์„ธ์Šค๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

[channels.telegram]
enabled = true
allowed_users = [123456789, 987654321]  # ๋ช…์‹œ์  ํ—ˆ์šฉ ๋ชฉ๋ก

์•”ํ˜ธํ™”

  • Matrix E2EE โ€” ์žฅ์น˜ ํ™•์ธ๊ณผ ํ•จ๊ป˜ ์™„์ „ํ•œ ์ข…๋‹จ ๊ฐ„ ์•”ํ˜ธํ™”
  • TLS ์ „์†ก โ€” ๋ชจ๋“  API ๋ฐ ํ„ฐ๋„ ํŠธ๋ž˜ํ”ฝ์ด HTTPS/TLS ์‚ฌ์šฉ

์ „์ฒด ์ •์ฑ… ๋ฐ ๊ด€ํ–‰์€ ๋ณด์•ˆ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ด€์ฐฐ ๊ฐ€๋Šฅ์„ฑ

ZeroClaw๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ~/.zeroclaw/workspace/logs/์— ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋ณ„๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค:

~/.zeroclaw/workspace/logs/
โ”œโ”€โ”€ daemon.log           # ๋ฐ๋ชฌ ๋กœ๊ทธ (์‹œ์ž‘, API ์š”์ฒญ, ์˜ค๋ฅ˜)
โ”œโ”€โ”€ agent.log            # ์—์ด์ „ํŠธ ๋กœ๊ทธ (๋ฉ”์‹œ์ง€ ๋ผ์šฐํŒ…, ๋„๊ตฌ ์‹คํ–‰)
โ”œโ”€โ”€ telegram.log         # ์ฑ„๋„๋ณ„ ๋กœ๊ทธ (ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ)
โ””โ”€โ”€ matrix.log           # ์ฑ„๋„๋ณ„ ๋กœ๊ทธ (ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ)

๋กœ๊น… ๊ตฌ์„ฑ

[logging]
level = "info"                           # debug, info, warn, error
path = "~/.zeroclaw/workspace/logs/"
rotation = "daily"                       # daily, hourly, size
max_size_mb = 100                        # ํฌ๊ธฐ ๊ธฐ๋ฐ˜ ํšŒ์ „์šฉ
retention_days = 30                      # N์ผ ํ›„ ์ž๋™ ์‚ญ์ œ

๋ชจ๋“  ๋กœ๊น… ์˜ต์…˜์€ ๊ตฌ์„ฑ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฉ”ํŠธ๋ฆญ (๊ณ„ํš ์ค‘)

ํ”„๋กœ๋•์…˜ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•œ Prometheus ๋ฉ”ํŠธ๋ฆญ ์ง€์›์ด ๊ณง ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. #234์—์„œ ์ถ”์  ์ค‘.

์Šคํ‚ฌ (Skills)

ZeroClaw๋Š” ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ์ธ ์‚ฌ์šฉ์ž ์ •์˜ ์Šคํ‚ฌ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ‚ฌ ์ •์˜

์Šคํ‚ฌ์€ ๋‹ค์Œ ๊ตฌ์กฐ๋กœ ~/.zeroclaw/workspace/skills/<skill-name>/์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค:

skills/
โ””โ”€โ”€ my-skill/
    โ”œโ”€โ”€ skill.toml       # ์Šคํ‚ฌ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ (์ด๋ฆ„, ์„ค๋ช…, ์˜์กด์„ฑ)
    โ”œโ”€โ”€ prompt.md        # AI์šฉ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ
    โ””โ”€โ”€ tools/           # ์„ ํƒ์  ์‚ฌ์šฉ์ž ์ •์˜ ๋„๊ตฌ
        โ””โ”€โ”€ my_tool.py

์Šคํ‚ฌ ์˜ˆ์ œ

# skills/web-research/skill.toml
[skill]
name = "web-research"
description = "์›น ๊ฒ€์ƒ‰ ๋ฐ ๊ฒฐ๊ณผ ์š”์•ฝ"
version = "1.0.0"

[dependencies]
tools = ["web_fetch", "bash"]
<!-- skills/web-research/prompt.md -->

๋‹น์‹ ์€ ์—ฐ๊ตฌ ์–ด์‹œ์Šคํ„ดํŠธ์ž…๋‹ˆ๋‹ค. ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ผ๋Š” ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด:

1. web_fetch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ˜ํ…์ธ  ๊ฐ€์ ธ์˜ค๊ธฐ
2. ์ฝ๊ธฐ ์‰ฌ์šด ํ˜•์‹์œผ๋กœ ๊ฒฐ๊ณผ ์š”์•ฝ
3. URL๋กœ ์ถœ์ฒ˜ ์ธ์šฉ

์Šคํ‚ฌ ์‚ฌ์šฉ

์Šคํ‚ฌ์€ ์—์ด์ „ํŠธ ์‹œ์ž‘ ์‹œ ์ž๋™์œผ๋กœ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”์—์„œ ์ด๋ฆ„์œผ๋กœ ์ฐธ์กฐํ•˜์„ธ์š”:

์‚ฌ์šฉ์ž: ์›น ์—ฐ๊ตฌ ์Šคํ‚ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์‹  AI ๋‰ด์Šค ์ฐพ๊ธฐ
๋ด‡: [์›น ์—ฐ๊ตฌ ์Šคํ‚ฌ ๋กœ๋“œ, web_fetch ์‹คํ–‰, ๊ฒฐ๊ณผ ์š”์•ฝ]

์ „์ฒด ์Šคํ‚ฌ ์ƒ์„ฑ ์ง€์นจ์€ ์Šคํ‚ฌ (Skills) ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Open Skills

ZeroClaw๋Š” Open Skills๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค โ€” AI ์—์ด์ „ํŠธ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆํ˜• ๋ฐ ์ œ๊ณต์ž ๋…๋ฆฝ์ ์ธ ์‹œ์Šคํ…œ.

Open Skills ํ™œ์„ฑํ™”

[skills]
open_skills_enabled = true
# open_skills_dir = "/path/to/open-skills"  # ์„ ํƒ์‚ฌํ•ญ

๋Ÿฐํƒ€์ž„์— ZEROCLAW_OPEN_SKILLS_ENABLED ๋ฐ ZEROCLAW_OPEN_SKILLS_DIR๋กœ ์žฌ์ •์˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ

cargo build              # ๊ฐœ๋ฐœ ๋นŒ๋“œ
cargo build --release    # ๋ฆด๋ฆฌ์Šค ๋นŒ๋“œ (codegen-units=1, Raspberry Pi ํฌํ•จ ๋ชจ๋“  ์žฅ์น˜์—์„œ ์ž‘๋™)
cargo build --profile release-fast    # ๋” ๋น ๋ฅธ ๋นŒ๋“œ (codegen-units=8, 16 GB+ RAM ํ•„์š”)
cargo test               # ์ „์ฒด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ ์‹คํ–‰
cargo clippy --locked --all-targets -- -D clippy::correctness
cargo fmt                # ํฌ๋งท

# SQLite vs Markdown ๋น„๊ต ๋ฒค์น˜๋งˆํฌ ์‹คํ–‰
cargo test --test memory_comparison -- --nocapture

pre-push ํ›…

git ํ›…์ด ๊ฐ ํ‘ธ์‹œ ์ „์— cargo fmt --check, cargo clippy -- -D warnings, ๊ทธ๋ฆฌ๊ณ  cargo test๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”:

git config core.hooksPath .githooks

๋นŒ๋“œ ๋ฌธ์ œ ํ•ด๊ฒฐ (Linux์—์„œ OpenSSL ์˜ค๋ฅ˜)

openssl-sys ๋นŒ๋“œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ข…์†์„ฑ์„ ๋™๊ธฐํ™”ํ•˜๊ณ  ์ €์žฅ์†Œ์˜ lockfile๋กœ ๋‹ค์‹œ ๋นŒ๋“œํ•˜์„ธ์š”:

git pull
cargo build --release --locked
cargo install --path . --force --locked

ZeroClaw๋Š” HTTP/TLS ์ข…์†์„ฑ์— ๋Œ€ํ•ด rustls๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค; --locked๋Š” ๊นจ๋—ํ•œ ํ™˜๊ฒฝ์—์„œ ์ „์ด์  ๊ทธ๋ž˜ํ”„๋ฅผ ๊ฒฐ์ •์ ์œผ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์ค‘ ๋น ๋ฅธ ํ‘ธ์‹œ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ํ›…์„ ๊ฑด๋„ˆ๋›ฐ๋ ค๋ฉด:

git push --no-verify

ํ˜‘์—… ๋ฐ ๋ฌธ์„œ

์ž‘์—… ๊ธฐ๋ฐ˜ ๋งต์„ ์œ„ํ•ด ๋ฌธ์„œ ํ—ˆ๋ธŒ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”:

์ฃผ์š” ํ˜‘์—… ์ฐธ์กฐ:

๋ฐฐํฌ ๋ฐ ๋Ÿฐํƒ€์ž„ ์šด์˜์šฉ:

ZeroClaw ์ง€์›ํ•˜๊ธฐ

ZeroClaw๊ฐ€ ๋‹น์‹ ์˜ ์ž‘์—…์— ๋„์›€์ด ๋˜์—ˆ๊ณ  ์ง€์†์ ์ธ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์—ฌ๊ธฐ์—์„œ ๊ธฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์ปคํ”ผ ํ•œ ์ž” ์‚ฌ์ฃผ๊ธฐ

๐Ÿ™ ํŠน๋ณ„ ๊ฐ์‚ฌ

์ด ์˜คํ”ˆ์†Œ์Šค ์ž‘์—…์— ์˜๊ฐ์„ ์ฃผ๊ณ  ์ง€์›ํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ๊ด€์— ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค:

  • Harvard University โ€” ์ง€์  ํ˜ธ๊ธฐ์‹ฌ์„ ํ‚ค์šฐ๊ณ  ๊ฐ€๋Šฅ์„ฑ์˜ ํ•œ๊ณ„๋ฅผ ๋„“ํ˜€์คŒ.
  • MIT โ€” ์—ด๋ฆฐ ์ง€์‹, ์˜คํ”ˆ์†Œ์Šค, ๊ธฐ์ˆ ์ด ๋ชจ๋‘์—๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ์‹ ๋…์„ ์˜นํ˜ธํ•จ.
  • Sundai Club โ€” ์ปค๋ฎค๋‹ˆํ‹ฐ, ์—๋„ˆ์ง€, ๊ทธ๋ฆฌ๊ณ  ์˜๋ฏธ ์žˆ๋Š” ๊ฒƒ์„ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ๋Š์ž„์—†๋Š” ์˜์ง€.
  • ์„ธ๊ณ„ ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋„ˆ๋จธ ๐ŸŒโœจ โ€” ์˜คํ”ˆ์†Œ์Šค๋ฅผ ์„ ํ•œ ํž˜์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ชจ๋“  ๊ธฐ์—ฌ์ž, ๊ฟˆ๊พธ๋Š” ์ž, ๊ทธ๋ฆฌ๊ณ  ๋นŒ๋”์—๊ฒŒ. ์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ๋ถ„์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ตœ๊ณ ์˜ ์•„์ด๋””์–ด๊ฐ€ ๋ชจ๋“  ๊ณณ์—์„œ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์ฝ๊ณ  ์žˆ๋‹ค๋ฉด ์—ฌ๋Ÿฌ๋ถ„๋„ ๊ทธ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฆ€โค๏ธ

โš ๏ธ ๊ณต์‹ ์ €์žฅ์†Œ ๋ฐ ์‚ฌ์นญ ๊ฒฝ๊ณ 

์ด๊ฒƒ์ด ์œ ์ผํ•œ ๊ณต์‹ ZeroClaw ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค:

https://github.com/zeroclaw-labs/zeroclaw

"ZeroClaw"๋ผ๊ณ  ์ฃผ์žฅํ•˜๊ฑฐ๋‚˜ ZeroClaw Labs์™€์˜ ์ œํœด๋ฅผ ์•”์‹œํ•˜๋Š” ๋‹ค๋ฅธ ์ €์žฅ์†Œ, ์กฐ์ง, ๋„๋ฉ”์ธ ๋˜๋Š” ํŒจํ‚ค์ง€๋Š” ์Šน์ธ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์ด ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์•Œ๋ ค์ง„ ์Šน์ธ๋˜์ง€ ์•Š์€ ํฌํฌ๋Š” TRADEMARK.md์— ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์นญ ๋˜๋Š” ์ƒํ‘œ ์˜ค์šฉ์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ์ด์Šˆ๋ฅผ ์—ด์–ด ์‹ ๊ณ ํ•ด ์ฃผ์„ธ์š”.


๋ผ์ด์„ ์Šค

ZeroClaw๋Š” ์ตœ๋Œ€ํ•œ์˜ ๊ฐœ๋ฐฉ์„ฑ๊ณผ ๊ธฐ์—ฌ์ž ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ๋“€์–ผ ๋ผ์ด์„ ์Šค๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค:

๋ผ์ด์„ ์Šค ์‚ฌ์šฉ ์‚ฌ๋ก€
MIT ์˜คํ”ˆ์†Œ์Šค, ์—ฐ๊ตฌ, ํ•™์ˆ , ๊ฐœ์ธ ์‚ฌ์šฉ
Apache 2.0 ํŠนํ—ˆ ๋ณดํ˜ธ, ๊ธฐ๊ด€, ์ƒ์—… ๋ฐฐํฌ

๋‘ ๋ผ์ด์„ ์Šค ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์—ฌ์ž๋Š” ์ž๋™์œผ๋กœ ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค โ€” ์ „์ฒด ๊ธฐ์—ฌ์ž ๊ณ„์•ฝ์€ CLA.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ƒํ‘œ

ZeroClaw ์ด๋ฆ„๊ณผ ๋กœ๊ณ ๋Š” ZeroClaw Labs์˜ ๋“ฑ๋ก ์ƒํ‘œ์ž…๋‹ˆ๋‹ค. ์ด ๋ผ์ด์„ ์Šค๋Š” ์Šน์ธ ๋˜๋Š” ์ œํœด๋ฅผ ์•”์‹œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ—ˆ์šฉ ๋ฐ ๊ธˆ์ง€๋œ ์‚ฌ์šฉ์€ TRADEMARK.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ธฐ์—ฌ์ž ๋ณดํ˜ธ

  • ๊ธฐ์—ฌ์˜ ์ €์ž‘๊ถŒ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค
  • ํŠนํ—ˆ ๋ถ€์—ฌ (Apache 2.0)๊ฐ€ ๋‹ค๋ฅธ ๊ธฐ์—ฌ์ž์˜ ํŠนํ—ˆ ์ฒญ๊ตฌ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค
  • ๊ธฐ์—ฌ๋Š” ์ปค๋ฐ‹ ๊ธฐ๋ก๊ณผ NOTICE์— ์˜๊ตฌ์ ์œผ๋กœ ๊ท€์†๋ฉ๋‹ˆ๋‹ค
  • ๊ธฐ์—ฌํ•จ์œผ๋กœ์จ ์ƒํ‘œ๊ถŒ์ด ์ด์ „๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

๊ธฐ์—ฌํ•˜๊ธฐ

CONTRIBUTING.md์™€ CLA.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ํŠธ๋ ˆ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  PR์„ ์ œ์ถœํ•˜์„ธ์š”:

  • CI ์›Œํฌํ”Œ๋กœ ๊ฐ€์ด๋“œ: docs/ci-map.md
  • ์ƒˆ Provider โ†’ src/providers/
  • ์ƒˆ Channel โ†’ src/channels/
  • ์ƒˆ Observer โ†’ src/observability/
  • ์ƒˆ Tool โ†’ src/tools/
  • ์ƒˆ Memory โ†’ src/memory/
  • ์ƒˆ Tunnel โ†’ src/tunnel/
  • ์ƒˆ Skill โ†’ ~/.zeroclaw/workspace/skills/<n>/

ZeroClaw โ€” ์˜ค๋ฒ„ํ—ค๋“œ ์—†์Œ. ํƒ€ํ˜‘ ์—†์Œ. ์–ด๋””์„œ๋‚˜ ๋ฐฐํฌ. ๋ฌด์—‡์ด๋“  ๊ต์ฒด. ๐Ÿฆ€

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

์Šคํƒ€ ํžˆ์Šคํ† ๋ฆฌ ๊ทธ๋ž˜ํ”„