# claude-code-sourcemap-learning-notebook **Repository Path**: hejc/claude-code-sourcemap-learning-notebook ## Basic Information - **Project Name**: claude-code-sourcemap-learning-notebook - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-17 - **Last Updated**: 2026-08-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude Code Sourcemap Learning Notebook [![GitHub](https://img.shields.io/badge/GitHub-dadiaomengmeimei-blue?logo=github)](https://github.com/dadiaomengmeimei/claude-code-sourcemap-learning-notebook) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) > ๐ŸŒ [English Version](README.md) > ๆทฑๅ…ฅ่งฃๆž Anthropic Claude Code CLI ๅทฅๅ…ท็š„ๅ†…้ƒจๆžถๆž„๏ผŒไปŽๅ…ฅๅฃๅˆฐๅทฅๅ…ท็ณป็ปŸใ€ๆƒ้™ๅฎ‰ๅ…จใ€ๆŸฅ่ฏขๅพช็Žฏใ€ๅคš Agent ๅไฝœใ€MCP ๆ‰ฉๅฑ•ๅ่ฎฎใ€Voice ๆจกๅผไธŽ Buddy ็ณป็ปŸโ€”โ€”้€ๅฑ‚ๆ‹†่งฃ 50 ไธ‡่กŒ TypeScript ไปฃ็ ใ€‚ ## ้กน็›ฎ็ฎ€ไป‹ [Claude Code](https://docs.anthropic.com/en/docs/claude-code) ๆ˜ฏ Anthropic ๅผ€ๅ‘็š„ AI ็ผ–็จ‹ๅŠฉๆ‰‹ CLI ๅทฅๅ…ท๏ผŒๅ…่ฎธๅผ€ๅ‘่€…ไปŽ็ปˆ็ซฏ็›ดๆŽฅไธŽ Claude AI ไบคไบ’๏ผŒๆ‰ง่กŒไปฃ็ ็ผ–่พ‘ใ€ๆ–‡ไปถๆœ็ดขใ€Shell ๅ‘ฝไปคใ€ไปฃ็ ๅฎกๆŸฅ็ญ‰่ฝฏไปถๅทฅ็จ‹ไปปๅŠกใ€‚ ๆœฌไป“ๅบ“ๆ˜ฏไธ€ๅฅ—**็ป“ๆž„ๅŒ–็š„ๅญฆไน ็ฌ”่ฎฐ**๏ผŒไปฅ Markdown ๆ–‡ๆกฃ็š„ๅฝขๅผ๏ผŒๅฏน Claude Code ็š„ๆ ธๅฟƒๆบ็ ่ฟ›่กŒๆทฑๅ…ฅๆต…ๅ‡บ็š„่งฃๆžใ€‚้€‚ๅˆไปฅไธ‹่ฏป่€…๏ผš - **AI ๅทฅๅ…ท็ ”็ฉถ่€…** โ€” ๆƒณไบ†่งฃๅทฅไธš็บง AI Agent ็ณป็ปŸ็š„ๆžถๆž„่ฎพ่ฎก - **ๅฎ‰ๅ…จ็ ”็ฉถ่€…** โ€” ๆƒณ็ ”็ฉถ AI ๅทฅๅ…ท็š„ๆƒ้™ๆŽงๅˆถๅ’Œๅฎ‰ๅ…จๆœบๅˆถ - **ๆžถๆž„ๅธˆ** โ€” ๆƒณๅญฆไน ๅคง่ง„ๆจก TypeScript ้กน็›ฎ็š„ๅทฅ็จ‹ๅฎž่ทต - **Agent ๅผ€ๅ‘่€…** โ€” ๆƒณไบ†่งฃๅคš Agent ๅไฝœๅ’Œๅทฅๅ…ท็ณป็ปŸ็š„่ฎพ่ฎกๆจกๅผ ## Claude Code ๆŠ€ๆœฏๆฆ‚ๅ†ต | ็ฑปๅˆซ | ่ฏฆๆƒ… | |------|------| | **่ฏญ่จ€** | TypeScript (strict mode) | | **่ฟ่กŒๆ—ถ** | Bun | | **็ปˆ็ซฏ UI** | React + Ink | | **CLI ่งฃๆž** | Commander.js | | **Schema ้ชŒ่ฏ** | Zod v4 | | **ไปฃ็ ๆœ็ดข** | ripgrep | | **ๆ‰ฉๅฑ•ๅ่ฎฎ** | MCP (Model Context Protocol) | | **API** | Anthropic SDK | | **ไปฃ็ ่ง„ๆจก** | ~1,900 ๆ–‡ไปถ, 512,000+ ่กŒไปฃ็  | ## ๅญฆไน ่ทฏ็บฟ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 00 ๆ€ป็›ฎๅฝ•็ดขๅผ• โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 01 ๅ…จๅฑ€ๆžถๆž„ โ”‚ โ”‚ 02 ๅทฅๅ…ท็ณป็ปŸ โ”‚ โ”‚ 03 ๆƒ้™ๅฎ‰ๅ…จ โ”‚ โ”‚ (ๅ…ฅๅฃ+็Šถๆ€) โ”‚ โ”‚ (ๆ ธๅฟƒๆŠฝ่ฑก) โ”‚ โ”‚ (็บตๆทฑ้˜ฒๅพก) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 04 ๆŸฅ่ฏขๅพช็Žฏ โ”‚ โ”‚ (็ณป็ปŸๅฟƒ่„) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 05 ๅคšAgent โ”‚ โ”‚ 06 MCP/Skills โ”‚ โ”‚ +Coordinator โ”‚ โ”‚ (ๆ‰ฉๅฑ•็”Ÿๆ€) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 07 Prompt โ”‚ โ”‚ (AI็š„็ต้ญ‚) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 08 Voice+Buddy โ”‚ โ”‚ (็‰น่‰ฒๅŠŸ่ƒฝ) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ็ซ ่Š‚่ฏฆๆƒ… | # | ๆ–‡ไปถ | ไธป้ข˜ | ๆ ธๅฟƒๆบ็ ๆ–‡ไปถ | ้ข„่ฎกๆ—ถ้—ด | |---|------|------|-------------|----------| | 00 | [00_index.md](zh-CN/00_index.md) | ๆ€ป็›ฎๅฝ•ไธŽๆžถๆž„ๅ…จๆ™ฏๅ›พ | โ€” | 10min | | 01 | [01_architecture_overview.md](zh-CN/01_architecture_overview.md) | ๅ…จๅฑ€ๆžถๆž„้ธŸ็žฐ | `main.tsx`, `App.tsx`, `QueryEngine.ts` | 30min | | 02 | [02_tool_system.md](zh-CN/02_tool_system.md) | ๅทฅๅ…ท็ณป็ปŸๆทฑๅบฆ่งฃๆž | `Tool.ts`, `tools.ts`, `GlobTool.ts` | 45min | | 03 | [03_permission_security.md](zh-CN/03_permission_security.md) | ๆƒ้™ไธŽๅฎ‰ๅ…จ็ณป็ปŸ | `permissions.ts`, `filesystem.ts` | 45min | | 04 | [04_query_loop_api.md](zh-CN/04_query_loop_api.md) | ๆŸฅ่ฏขๅพช็ŽฏไธŽ API ไบคไบ’ (ๆทฑๅบฆ็‰ˆ) | `query.ts`, `StreamingToolExecutor.ts` | 50min | | 05 | [05_multi_agent_system.md](zh-CN/05_multi_agent_system.md) | ๅคš Agent ็ณป็ปŸ + Coordinator (ๆทฑๅบฆ็‰ˆ) | `AgentTool.tsx`, `runAgent.ts`, `coordinatorMode.ts` | 50min | | 06 | [06_mcp_extensions.md](zh-CN/06_mcp_extensions.md) | MCPใ€Skills ไธŽๆ‰ฉๅฑ•็ณป็ปŸ | `mcp/client.ts`, `skills/`, `bundledSkills.ts` | 45min | | 07 | [07_prompt_engineering.md](zh-CN/07_prompt_engineering.md) | Prompt Engineering ๆทฑๅบฆ่งฃๆž | `prompts.ts`, `BashTool/prompt.ts`, `compact/prompt.ts` | 60min | | 08 | [08_voice_buddy.md](zh-CN/08_voice_buddy.md) | Voice ๆจกๅผไธŽ Buddy ็ณป็ปŸ | `voiceStreamSTT.ts`, `useVoice.ts`, `buddy/` | 30min | **ๆ€ป่ฎก็บฆ 5.5 ๅฐๆ—ถ**๏ผŒๅฏไปฅ็ณป็ปŸๆ€งๅœฐ็†่งฃ Claude Code ็š„ๆ ธๅฟƒๆžถๆž„ใ€‚ ## ๆŽจ่ๅญฆไน ่ทฏๅพ„ ### ๅฟซ้€Ÿๅ…ฅ้—จ (2 ๅฐๆ—ถ) ``` 00 โ†’ 01 โ†’ 02 โ†’ 04 ``` ็†่งฃ๏ผšๅ…ฅๅฃๆ–‡ไปถ โ†’ ๅทฅๅ…ทๅฎšไน‰ โ†’ ๆŸฅ่ฏขๅพช็Žฏ ### ๅฎ‰ๅ…จ็ ”็ฉถ (1.5 ๅฐๆ—ถ) ``` 00 โ†’ 03 โ†’ 02(ๆƒ้™้ƒจๅˆ†) ``` ็†่งฃ๏ผšๆƒ้™ๆจกๅž‹ โ†’ ๅ‘ฝไปคๅฎ‰ๅ…จๅˆ†ๆž โ†’ ๆฒ™็ฎฑๆœบๅˆถ ### Agent ็ ”็ฉถ (2.5 ๅฐๆ—ถ) ``` 00 โ†’ 05 โ†’ 04 โ†’ 06 ``` ็†่งฃ๏ผšAgent ๆžถๆž„ + Coordinator โ†’ ๆŸฅ่ฏขๅพช็Žฏ โ†’ MCP/Skills ๆ‰ฉๅฑ• ### Prompt ็ ”็ฉถ (1 ๅฐๆ—ถ) ``` 00 โ†’ 07 ``` ็†่งฃ๏ผš็ณป็ปŸๆ็คบ่ฏ โ†’ ๅทฅๅ…ทๆ็คบ่ฏ โ†’ Agent ๆ็คบ่ฏ โ†’ ๅŽ‹็ผฉๆ็คบ่ฏ โ†’ ็ผ“ๅญ˜ไผ˜ๅŒ– ### ็‰น่‰ฒๅŠŸ่ƒฝ (30 ๅˆ†้’Ÿ) ``` 08 ``` ็†่งฃ๏ผšVoice hold-to-talk โ†’ WebSocket STT โ†’ Buddy ็กฎๅฎšๆ€ง็”Ÿๆˆ โ†’ ASCII ๅŠจ็”ป ### ๅฎŒๆ•ดๅญฆไน  (5.5 ๅฐๆ—ถ) ``` 00 โ†’ 01 โ†’ 02 โ†’ 03 โ†’ 04 โ†’ 05 โ†’ 06 โ†’ 07 โ†’ 08 ``` ## ๆžถๆž„ๅ…จๆ™ฏๅ›พ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Claude Code ๆžถๆž„ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ CLI/REPL โ”‚ โ”‚ Bridge/IDE โ”‚ โ”‚ SDK/Headless โ”‚ โ”‚ โ”‚ โ”‚ (Ink UI) โ”‚ โ”‚ (VS Code) โ”‚ โ”‚ (Programmatic) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ App State โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ QueryEngine โ”‚ โ† ็ณป็ปŸๅฟƒ่„ โ”‚ โ”‚ โ”‚ query() โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”ฌโ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Tool System โ”‚ โ”‚ Claude โ”‚ โ”‚ Permission โ”‚ โ”‚ โ”‚ โ”‚ 40+ ๅทฅๅ…ท โ”‚ โ”‚ API โ”‚ โ”‚ System โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ 5ๅฑ‚็บตๆทฑ้˜ฒๅพก โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Built-in Tools MCP Tools โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Bash โ”œโ”€โ”€ mcp__db__* โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Read/Edit โ”œโ”€โ”€ mcp__api__* โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Agent โ””โ”€โ”€ ... โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ WebSearch โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ 30+ more โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ## ๅ…ณ้”ฎๆบ็ ๆ–‡ไปถ้€ŸๆŸฅ | ๆ–‡ไปถ | ๅคงๅฐ | ๅŠŸ่ƒฝ | |------|------|------| | `src/main.tsx` | 785KB | CLI ๅ…ฅๅฃ๏ผŒCommander.js ๅ‘ฝไปคๅฎšไน‰ | | `src/Tool.ts` | 28KB | **ๅทฅๅ…ทๆŽฅๅฃๅฎšไน‰** โ€” ๆ‰€ๆœ‰ๅทฅๅ…ท็š„"ๅฎชๆณ•" | | `src/tools.ts` | 16KB | **ๅทฅๅ…ทๆณจๅ†Œ่กจ** โ€” ๅ†ณๅฎšๅ“ชไบ›ๅทฅๅ…ทๅฏ็”จ | | `src/query.ts` | 67KB | **ๆ ธๅฟƒๆŸฅ่ฏขๅพช็Žฏ** โ€” ็ณป็ปŸ็š„ๅฟƒ่„ | | `src/QueryEngine.ts` | 45KB | ๆŸฅ่ฏขๅผ•ๆ“Žๅฐ่ฃ… | | `src/utils/permissions/permissions.ts` | 51KB | **ๆƒ้™ๆฃ€ๆŸฅๆ ธๅฟƒ** | | `src/utils/permissions/filesystem.ts` | 61KB | ๆ–‡ไปถ็ณป็ปŸๆƒ้™ | | `src/tools/BashTool/bashSecurity.ts` | 100KB | ๅ‘ฝไปคๅฎ‰ๅ…จๅˆ†ๆž | | `src/tools/AgentTool/AgentTool.tsx` | ~50KB | Agent ๅทฅๅ…ทๅฎž็Žฐ | | `src/tools/AgentTool/runAgent.ts` | 34KB | Agent ็”Ÿๅ‘ฝๅ‘จๆœŸ | | `src/services/mcp/client.ts` | 116KB | MCP ๅฎขๆˆท็ซฏ | | `src/services/tools/StreamingToolExecutor.ts` | 17KB | ๆตๅผๅทฅๅ…ทๆ‰ง่กŒๅ™จ | | `src/services/tools/toolOrchestration.ts` | 5KB | ๅทฅๅ…ท็ผ–ๆŽ’๏ผˆๅนถๅ‘/ไธฒ่กŒ๏ผ‰ | ## ๆ ธๅฟƒ่ฎพ่ฎก็†ๅฟต ### 1. Fail-Closed ๅฎ‰ๅ…จไผ˜ๅ…ˆ ```typescript // ๆ‰€ๆœ‰ๅทฅๅ…ท้ป˜่ฎคๅ‡่ฎพไธๅฎ‰ๅ…จ const TOOL_DEFAULTS = { isConcurrencySafe: () => false, // ไธ็กฎๅฎšๅฐฑไธๅนถๅ‘ isReadOnly: () => false, // ไธ็กฎๅฎšๅฐฑๅ‡่ฎพไผšๅ†™ๅ…ฅ }; ``` ### 2. ็บตๆทฑ้˜ฒๅพก (Defense in Depth) ``` Layer 1: Permission Rules (deny > ask > allow) โ””โ”€โ”€ Layer 2: Permission Mode (default/plan/bypass/auto) โ””โ”€โ”€ Layer 3: Tool-specific checks (BashTool security) โ””โ”€โ”€ Layer 4: Path safety checks (filesystem) โ””โ”€โ”€ Layer 5: Sandbox (macOS Seatbelt) ``` ### 3. ๆตๅผๅทฅๅ…ทๆ‰ง่กŒ ``` Claude API ๆตๅผ่ฟ”ๅ›ž tool_use ๅ— โ†’ ๆŽฅๆ”ถๅˆฐๅฎŒๆ•ด่พ“ๅ…ฅๅŽ็ซ‹ๅณๅผ€ๅง‹ๆ‰ง่กŒ โ†’ ๅนถๅ‘ๅฎ‰ๅ…จ็š„ๅทฅๅ…ทๅฏๅนถ่กŒ โ†’ ็ป“ๆžœๆŒ‰้กบๅบ่ฟ”ๅ›ž ``` ### 4. Prompt Cache ไผ˜ๅŒ– ``` ๅทฅๅ…ทๅˆ—่กจๆŽ’ๅบ โ†’ ้กบๅบ็จณๅฎš โ†’ ๆœ€ๅคงๅŒ– cache ๅ‘ฝไธญ็އ ๅ†…็ฝฎๅทฅๅ…ทๅœจๅ‰ โ†’ MCP ๅทฅๅ…ทๅœจๅŽ โ†’ ๅ‰็ผ€ไธๅ˜ ``` ## ๆฏ็ซ ๆ ธๅฟƒๅ‘็Žฐ | ็ซ ่Š‚ | ๆœ€ๆœ‰ไปทๅ€ผ็š„ๅ‘็Žฐ | |------|---------------| | 01 ๆžถๆž„ | React/Ink ็ปˆ็ซฏ UI + ๅ‡ฝๆ•ฐๅผ็Šถๆ€็ฎก็†๏ผŒCLI ไนŸ่ƒฝ็”จ React | | 02 ๅทฅๅ…ท | `buildTool()` ๅทฅๅŽ‚ๆจกๅผ + Zod schema ๅณ prompt๏ผŒ18+ Feature Flags | | 03 ๅฎ‰ๅ…จ | 5 ๅฑ‚็บตๆทฑ้˜ฒๅพก๏ผŒbypass ๆจกๅผไนŸๆœ‰ๅฎ‰ๅ…จๅบ•็บฟ๏ผˆ.git/.claude ไธๅฏ็ป•่ฟ‡๏ผ‰ | | 04 ๆŸฅ่ฏข | `StreamingToolExecutor` ๆตๅผๅนถๅ‘ๆ‰ง่กŒ๏ผŒไธ‰ๅฑ‚ AbortController ็บง่”ๅ–ๆถˆ๏ผŒ5 ๅฑ‚ๅŽ‹็ผฉ็ฎก็บฟ | | 05 Agent | ้ป˜่ฎค้š”็ฆปๆ˜พๅผๅ…ฑไบซ๏ผŒFork prompt cache ๅ…ฑไบซ๏ผŒCoordinator ็ผ–ๆŽ’่€…ๆจกๅผ๏ผŒ10 ๆญฅ finally ๆธ…็† | | 06 MCP/Skills | Skills ไธ‰ๅฑ‚ๆžถๆž„๏ผŒbundled skill ๆ‡’ๆๅ– + 6 ๅฑ‚ๅฎ‰ๅ…จ้˜ฒๅพก๏ผŒ/simplify ไธ‰ Agent ๅนถ่กŒๅฎกๆŸฅ | | 07 Prompt | 7ๅคง็ฑป40+ไธชpromptๆ–‡ไปถ๏ผŒ้™ๆ€/ๅŠจๆ€ๅˆ†็ฆป็ผ“ๅญ˜ไผ˜ๅŒ–๏ผŒMeta-Prompt็”ŸๆˆAgent | | 08 Voice/Buddy | ๅฝ•้Ÿณๅ…ˆ่กŒ่ฟžๆŽฅๅŽ่กฅๆถˆ้™คๅปถ่ฟŸ๏ผŒBuddy ็กฎๅฎšๆ€ง็”Ÿๆˆ + Bones ไธๆŒไน…ๅŒ–้˜ฒไผช้€  | ## ๅฆ‚ไฝ•ไฝฟ็”จ ### ๆ–นๅผไธ€๏ผšGitHub ๅœจ็บฟๆต่งˆ GitHub ๅŽŸ็”Ÿๆ”ฏๆŒ Markdown ๆธฒๆŸ“๏ผŒ็›ดๆŽฅ็‚นๅ‡ป `.md` ๆ–‡ไปถๅณๅฏ้˜…่ฏปใ€‚ ### ๆ–นๅผไบŒ๏ผšVS Code ็›ดๆŽฅ็”จ VS Code ๆ‰“ๅผ€ `.md` ๆ–‡ไปถ๏ผŒไฝฟ็”จ Markdown Preview ้˜…่ฏปใ€‚ ### ๆ–นๅผไธ‰๏ผšไปปไฝ• Markdown ้˜…่ฏปๅ™จ ๆ‰€ๆœ‰็ซ ่Š‚้ƒฝๆ˜ฏๆ ‡ๅ‡† Markdown ๆ ผๅผ๏ผŒๅฏไปฅ็”จไปปไฝ•ๆ”ฏๆŒ Markdown ็š„ๅทฅๅ…ท้˜…่ฏปใ€‚ ## ๅ…่ดฃๅฃฐๆ˜Ž ๆœฌ้กน็›ฎไป…็”จไบŽ**ๆ•™่‚ฒๅ’Œ็ ”็ฉถ็›ฎ็š„**ใ€‚ๆบ็ ๆฅ่‡ช้€š่ฟ‡ npm ๅŒ… source map ๆ–‡ไปถๅ…ฌๅผ€ๆšด้œฒ็š„ Claude Code TypeScript ๆบ็ ใ€‚ๆœฌ้กน็›ฎไธๅŒ…ๅซไปปไฝ•ๅŽŸๅง‹ๆบ็ ๆ–‡ไปถ๏ผŒไป…ๅŒ…ๅซๅฏนๆžถๆž„ๅ’Œ่ฎพ่ฎกๆจกๅผ็š„ๅˆ†ๆž็ฌ”่ฎฐใ€‚ ## License ๆœฌๅญฆไน ็ฌ”่ฎฐไปฅ MIT License ๅ‘ๅธƒใ€‚่ฏทๆณจๆ„๏ผŒ่ขซๅˆ†ๆž็š„ Claude Code ๆบ็ ็‰ˆๆƒๅฝ’ Anthropic ๆ‰€ๆœ‰ใ€‚ ## ่ดก็Œฎ ๆฌข่ฟŽๆไบค Issue ๅ’Œ PR๏ผๅฆ‚ๆžœไฝ ๅ‘็Žฐไบ†ๆœ‰่ถฃ็š„่ฎพ่ฎกๆจกๅผๆˆ–ๅฎ‰ๅ…จๆœบๅˆถ๏ผŒๆฌข่ฟŽ่กฅๅ……ๅˆฐ็ฌ”่ฎฐไธญใ€‚ **่ดก็Œฎๆ–นๅผ๏ผš** 1. Fork ๆœฌไป“ๅบ“ 2. ๅˆ›ๅปบไฝ ็š„ๅˆ†ๆ”ฏ (`git checkout -b feature/amazing-discovery`) 3. ๆไบคไฟฎๆ”น (`git commit -m 'Add: ๅ‘็Žฐไบ† XXX ็š„ๆœ‰่ถฃ่ฎพ่ฎก'`) 4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (`git push origin feature/amazing-discovery`) 5. ๆไบค Pull Request ## ๅงŠๅฆน้กน็›ฎ๏ผšnano-claude-code [![GitHub](https://img.shields.io/badge/GitHub-nano--claude--code-green?logo=github)](https://github.com/dadiaomengmeimei/nano-claude-code) > **1,646 ่กŒ TypeScript ยท 15 ไธชๆบๆ–‡ไปถ ยท 4 ไธช่ฟ่กŒๆ—ถไพ่ต–** > ไธ€ไธชๆž็ฎ€ใ€ๅฏ hack ็š„็ปˆ็ซฏ AI ็ผ–็จ‹ๅŠฉๆ‰‹ โ€” ๅ— Claude Code ๅฏๅ‘๏ผŒๆ็‚ผๅ…ถๆ ธๅฟƒ็ฒพ้ซ“ใ€‚ ๅฆ‚ๆžœ่ฏดๆœฌ้กน็›ฎ๏ผˆLearning Notebook๏ผ‰ๆ˜ฏๅฏน Claude Code 50 ไธ‡่กŒๆบ็ ็š„**ๆทฑๅบฆ่งฃ่ฏป**๏ผŒ้‚ฃไนˆ [nano-claude-code](https://github.com/dadiaomengmeimei/nano-claude-code) ๅฐฑๆ˜ฏๅฐ†ๅ…ถๆ ธๅฟƒๆžถๆž„**ไปŽ้›ถ้‡ๅ†™**ไธบไธ€ไธชๆž็ฎ€ๅฎž็Žฐ๏ผš | ๅฏนๆฏ”้กน | Claude Code | nano-claude-code | |--------|-------------|------------------| | ๆบๆ–‡ไปถๆ•ฐ | ~1,900 | **15** | | ไปฃ็ ่กŒๆ•ฐ | 512,000+ | **1,646** | | ่ฟ่กŒๆ—ถไพ่ต– | 50+ | **4** | | ๅทฅๅ…ทๆ•ฐ้‡ | 40+ | **6** | | ่ฟ่กŒๆ—ถ | Bun | **Node.js โ‰ฅ 20** | **ๆ ธๅฟƒๅŠŸ่ƒฝ๏ผš** - ๐Ÿ”„ **Agent ๅพช็Žฏ** โ€” ๆŸฅ่ฏข โ†’ ๅทฅๅ…ท่ฐƒ็”จ โ†’ ๆ‰ง่กŒ โ†’ ็ป“ๆžœๅ้ฆˆ โ†’ ๆŽจ็†๏ผˆๆœ€ๅคš 30 ่ฝฎ๏ผ‰ - ๐ŸŒŠ **ๆตๅผ่พ“ๅ‡บ** โ€” ้€ token ๅฎžๆ—ถๆ˜พ็คบ LLM ๆ€่€ƒ่ฟ‡็จ‹ - ๐Ÿ› ๏ธ **6 ไธชๆ ธๅฟƒๅทฅๅ…ท** โ€” Bashใ€FileReadใ€FileEditใ€FileWriteใ€Grepใ€Glob - ๐Ÿ” **ๆƒ้™็ณป็ปŸ** โ€” ๅช่ฏปๅทฅๅ…ท่‡ชๅŠจๆ”พ่กŒ๏ผŒๅ†™ๅ…ฅ/Shell ๆ“ไฝœ้œ€็กฎ่ฎค - ๐Ÿ“‹ **ไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ** โ€” ่‡ชๅŠจ่ฏปๅ– `CLAUDE.md`๏ผŒๆฃ€ๆต‹้กน็›ฎ็ฑปๅž‹๏ผŒๆ”ถ้›† Git ไฟกๆฏ - ๐Ÿ”Œ **Provider ๆŠฝ่ฑก** โ€” `LLMProvider` ๆŽฅๅฃ๏ผŒๅฏๆ‰ฉๅฑ• OpenAI/Ollama/ๆœฌๅœฐๆจกๅž‹ **ๆŽจ่ๆญ้…ไฝฟ็”จ๏ผš** ๅ…ˆ้€š่ฟ‡ Learning Notebook ็†่งฃ Claude Code ็š„ๆžถๆž„่ฎพ่ฎก๏ผŒๅ†้€š่ฟ‡ nano-claude-code ๅŠจๆ‰‹ๅฎž่ทต๏ผŒไปŽ้›ถๆž„ๅปบ่‡ชๅทฑ็š„ AI ็ผ–็จ‹ๅŠฉๆ‰‹ใ€‚ ๐Ÿ‘‰ **[GitHub: nano-claude-code](https://github.com/dadiaomengmeimei/nano-claude-code)** ## ็›ธๅ…ณ้“พๆŽฅ - [Claude Code ๅฎ˜ๆ–นๆ–‡ๆกฃ](https://docs.anthropic.com/en/docs/claude-code) - [Anthropic ๅฎ˜็ฝ‘](https://www.anthropic.com/) - [MCP ๅ่ฎฎ่ง„่Œƒ](https://modelcontextprotocol.io/) - [ๆœฌ้กน็›ฎ GitHub](https://github.com/dadiaomengmeimei/claude-code-sourcemap-learning-notebook) - [nano-claude-code](https://github.com/dadiaomengmeimei/nano-claude-code) โ€” ๆž็ฎ€็‰ˆ Claude Code ๅฎž็Žฐ --- **ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนไฝ ๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ไธ€ไธช Star๏ผ** **ๅ…ณๆณจไฝœ่€… [@dadiaomengmeimei](https://github.com/dadiaomengmeimei) ่Žทๅ–ๆ›ดๅคš AI ๅทฅๅ…ทๆบ็ ๅˆ†ๆž๏ผ**