Skip to content

Latest commit

ย 

History

History
317 lines (259 loc) ยท 19.3 KB

File metadata and controls

317 lines (259 loc) ยท 19.3 KB

Claude Code v2.1.88 โ€” ์†Œ์Šค ์ฝ”๋“œ ๋ถ„์„

๋ฉด์ฑ… ์กฐํ•ญ: ์ด ์ €์žฅ์†Œ์˜ ๋ชจ๋“  ์†Œ์Šค ์ฝ”๋“œ๋Š” Anthropic๊ณผ Claude์˜ ์ง€์  ์žฌ์‚ฐ์ž…๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ๋Š” ๊ธฐ์ˆ  ์—ฐ๊ตฌ, ํ•™์Šต, ๊ต์œก ๋ชฉ์ ์˜ ๊ต๋ฅ˜๋ฅผ ์œ„ํ•ด์„œ๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ƒ์—…์  ์‚ฌ์šฉ์€ ์—„๊ฒฉํžˆ ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค. ์–ด๋– ํ•œ ๊ฐœ์ธ, ๊ธฐ๊ด€, ๋‹จ์ฒด๋„ ์ด ์ฝ˜ํ…์ธ ๋ฅผ ์ƒ์—…์  ๋ชฉ์ , ์˜๋ฆฌ ํ™œ๋™, ๋ถˆ๋ฒ• ํ™œ๋™ ๋˜๋Š” ๊ธฐํƒ€ ๋ฌด๋‹จ ์‚ฌ์šฉ์— ํ™œ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณธ ์ฝ˜ํ…์ธ ๊ฐ€ ๊ท€ํ•˜์˜ ๋ฒ•์  ๊ถŒ๋ฆฌ, ์ง€์  ์žฌ์‚ฐ๊ถŒ ๋˜๋Š” ๊ธฐํƒ€ ์ด์ต์„ ์นจํ•ดํ•˜๋Š” ๊ฒฝ์šฐ, ์—ฐ๋ฝ ์ฃผ์‹œ๋ฉด ์ฆ‰์‹œ ํ™•์ธ ํ›„ ์‚ญ์ œ ์กฐ์น˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

npm ํŒจํ‚ค์ง€ @anthropic-ai/claude-code 2.1.88 ๋ฒ„์ „์—์„œ ์ถ”์ถœ. ๋ฐฐํฌ ํŒจํ‚ค์ง€๋Š” ๋‹จ์ผ ๋ฒˆ๋“ค cli.js(~12MB)๋งŒ ํฌํ•จํ•œ๋‹ค. ์ด ์ €์žฅ์†Œ์˜ src/ ๋””๋ ‰ํ„ฐ๋ฆฌ์—๋Š” npm ํƒ€๋ฅด๋ณผ์—์„œ ์ถ”์ถœํ•œ ๋ฒˆ๋“ค ์ „ TypeScript ์†Œ์Šค๊ฐ€ ๋“ค์–ด ์žˆ๋‹ค.

์–ธ์–ด: English | ไธญๆ–‡ | ํ•œ๊ตญ์–ด | ๆ—ฅๆœฌ่ชž


๋ชฉ์ฐจ


์‹ฌ์ธต ๋ถ„์„ ๋ณด๊ณ ์„œ (docs/)

v2.1.88 ๋””์ปดํŒŒ์ผ ์†Œ์Šค ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ๋ถ„์„ ๋ณด๊ณ ์„œ. ์˜์–ด/์ค‘๊ตญ์–ด/ํ•œ๊ตญ์–ด 3๊ฐœ ๊ตญ์–ด ์ œ๊ณต.

docs/
โ”œโ”€โ”€ en/                                        # English
โ”‚   โ”œโ”€โ”€ [01-telemetry-and-privacy.md]          # Telemetry & Privacy โ€” what's collected, why you can't opt out
โ”‚   โ”œโ”€โ”€ [02-hidden-features-and-codenames.md]  # Codenames (Capybara/Tengu/Numbat), feature flags, internal vs external
โ”‚   โ”œโ”€โ”€ [03-undercover-mode.md]                # Undercover Mode โ€” hiding AI authorship in open-source repos
โ”‚   โ”œโ”€โ”€ [04-remote-control-and-killswitches.md]# Remote Control โ€” managed settings, killswitches, model overrides
โ”‚   โ””โ”€โ”€ [05-future-roadmap.md]                 # Future Roadmap โ€” Numbat, KAIROS, voice mode, unreleased tools
โ”‚
โ”œโ”€โ”€ ko/                                        # ํ•œ๊ตญ์–ด
โ”‚   โ”œโ”€โ”€ [01-ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ์™€-ํ”„๋ผ์ด๋ฒ„์‹œ.md]          # ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ๋ฐ ํ”„๋ผ์ด๋ฒ„์‹œ โ€” ์ˆ˜์ง‘ ํ•ญ๋ชฉ, ๋น„ํ™œ์„ฑํ™” ๋ถˆ๊ฐ€ ์ด์œ 
โ”‚   โ”œโ”€โ”€ [02-์ˆจ๊ฒจ์ง„-๊ธฐ๋Šฅ๊ณผ-์ฝ”๋“œ๋„ค์ž„.md]          # ์ˆจ๊ฒจ์ง„ ๊ธฐ๋Šฅ โ€” ๋ชจ๋ธ ์ฝ”๋“œ๋„ค์ž„, feature flag, ๋‚ด๋ถ€/์™ธ๋ถ€ ์‚ฌ์šฉ์ž ์ฐจ์ด
โ”‚   โ”œโ”€โ”€ [03-์–ธ๋”์ปค๋ฒ„-๋ชจ๋“œ.md]                   # ์–ธ๋”์ปค๋ฒ„ ๋ชจ๋“œ โ€” ์˜คํ”ˆ์†Œ์Šค์—์„œ AI ์ €์ž‘ ์€ํ
โ”‚   โ”œโ”€โ”€ [04-์›๊ฒฉ-์ œ์–ด์™€-ํ‚ฌ์Šค์œ„์น˜.md]            # ์›๊ฒฉ ์ œ์–ด โ€” ๊ด€๋ฆฌ ์„ค์ •, ํ‚ฌ์Šค์œ„์น˜, ๋ชจ๋ธ ์˜ค๋ฒ„๋ผ์ด๋“œ
โ”‚   โ””โ”€โ”€ [05-ํ–ฅํ›„-๋กœ๋“œ๋งต.md]                     # ํ–ฅํ›„ ๋กœ๋“œ๋งต โ€” Numbat, KAIROS, ์Œ์„ฑ ๋ชจ๋“œ, ๋ฏธ๊ณต๊ฐœ ๋„๊ตฌ
โ”‚
โ””โ”€โ”€ zh/                                        # ไธญๆ–‡
    โ”œโ”€โ”€ [01-้ฅๆต‹ไธŽ้š็งๅˆ†ๆž.md]                    # ้ฅๆต‹ไธŽ้š็ง โ€” ๆ”ถ้›†ไบ†ไป€ไนˆ๏ผŒไธบไป€ไนˆๆ— ๆณ•้€€ๅ‡บ
    โ”œโ”€โ”€ [02-้š่—ๅŠŸ่ƒฝไธŽๆจกๅž‹ไปฃๅท.md]                # ้š่—ๅŠŸ่ƒฝ โ€” ๆจกๅž‹ไปฃๅท๏ผŒfeature flag๏ผŒๅ†…ๅค–็”จๆˆทๅทฎๅผ‚
    โ”œโ”€โ”€ [03-ๅงๅบ•ๆจกๅผๅˆ†ๆž.md]                     # ๅงๅบ•ๆจกๅผ โ€” ๅœจๅผ€ๆบ้กน็›ฎไธญ้š่— AI ่บซไปฝ
    โ”œโ”€โ”€ [04-่ฟœ็จ‹ๆŽงๅˆถไธŽ็ดงๆ€ฅๅผ€ๅ…ณ.md]                # ่ฟœ็จ‹ๆŽงๅˆถ โ€” ๆ‰˜็ฎก่ฎพ็ฝฎ๏ผŒ็ดงๆ€ฅๅผ€ๅ…ณ๏ผŒๆจกๅž‹่ฆ†็›–
    โ””โ”€โ”€ [05-ๆœชๆฅ่ทฏ็บฟๅ›พ.md]                       # ๆœชๆฅ่ทฏ็บฟๅ›พ โ€” Numbat๏ผŒKAIROS๏ผŒ่ฏญ้Ÿณๆจกๅผ๏ผŒๆœชไธŠ็บฟๅทฅๅ…ท

ํŒŒ์ผ๋ช…์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋ณด๊ณ ์„œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

# ์ฃผ์ œ ํ•ต์‹ฌ ๋ฐœ๊ฒฌ ๋งํฌ
01 ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ๋ฐ ํ”„๋ผ์ด๋ฒ„์‹œ ์ด์ค‘ ๋ถ„์„ ํŒŒ์ดํ”„๋ผ์ธ (1Pโ†’Anthropic, Datadog). ํ™˜๊ฒฝ ํ•‘๊ฑฐํ”„๋ฆฐํŠธ, ํ”„๋กœ์„ธ์Šค ๋ฉ”ํŠธ๋ฆญ, ๋ชจ๋“  ์ด๋ฒคํŠธ์— ์„ธ์…˜/์‚ฌ์šฉ์ž ID ํฌํ•จ. ์‚ฌ์šฉ์ž ๋Œ€์ƒ ๋น„ํ™œ์„ฑํ™” ์„ค์ • ์—†์Œ. OTEL_LOG_TOOL_DETAILS=1๋กœ ์ „์ฒด ๋„๊ตฌ ์ž…๋ ฅ ๊ธฐ๋ก ๊ฐ€๋Šฅ. EN ยท ํ•œ๊ตญ์–ด ยท ไธญๆ–‡
02 ์ˆจ๊ฒจ์ง„ ๊ธฐ๋Šฅ๊ณผ ์ฝ”๋“œ๋„ค์ž„ ๋™๋ฌผ ์ฝ”๋“œ๋„ค์ž„ ์ฒด๊ณ„ (Capybara v8, Tengu, Fennecโ†’Opus 4.6, Numbat ์ฐจ๊ธฐ). Feature flag์— ๋ฌด์ž‘์œ„ ๋‹จ์–ด ์กฐํ•ฉ์œผ๋กœ ๋ชฉ์  ๋‚œ๋…ํ™”. ๋‚ด๋ถ€ ์‚ฌ์šฉ์ž๋Š” ๋” ๋‚˜์€ ํ”„๋กฌํ”„ํŠธ์™€ ๊ฒ€์ฆ ์—์ด์ „ํŠธ ์ œ๊ณต. ์ˆจ๊ฒจ์ง„ ๋ช…๋ น์–ด: /btw, /stickers. EN ยท ํ•œ๊ตญ์–ด ยท ไธญๆ–‡
03 ์–ธ๋”์ปค๋ฒ„ ๋ชจ๋“œ Anthropic ์ง์›์€ ๊ณต๊ฐœ ์ €์žฅ์†Œ์—์„œ ์ž๋™์œผ๋กœ ์–ธ๋”์ปค๋ฒ„ ๋ชจ๋“œ ์ง„์ž…. ๋ชจ๋ธ ์ง€์‹œ: "์ •์ฒด๋ฅผ ๋“คํ‚ค์ง€ ๋งˆ๋ผ" โ€” ๋ชจ๋“  AI ์ €์ž‘ ํ‘œ์‹œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ปค๋ฐ‹. ๊ฐ•์ œ ๋น„ํ™œ์„ฑํ™” ์˜ต์…˜ ์—†์Œ. EN ยท ํ•œ๊ตญ์–ด ยท ไธญๆ–‡
04 ์›๊ฒฉ ์ œ์–ด ๋ฐ ํ‚ฌ์Šค์œ„์น˜ 1์‹œ๊ฐ„๋งˆ๋‹ค /api/claude_code/settings ํด๋ง. ์œ„ํ—˜ ๋ณ€๊ฒฝ ์‹œ ์ฐจ๋‹จ ๋‹ค์ด์–ผ๋กœ๊ทธ โ€” ๊ฑฐ๋ถ€ = ์•ฑ ์ข…๋ฃŒ. 6๊ฐœ ์ด์ƒ ํ‚ฌ์Šค์œ„์น˜ (๊ถŒํ•œ ์šฐํšŒ, fast ๋ชจ๋“œ, ์Œ์„ฑ ๋ชจ๋“œ, ๋ถ„์„ ์‹ฑํฌ). GrowthBook์œผ๋กœ ๋™์˜ ์—†์ด ์‚ฌ์šฉ์ž ๋™์ž‘ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ. EN ยท ํ•œ๊ตญ์–ด ยท ไธญๆ–‡
05 ํ–ฅํ›„ ๋กœ๋“œ๋งต Numbat ์ฝ”๋“œ๋„ค์ž„ ํ™•์ธ. Opus 4.7 / Sonnet 4.8 ๊ฐœ๋ฐœ ์ค‘. KAIROS = ์™„์ „ ์ž์œจ ์—์ด์ „ํŠธ ๋ชจ๋“œ, <tick> ํ•˜ํŠธ๋น„ํŠธ, ํ‘ธ์‹œ ์•Œ๋ฆผ, PR ๊ตฌ๋…. ์Œ์„ฑ ๋ชจ๋“œ(push-to-talk) ์ค€๋น„ ์™„๋ฃŒ. ๋ฏธ๊ณต๊ฐœ ๋„๊ตฌ 17๊ฐœ ๋ฐœ๊ฒฌ. EN ยท ํ•œ๊ตญ์–ด ยท ไธญๆ–‡

๋ˆ„๋ฝ ๋ชจ๋“ˆ ์•ˆ๋‚ด๏ผˆ108๊ฐœ ๋ชจ๋“ˆ๏ผ‰

์ด ์†Œ์Šค๋Š” ๋ถˆ์™„์ „ํ•˜๋‹ค. feature() ๊ฒŒ์ดํŠธ๋กœ ๋ถ„๊ธฐ๋œ 108๊ฐœ ๋ชจ๋“ˆ์ด npm ํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. ์ด ๋ชจ๋“ˆ๋“ค์€ Anthropic ๋‚ด๋ถ€ ๋ชจ๋…ธ๋ ˆํฌ์—๋งŒ ์กด์žฌํ•˜๋ฉฐ, ์ปดํŒŒ์ผ ์‹œ ๋ฐ๋“œ ์ฝ”๋“œ ์ œ๊ฑฐ๋œ๋‹ค. cli.js, sdk-tools.d.ts ๋˜๋Š” ๊ธฐํƒ€ ๋ฐฐํฌ ์•„ํ‹ฐํŒฉํŠธ์—์„œ ๋ณต๊ตฌํ•  ์ˆ˜ ์—†๋‹ค.

Anthropic ๋‚ด๋ถ€ ์ฝ”๋“œ (~70๊ฐœ ๋ชจ๋“ˆ, ๋ฏธ๊ณต๊ฐœ)

npm ํŒจํ‚ค์ง€์— ์†Œ์Šค ํŒŒ์ผ์ด ์ „ํ˜€ ์—†๋Š” ๋ชจ๋“ˆ์ด๋‹ค. Anthropic ๋‚ด๋ถ€ ์ธํ”„๋ผ์— ํ•ด๋‹นํ•œ๋‹ค.

์ „์ฒด ๋ชฉ๋ก ํŽผ์น˜๊ธฐ
Module ์šฉ๋„ Feature Gate
daemon/main.js ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฐ๋ชฌ ๊ด€๋ฆฌ์ž DAEMON
daemon/workerRegistry.js ๋ฐ๋ชฌ ์›Œ์ปค ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ DAEMON
proactive/index.js ์„ ์ œ์  ์•Œ๋ฆผ ์‹œ์Šคํ…œ PROACTIVE
contextCollapse/index.js ์ปจํ…์ŠคํŠธ ์ถ•์†Œ ์„œ๋น„์Šค (์‹คํ—˜์ ) CONTEXT_COLLAPSE
contextCollapse/operations.js ์ถ•์†Œ ์—ฐ์‚ฐ CONTEXT_COLLAPSE
contextCollapse/persist.js ์ถ•์†Œ ์˜์†ํ™” CONTEXT_COLLAPSE
skillSearch/featureCheck.js ์›๊ฒฉ ์Šคํ‚ฌ ๊ธฐ๋Šฅ ๊ฒ€์‚ฌ EXPERIMENTAL_SKILL_SEARCH
skillSearch/remoteSkillLoader.js ์›๊ฒฉ ์Šคํ‚ฌ ๋กœ๋” EXPERIMENTAL_SKILL_SEARCH
skillSearch/remoteSkillState.js ์›๊ฒฉ ์Šคํ‚ฌ ์ƒํƒœ EXPERIMENTAL_SKILL_SEARCH
skillSearch/telemetry.js ์Šคํ‚ฌ ๊ฒ€์ƒ‰ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ EXPERIMENTAL_SKILL_SEARCH
skillSearch/localSearch.js ๋กœ์ปฌ ์Šคํ‚ฌ ๊ฒ€์ƒ‰ EXPERIMENTAL_SKILL_SEARCH
skillSearch/prefetch.js ์Šคํ‚ฌ ํ”„๋ฆฌํŽ˜์น˜ EXPERIMENTAL_SKILL_SEARCH
coordinator/workerAgent.js ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์ฝ”๋””๋„ค์ดํ„ฐ ์›Œ์ปค COORDINATOR_MODE
bridge/peerSessions.js ๋ธŒ๋ฆฟ์ง€ ํ”ผ์–ด ์„ธ์…˜ ๊ด€๋ฆฌ BRIDGE_MODE
assistant/index.js KAIROS ์–ด์‹œ์Šคํ„ดํŠธ ๋ชจ๋“œ KAIROS
assistant/AssistantSessionChooser.js ์–ด์‹œ์Šคํ„ดํŠธ ์„ธ์…˜ ์„ ํƒ๊ธฐ KAIROS
compact/reactiveCompact.js ๋ฐ˜์‘ํ˜• ์ปจํ…์ŠคํŠธ ์••์ถ• CACHED_MICROCOMPACT
compact/snipCompact.js ์Šค๋‹™ ๊ธฐ๋ฐ˜ ์••์ถ• HISTORY_SNIP
compact/snipProjection.js ์Šค๋‹™ ํ”„๋กœ์ ์…˜ HISTORY_SNIP
compact/cachedMCConfig.js ์บ์‹œ ๋งˆ์ดํฌ๋กœ์••์ถ• ์„ค์ • CACHED_MICROCOMPACT
sessionTranscript/sessionTranscript.js ์„ธ์…˜ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ ์„œ๋น„์Šค TRANSCRIPT_CLASSIFIER
commands/agents-platform/index.js ๋‚ด๋ถ€ ์—์ด์ „ํŠธ ํ”Œ๋žซํผ ant (๋‚ด๋ถ€)
commands/assistant/index.js ์–ด์‹œ์Šคํ„ดํŠธ ๋ช…๋ น KAIROS
commands/buddy/index.js Buddy ์‹œ์Šคํ…œ ์•Œ๋ฆผ BUDDY
commands/fork/index.js Fork ์„œ๋ธŒ์—์ด์ „ํŠธ ๋ช…๋ น FORK_SUBAGENT
commands/peers/index.js ๋ฉ€ํ‹ฐ ํ”ผ์–ด ๋ช…๋ น BRIDGE_MODE
commands/proactive.js ์„ ์ œ์  ๋ช…๋ น PROACTIVE
commands/remoteControlServer/index.js ์›๊ฒฉ ์ œ์–ด ์„œ๋ฒ„ DAEMON + BRIDGE_MODE
commands/subscribe-pr.js GitHub PR ๊ตฌ๋… KAIROS_GITHUB_WEBHOOKS
commands/torch.js ๋‚ด๋ถ€ ๋””๋ฒ„๊ทธ ๋„๊ตฌ TORCH
commands/workflows/index.js ์›Œํฌํ”Œ๋กœ์šฐ ๋ช…๋ น WORKFLOW_SCRIPTS
jobs/classifier.js ๋‚ด๋ถ€ ์ž‘์—… ๋ถ„๋ฅ˜๊ธฐ TEMPLATES
memdir/memoryShapeTelemetry.js ๊ธฐ์–ต ํ˜•ํƒœ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ MEMORY_SHAPE_TELEMETRY
services/sessionTranscript/sessionTranscript.js ์„ธ์…˜ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ TRANSCRIPT_CLASSIFIER
tasks/LocalWorkflowTask/LocalWorkflowTask.js ๋กœ์ปฌ ์›Œํฌํ”Œ๋กœ์šฐ ํƒœ์Šคํฌ WORKFLOW_SCRIPTS
protectedNamespace.js ๋‚ด๋ถ€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฐ€๋“œ ant (๋‚ด๋ถ€)
protectedNamespace.js (envUtils) ๋ณดํ˜ธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋Ÿฐํƒ€์ž„ ant (๋‚ด๋ถ€)
coreTypes.generated.js ์ƒ์„ฑ๋œ ์ฝ”์–ด ํƒ€์ž… ant (๋‚ด๋ถ€)
devtools.js ๋‚ด๋ถ€ ๊ฐœ๋ฐœ ๋„๊ตฌ ant (๋‚ด๋ถ€)
attributionHooks.js ๋‚ด๋ถ€ ์ €์ž‘ ํ‘œ์‹œ ํ›… COMMIT_ATTRIBUTION
systemThemeWatcher.js ์‹œ์Šคํ…œ ํ…Œ๋งˆ ๊ฐ์‹œ๊ธฐ AUTO_THEME
udsClient.js / udsMessaging.js UDS ๋ฉ”์‹œ์ง€ ํด๋ผ์ด์–ธํŠธ UDS_INBOX

Feature-Gated ๋„๊ตฌ (~20๊ฐœ ๋ชจ๋“ˆ)

ํƒ€์ž… ์‹œ๊ทธ๋‹ˆ์ฒ˜๋Š” ์žˆ์œผ๋‚˜ ๊ตฌํ˜„์ด ์ปดํŒŒ์ผ ์‹œ ์ œ๊ฑฐ๋œ ๋„๊ตฌ.

์ „์ฒด ๋ชฉ๋ก ํŽผ์น˜๊ธฐ
Tool ์šฉ๋„ Feature Gate
REPLTool ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ REPL (VM ์ƒŒ๋“œ๋ฐ•์Šค) ant (๋‚ด๋ถ€)
SnipTool ์ปจํ…์ŠคํŠธ ์ž˜๋ผ๋‚ด๊ธฐ HISTORY_SNIP
SleepTool ์—์ด์ „ํŠธ ๋ฃจํ”„ ๋‚ด ์Šฌ๋ฆฝ/์ง€์—ฐ PROACTIVE / KAIROS
MonitorTool MCP ๋ชจ๋‹ˆํ„ฐ๋ง MONITOR_TOOL
OverflowTestTool ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ํ…Œ์ŠคํŠธ OVERFLOW_TEST_TOOL
WorkflowTool ์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ–‰ WORKFLOW_SCRIPTS
WebBrowserTool ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™” WEB_BROWSER_TOOL
TerminalCaptureTool ํ„ฐ๋ฏธ๋„ ์บก์ฒ˜ TERMINAL_PANEL
TungstenTool ๋‚ด๋ถ€ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ant (๋‚ด๋ถ€)
VerifyPlanExecutionTool ๊ณ„ํš ์‹คํ–‰ ๊ฒ€์ฆ CLAUDE_CODE_VERIFY_PLAN
SendUserFileTool ์‚ฌ์šฉ์ž์—๊ฒŒ ํŒŒ์ผ ์ „์†ก KAIROS
SubscribePRTool GitHub PR ๊ตฌ๋… KAIROS_GITHUB_WEBHOOKS
SuggestBackgroundPRTool ๋ฐฑ๊ทธ๋ผ์šด๋“œ PR ์ œ์•ˆ KAIROS
PushNotificationTool ํ‘ธ์‹œ ์•Œ๋ฆผ KAIROS
CtxInspectTool ์ปจํ…์ŠคํŠธ ๊ฒ€์‚ฌ CONTEXT_COLLAPSE
ListPeersTool ํ™œ์„ฑ ํ”ผ์–ด ๋ชฉ๋ก UDS_INBOX
DiscoverSkillsTool ์Šคํ‚ฌ ํƒ์ƒ‰ EXPERIMENTAL_SKILL_SEARCH

ํ…์ŠคํŠธ/ํ”„๋กฌํ”„ํŠธ ๋ฆฌ์†Œ์Šค (~6๊ฐœ ํŒŒ์ผ)

File ์šฉ๋„
yolo-classifier-prompts/auto_mode_system_prompt.txt auto ๋ชจ๋“œ ๋ถ„๋ฅ˜๊ธฐ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ
yolo-classifier-prompts/permissions_anthropic.txt Anthropic ๋‚ด๋ถ€ ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ
yolo-classifier-prompts/permissions_external.txt ์™ธ๋ถ€ ์‚ฌ์šฉ์ž ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ
verify/SKILL.md ๊ฒ€์ฆ ์Šคํ‚ฌ ๋ฌธ์„œ
verify/examples/cli.md CLI ๊ฒ€์ฆ ์˜ˆ์‹œ
verify/examples/server.md ์„œ๋ฒ„ ๊ฒ€์ฆ ์˜ˆ์‹œ

๋ˆ„๋ฝ ์ด์œ 

  Anthropic ๋‚ด๋ถ€ ๋ชจ๋…ธ๋ ˆํฌ               ๋ฐฐํฌ npm ํŒจํ‚ค์ง€
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€               โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  feature('DAEMON') โ†’ true    โ”€โ”€๋นŒ๋“œโ”€โ”€โ†’   feature('DAEMON') โ†’ false
  โ†“                                         โ†“
  daemon/main.js  โ† ํฌํ•จ        โ”€โ”€๋ฒˆ๋“คโ”€โ”€โ†’  daemon/main.js  โ† ์ œ๊ฑฐ (DCE)
  tools/REPLTool  โ† ํฌํ•จ        โ”€โ”€๋ฒˆ๋“คโ”€โ”€โ†’  tools/REPLTool  โ† ์ œ๊ฑฐ (DCE)
  proactive/      โ† ํฌํ•จ        โ”€โ”€๋ฒˆ๋“คโ”€โ”€โ†’  (์ฐธ์กฐ๋งŒ ์žˆ๊ณ  src/์— ์—†์Œ)

Bun์˜ feature()๋Š” ์ปดํŒŒ์ผ ์‹œ์  ๋‚ด์žฅ ํ•จ์ˆ˜:

  • Anthropic ๋‚ด๋ถ€ ๋นŒ๋“œ์—์„œ true ๋ฐ˜ํ™˜ โ†’ ์ฝ”๋“œ๊ฐ€ ๋ฒˆ๋“ค์— ํฌํ•จ
  • ๋ฐฐํฌ ๋นŒ๋“œ์—์„œ false ๋ฐ˜ํ™˜ โ†’ ๋ฐ๋“œ ์ฝ”๋“œ ์ œ๊ฑฐ
  • 108๊ฐœ ๋ชจ๋“ˆ์ด ๋ฐฐํฌ ์•„ํ‹ฐํŒฉํŠธ์— ์กด์žฌํ•˜์ง€ ์•Š์Œ

์ €์ž‘๊ถŒ ๋ฐ ๋ฉด์ฑ… ์กฐํ•ญ

Copyright (c) Anthropic. All rights reserved.

์ด ์ €์žฅ์†Œ์˜ ๋ชจ๋“  ์†Œ์Šค ์ฝ”๋“œ๋Š” Anthropic๊ณผ Claude์˜ ์ง€์  ์žฌ์‚ฐ์ž…๋‹ˆ๋‹ค.
๋ณธ ์ €์žฅ์†Œ๋Š” ๊ธฐ์ˆ  ์—ฐ๊ตฌ ๋ฐ ๊ต์œก ๋ชฉ์ ์œผ๋กœ๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ƒ์—…์  ์‚ฌ์šฉ์€ ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค.

์ €์ž‘๊ถŒ์ž๋กœ์„œ ๋ณธ ์ €์žฅ์†Œ๊ฐ€ ๊ท€ํ•˜์˜ ๊ถŒ๋ฆฌ๋ฅผ ์นจํ•ดํ•œ๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ,
์ €์žฅ์†Œ ์†Œ์œ ์ž์—๊ฒŒ ์—ฐ๋ฝ ์ฃผ์‹œ๋ฉด ์ฆ‰์‹œ ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ†ต๊ณ„

ํ•ญ๋ชฉ ์ˆ˜๋Ÿ‰
์†Œ์Šค ํŒŒ์ผ (.ts/.tsx) ~1,884
์ฝ”๋“œ ๋ผ์ธ ์ˆ˜ ~512,664
์ตœ๋Œ€ ๋‹จ์ผ ํŒŒ์ผ query.ts (~785KB)
๋‚ด์žฅ ๋„๊ตฌ ~40๊ฐœ ์ด์ƒ
์Šฌ๋ž˜์‹œ ๋ช…๋ น ~80๊ฐœ ์ด์ƒ
์˜์กด์„ฑ (node_modules) ~192๊ฐœ ํŒจํ‚ค์ง€
๋Ÿฐํƒ€์ž„ Bun (Node.js >= 18 ๋ฒˆ๋“ค๋กœ ์ปดํŒŒ์ผ)

์—์ด์ „ํŠธ ๋ชจ๋“œ

                    ์ฝ”์–ด ๋ฃจํ”„
                    ========

    ์‚ฌ์šฉ์ž --> messages[] --> Claude API --> ์‘๋‹ต
                                          |
                                stop_reason == "tool_use"?
                               /                          \
                             ์˜ˆ                           ์•„๋‹ˆ์˜ค
                              |                             |
                        ๋„๊ตฌ ์‹คํ–‰                        ํ…์ŠคํŠธ ๋ฐ˜ํ™˜
                        tool_result ์ถ”๊ฐ€
                        ๋ฃจํ”„ ์žฌ์ง„์ž… -----------------> messages[]


    ์ด๊ฒƒ์ด ์ตœ์†Œ ์—์ด์ „ํŠธ ๋ฃจํ”„์ด๋‹ค. Claude Code๋Š” ์ด ๋ฃจํ”„ ์œ„์—
    ํ”„๋กœ๋•์…˜๊ธ‰ ํ•˜๋‹ˆ์Šค๋ฅผ ๋ž˜ํ•‘ํ•œ๋‹ค: ๊ถŒํ•œ, ์ŠคํŠธ๋ฆฌ๋ฐ, ๋™์‹œ์„ฑ,
    ์••์ถ•, ์„œ๋ธŒ์—์ด์ „ํŠธ, ์˜์†ํ™” ๋ฐ MCP.

๋””๋ ‰ํ„ฐ๋ฆฌ ์ฐธ์กฐ

src/
โ”œโ”€โ”€ main.tsx                 # REPL ๋ถ€ํŠธ์ŠคํŠธ๋žฉ, 4,683์ค„
โ”œโ”€โ”€ QueryEngine.ts           # SDK/headless ์ฟผ๋ฆฌ ๋ผ์ดํ”„์‚ฌ์ดํด ์—”์ง„
โ”œโ”€โ”€ query.ts                 # ๋ฉ”์ธ ์—์ด์ „ํŠธ ๋ฃจํ”„ (785KB, ์ตœ๋Œ€ ํŒŒ์ผ)
โ”œโ”€โ”€ Tool.ts                  # ๋„๊ตฌ ์ธํ„ฐํŽ˜์ด์Šค + buildTool ํŒฉํ† ๋ฆฌ
โ”œโ”€โ”€ Task.ts                  # ํƒœ์Šคํฌ ํƒ€์ž…, ID, ์ƒํƒœ ๋ฒ ์ด์Šค ํด๋ž˜์Šค
โ”œโ”€โ”€ tools.ts                 # ๋„๊ตฌ ๋“ฑ๋ก, ํ”„๋ฆฌ์…‹, ํ•„ํ„ฐ๋ง
โ”œโ”€โ”€ commands.ts              # ์Šฌ๋ž˜์‹œ ๋ช…๋ น ์ •์˜
โ”œโ”€โ”€ context.ts               # ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ปจํ…์ŠคํŠธ
โ”œโ”€โ”€ cost-tracker.ts          # API ๋น„์šฉ ๋ˆ„์ 
โ”œโ”€โ”€ setup.ts                 # ์ตœ์ดˆ ์‹คํ–‰ ์„ค์ • ํ”Œ๋กœ์šฐ
โ”‚
โ”œโ”€โ”€ bridge/                  # Claude Desktop / ์›๊ฒฉ ๋ธŒ๋ฆฟ์ง€
โ”‚   โ”œโ”€โ”€ bridgeMain.ts        #   ์„ธ์…˜ ๋ผ์ดํ”„์‚ฌ์ดํด ๋งค๋‹ˆ์ €
โ”‚   โ”œโ”€โ”€ bridgeApi.ts         #   HTTP ํด๋ผ์ด์–ธํŠธ
โ”‚   โ”œโ”€โ”€ bridgeConfig.ts      #   ์—ฐ๊ฒฐ ์„ค์ •
โ”‚   โ”œโ”€โ”€ bridgeMessaging.ts   #   ๋ฉ”์‹œ์ง€ ๋ฆด๋ ˆ์ด
โ”‚   โ”œโ”€โ”€ sessionRunner.ts     #   ํ”„๋กœ์„ธ์Šค ์Šคํฐ
โ”‚   โ”œโ”€โ”€ jwtUtils.ts          #   JWT ๊ฐฑ์‹ 
โ”‚   โ”œโ”€โ”€ workSecret.ts        #   ์ธ์ฆ ํ† ํฐ
โ”‚   โ””โ”€โ”€ capacityWake.ts      #   ์šฉ๋Ÿ‰ ๊ธฐ๋ฐ˜ ์›จ์ดํฌ
โ”‚
โ”œโ”€โ”€ cli/                     # CLI ์ธํ”„๋ผ
โ”‚   โ”œโ”€โ”€ handlers/            #   ๋ช…๋ น ํ•ธ๋“ค๋Ÿฌ
โ”‚   โ””โ”€โ”€ transports/          #   I/O ์ „์†ก (stdio, structured)
โ”‚
โ”œโ”€โ”€ commands/                # ~80๊ฐœ ์Šฌ๋ž˜์‹œ ๋ช…๋ น
โ”œโ”€โ”€ components/              # React/Ink ํ„ฐ๋ฏธ๋„ UI
โ”œโ”€โ”€ entrypoints/             # ์•ฑ ์ง„์ž…์ 
โ”œโ”€โ”€ hooks/                   # React hooks
โ”œโ”€โ”€ services/                # ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ ˆ์ด์–ด
โ”œโ”€โ”€ state/                   # ์•ฑ ์ƒํƒœ
โ”œโ”€โ”€ tasks/                   # ํƒœ์Šคํฌ ๊ตฌํ˜„
โ”œโ”€โ”€ tools/                   # 40๊ฐœ ์ด์ƒ ๋„๊ตฌ ๊ตฌํ˜„
โ”œโ”€โ”€ types/                   # ํƒ€์ž… ์ •์˜
โ”œโ”€โ”€ utils/                   # ์œ ํ‹ธ๋ฆฌํ‹ฐ (์ตœ๋Œ€ ๋””๋ ‰ํ„ฐ๋ฆฌ)
โ””โ”€โ”€ vendor/                  # ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋“ˆ ์†Œ์Šค ์Šคํ…

์•„ํ‚คํ…์ฒ˜ ๊ฐœ์š”

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         ์ง„์ž… ๋ ˆ์ด์–ด                                  โ”‚
โ”‚  cli.tsx โ”€โ”€> main.tsx โ”€โ”€> REPL.tsx (์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ)                     โ”‚
โ”‚                     โ””โ”€โ”€> QueryEngine.ts (headless/SDK)              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       ์ฟผ๋ฆฌ ์—”์ง„                                      โ”‚
โ”‚  submitMessage(prompt) โ”€โ”€> AsyncGenerator<SDKMessage>               โ”‚
โ”‚    โ”œโ”€โ”€ fetchSystemPromptParts()    โ”€โ”€> ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์กฐ๋ฆฝ          โ”‚
โ”‚    โ”œโ”€โ”€ processUserInput()          โ”€โ”€> /๋ช…๋ น ์ฒ˜๋ฆฌ                    โ”‚
โ”‚    โ”œโ”€โ”€ query()                     โ”€โ”€> ๋ฉ”์ธ ์—์ด์ „ํŠธ ๋ฃจํ”„            โ”‚
โ”‚    โ”‚     โ”œโ”€โ”€ StreamingToolExecutor โ”€โ”€> ๋ณ‘๋ ฌ ๋„๊ตฌ ์‹คํ–‰               โ”‚
โ”‚    โ”‚     โ”œโ”€โ”€ autoCompact()         โ”€โ”€> ์ปจํ…์ŠคํŠธ ์••์ถ•                โ”‚
โ”‚    โ”‚     โ””โ”€โ”€ runTools()            โ”€โ”€> ๋„๊ตฌ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜           โ”‚
โ”‚    โ””โ”€โ”€ yield SDKMessage            โ”€โ”€> ์†Œ๋น„์ž์—๊ฒŒ ์ŠคํŠธ๋ฆฌ๋ฐ           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๋นŒ๋“œ ์•ˆ๋‚ด

์ด ์†Œ์Šค๋Š” ์ด ์ €์žฅ์†Œ์—์„œ ์ง์ ‘ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์—†๋‹ค:

  • tsconfig.json, ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ, Bun ๋ฒˆ๋“ค๋Ÿฌ ์„ค์ •์ด ์—†์Œ
  • feature() ํ˜ธ์ถœ์€ Bun ์ปดํŒŒ์ผ ์‹œ์  ๋‚ด์žฅ ํ•จ์ˆ˜ โ€” ๋ฒˆ๋“ค๋ง ์‹œ ํ•ด์„๋จ
  • MACRO.VERSION์€ ๋นŒ๋“œ ์‹œ ์ฃผ์ž…๋จ
  • process.env.USER_TYPE === 'ant' ๋ถ„๊ธฐ๋Š” Anthropic ๋‚ด๋ถ€์šฉ
  • ์ปดํŒŒ์ผ๋œ cli.js๋Š” ์ž์ฒด ์™„๊ฒฐํ˜• 12MB ๋ฒˆ๋“ค, Node.js >= 18๋งŒ ํ•„์š”

๋นŒ๋“œ ์ƒ์„ธ ์•ˆ๋‚ด๋Š” QUICKSTART.md ์ฐธ๊ณ .


๋ผ์ด์„ ์Šค

์ด ์ €์žฅ์†Œ์˜ ๋ชจ๋“  ์†Œ์Šค ์ฝ”๋“œ๋Š” Anthropic๊ณผ Claude์˜ ์ €์ž‘๋ฌผ์ž…๋‹ˆ๋‹ค. ๋ณธ ์ €์žฅ์†Œ๋Š” ๊ธฐ์ˆ  ์—ฐ๊ตฌ ๋ฐ ๊ต์œก ๋ชฉ์ ์œผ๋กœ๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ผ์ด์„ ์Šค ์กฐ๊ฑด์€ ์›๋ณธ npm ํŒจํ‚ค์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.