当前位置: 首页 > article >正文

Claude Code 从零复刻教程 - 完整大纲

Claude Code 从零复刻教程 - 完整大纲本教程面向有 JavaScript 基础的开发者通过 12 篇系列文章从零构建一个类似 Claude Code 的 AI 编程助手 CLI 工具。目录教程简介技术栈系列大纲每篇教程结构学习路径教程简介什么是 Claude CodeClaude Code 是 Anthropic 官方推出的命令行工具可以让开发者通过终端与 Claude AI 进行自然语言交互辅助完成编程任务。它具有以下核心能力能力说明CLI 交互在终端中通过自然语言与 AI 对话工具调用AI 可以读写文件、执行命令、搜索代码多智能体多个 AI Agent 协同工作长期记忆跨会话记住项目上下文教程目标完成本系列教程后你将理解 AI CLI 工具的核心架构掌握 TypeScript Node.js 构建 CLI 的最佳实践实现一个功能完整的 AI 编程助手为参与开源或开发自己的 AI 工具奠定基础受众要求要求说明JavaScript 基础熟悉 ES6 语法命令行基础会使用终端TypeScript教程中会讲解但有 JS 基础可快速上手API Key需要准备 Anthropic API Key免费注册技术栈类别技术版本说明语言TypeScript5.x类型安全、易于调试运行时Node.js20ESM TS 原生支持包管理npm10生态成熟AI 能力Anthropic SDK最新Claude API 封装CLI 框架Commander.js12.x参数解析输出美化picocolors1.x彩色终端输出存储文件系统-轻量无需 DB测试Vitest2.x快速轻量系列大纲阶段一CLI 核心框架第 1 篇项目初始化与 CLI 骨架核心内容项目目录结构设计TypeScript 配置tsconfig.jsonCommander.js 入门入口文件架构打印彩色输出交付物最小可运行的 CLI 工具my-claude# 完成后可运行my-claude--help# 输出帮助信息文件结构my-claude/ ├── src/ │ ├── main.ts # 入口 │ └── index.ts # 导出 ├── package.json ├── tsconfig.json └── README.md第 2 篇REPL 循环实现核心内容标准输入输出readline 模块消息队列设计用户输入处理退出机制彩色提示符交付物可交互的命令行界面my-claude# 显示彩色提示符# 等待用户输入# 循环处理...# 输入 /exit 退出关键代码模式constrlreadline.createInterface({input:process.stdin,output:process.stdout,prompt:chalk.blue(claude )});rl.prompt();rl.on(line,async(input){awaitprocessInput(input.trim());rl.prompt();});第 3 篇参数解析与配置管理核心内容命令行参数解析–api-key, --model 等环境变量配置settings.json 配置文件API Key 安全管理配置优先级交付物完整的配置系统my-claude --api-key sk-ant-xxx--modelclaude-sonnet# 或通过环境变量ANTHROPIC_API_KEYsk-ant-xxx my-claude# 或通过配置文件配置文件结构// ~/.my-claude/settings.json{apiKey:sk-ant-xxx,model:claude-sonnet-4-20250514,maxTokens:8192}阶段二对话系统第 4 篇Anthropic API 集成核心内容Anthropic SDK 安装与配置API 调用流程消息格式流式响应错误处理重试机制交付物能对话的 CLImy-claude# claud 解释什么是闭包# [AI 回复...]核心代码importAnthropicfromanthropic-ai/sdk;constclientnewAnthropic({apiKey});constmessageawaitclient.messages.create({model:claude-sonnet-4-20250514,max_tokens:1024,messages:[{role:user,content:Hello!}]});第 5 篇七层 System Prompt 架构核心内容七层设计理念身份定义层系统约束层任务规范层安全准则层工具使用层沟通规范层静态/动态分层优化交付物模块化的 Prompt 系统Prompt 结构图┌─────────────────────────────────────────┐ │ Layer 7: 动态上下文记忆/MCP/语言 │ ← 每次请求重建 ├─────────────────────────────────────────┤ │ Layer 6: 沟通规范 │ ├─────────────────────────────────────────┤ │ Layer 5: 工具使用指导 │ ├─────────────────────────────────────────┤ │ Layer 4: 安全准则 │ ├─────────────────────────────────────────┤ │ Layer 3: 任务规范 │ ├─────────────────────────────────────────┤ │ Layer 2: 系统约束 │ ├─────────────────────────────────────────┤ │ Layer 1: 身份定义 │ ← 全局缓存 └─────────────────────────────────────────┘第 6 篇对话上下文管理核心内容消息历史管理Token 计数上下文窗口限制消息截断策略对话状态持久化上下文压缩交付物完整对话体验interfaceConversationContext{messages:Message[];totalTokens:number;maxTokens:number;}functionmanageContext(ctx:ConversationContext,newMsg:Message):void{ctx.messages.push(newMsg);ctx.totalTokenscountTokens(newMsg);while(ctx.totalTokensctx.maxTokens){ctx.messages.shift();ctx.totalTokensrecalculate(ctx.messages);}}阶段三工具系统第 7 篇工具注册与调用机制核心内容工具接口定义注册表模式动态工具注册Tool Use 规范工具参数验证调用结果处理交付物工具执行框架工具接口interfaceTool{name:string;description:string;input_schema:JSONSchema;execute:(params:unknown)PromiseToolResult;}classToolRegistry{privatetools:Mapstring,Tool;register(tool:Tool):void;get(name:string):Tool|undefined;list():Tool[];}第 8 篇基础工具实现核心内容ReadFileTool读取文件内容WriteFileTool写入文件GlobTool模式匹配文件BashTool执行 shell 命令工具权限控制执行超时处理交付物实际可用的文件操作工具四个核心工具工具命令说明ReadRead: filePath读取文件WriteWrite: filePath, content写入文件GlobGlob: pattern搜索文件BashBash: command执行命令阶段四Agent Teams第 9 篇多智能体协作框架核心内容Agent 概念与生命周期TeamCreateTool 实现SendMessageTool 实现任务分发机制进程内 vs 进程外 Agent状态同步交付物多 Agent 基础设施架构图用户 │ ▼ ┌─────────┐ │ TeamLead │ ← 主 Agent └────┬────┘ │ 分配任务 ┌─────┼─────┐ ▼ ▼ ▼ ┌─────┐ ┌─────┐ ┌─────┐ │ Ag1 │ │ Ag2 │ │ Ag3 │ ← 队友 Agent └─────┘ └─────┘ └─────┘第 10 篇内置 Agent 实现核心内容ExploreAgent代码探索专家PlanAgent架构规划专家VerificationAgent质量验证专家Agent 提示词设计Agent 间通信结果汇总交付物专业化的 Agent 角色Agent 类型Agent角色特点Explore搜索专家只读、并行、高效Plan规划专家结构化输出、深度分析Verification验证专家对抗测试、质量把控阶段五记忆系统第 11 篇长期记忆存储核心内容四种记忆类型user/feedback/project/reference记忆文件格式YAML frontmatter存储路径设计记忆索引MEMORY.md记忆提取机制安全存储交付物记忆持久化系统记忆类型类型作用域内容user私有用户偏好、角色、职责feedback私有/团队反馈规则、已知问题project私有/团队项目约定、决策历史reference团队共享文档、API 参考存储结构~/.my-claude/ └── projects/ └── 项目路径/ └── memory/ ├── MEMORY.md # 索引入口 ├── user_role.md ├── feedback.md ├── project_arch.md └── reference_api.md第 12 篇Auto Dream 自动整合核心内容Fork Agent 模式后台记忆整合整合触发条件四阶段整合流程Orient/Gather/Consolidate/Prune定时任务调度整合锁机制交付物智能记忆管理整合流程1. Orient: 了解当前记忆状态 2. Gather: 收集新会话数据 3. Consolidate: 合并新旧记忆 4. Prune: 清理过期内容学习路径推荐顺序第1周CLI 基础 ├── 第 1 篇项目初始化 ├── 第 2 篇REPL 循环 └── 第 3 篇配置管理 第2周对话核心 ├── 第 4 篇API 集成 ├── 第 5 篇Prompt 架构 └── 第 6 篇上下文管理 第3周工具系统 ├── 第 7 篇工具框架 └── 第 8 篇基础工具 第4周高级功能 ├── 第 9 篇Agent Teams └── 第10篇内置 Agent 第5周记忆系统 ├── 第11篇记忆存储 └── 第12篇自动整合快速路径如果你只想快速体验核心功能第 1 篇项目初始化第 4 篇API 集成第 7 篇工具框架第 8 篇基础工具完成这 4 篇后你就拥有了一个最小可用的 AI 编程助手附录A. Claude Code 源码参考本教程部分设计参考 Claude Code 源码模块源码位置教程对应CLI 入口src/main.tsx第 1-3 篇对话系统src/src/buddy/第 4-6 篇工具系统src/src/tools/第 7-8 篇Agent Teamssrc/src/tasks/第 9-10 篇记忆系统src/src/memdir/第 11-12 篇B. 术语表术语解释REPLRead-Eval-Print Loop交互式解释器Tool UseAI 调用外部工具的能力System Prompt系统提示词定义 AI 行为Token文本处理单位API 计费依据Fork Agent从当前会话分离的独立 AgentC. 相关资源Anthropic API 文档TypeScript 官方文档Commander.js 文档Claude Code 源码

相关文章:

Claude Code 从零复刻教程 - 完整大纲

Claude Code 从零复刻教程 - 完整大纲 本教程面向有 JavaScript 基础的开发者,通过 12 篇系列文章,从零构建一个类似 Claude Code 的 AI 编程助手 CLI 工具。 目录 教程简介技术栈系列大纲每篇教程结构学习路径 教程简介 什么是 Claude Code&#xff1…...

拆解政务知识库落地:从0到日均万次应答的实战手记

在基层政务服务中,“这个政策怎么解读?”“社保卡丢了去哪补办?”这类问题每天被重复成百上千次。政策法规分散在数十个系统中,居民问不清,工作人员也答不准。如何在不增加编制的前提下,让90%的重复性问题被…...

【限时技术解禁】GraalVM静态镜像内存优化速查表(含JFR+Native Memory Tracking双验证脚本),仅开放72小时下载

第一章:GraalVM静态镜像内存优化快速接入全景概览GraalVM 静态镜像(Native Image)通过提前编译(AOT)将 Java 应用编译为独立、无 JVM 依赖的原生可执行文件,在启动速度与内存占用方面具备显著优势。然而&am…...

“.NET 11 + ONNX Runtime 1.18 + Triton集成”三重加速组合拳:某全球Top3药企临床辅助诊断系统P99延迟压至17ms的完整链路揭秘

第一章:“.NET 11 ONNX Runtime 1.18 Triton集成”三重加速组合拳:某全球Top3药企临床辅助诊断系统P99延迟压至17ms的完整链路揭秘该系统面向高并发、低延迟的病理图像实时推理场景,需在单次请求中完成多模态(HE染色切片免疫组化…...

SecGPT-14B私有化部署:企业内网安全使用OpenClaw的方案

SecGPT-14B私有化部署:企业内网安全使用OpenClaw的方案 1. 为什么需要内网专属AI助手 去年我在某金融机构参与了一个敏感项目,客户要求所有数据处理必须在隔离网络中完成。当我第一次尝试用公有云API调用AI能力时,安全团队立即叫停了整个流…...

PowerMeter:嵌入式电能计量开源库设计与实现

1. 项目概述PowerMeter 是一款面向嵌入式电能计量场景的轻量级开源库,专为基于 ZMPT101B 电压传感器与 ZMCT103C 电流传感器构建的单相交流电参数测量系统而设计。该库不依赖特定硬件平台(如 Arduino、ESP32 或 STM32),其核心抽象…...

SQL如何计算分组内的加权平均值_使用SUM与除法运算

<p>分组加权平均 SUM(值 * 权重) / NULLIF(SUM(权重), 0)&#xff0c;需在 GROUP BY 下按组分别计算分子分母&#xff1b;权重为NULL时SUM自动忽略&#xff0c;应显式过滤或处理&#xff1b;避免重复SUM影响性能。</p>用 SUM() 和除法算分组加权平均&#xff0c;核…...

Vibe Coding 程序员何去何从?最大的价值是质疑能力

当 AI 成为强力执行者&#xff0c;细节做得好不好、快不快&#xff0c;都不再重要。模型会越来越智能、越来越快。但真正决定你能用好 AI 还是被 AI 牵着走的&#xff0c;是你的思考能力。 专业能力的本质是质疑能力 很多人以为用好 AI 的关键是写好提示词&#xff08;Prompt&…...

重新定义翻译质量评估:COMET的智能引擎与行业变革

重新定义翻译质量评估&#xff1a;COMET的智能引擎与行业变革 【免费下载链接】COMET A Neural Framework for MT Evaluation 项目地址: https://gitcode.com/gh_mirrors/com/COMET 在全球化内容生产的浪潮中&#xff0c;翻译质量评估长期被一个认知误区所困扰——许多…...

什么是引线键合(WireBonding)

引线键合&#xff08;WireBonding&#xff09;引线键合是一种使用细金属线&#xff0c;利用热、压力、超声波能量为使金属引线与基板焊盘紧密焊合&#xff0c;实现芯片与基板间的电气互连和芯片间的信息互通。在理想控制条件下&#xff0c;引线和基板间会发生电子共享或原子的相…...

Windows Defender Remover终极指南:彻底释放系统性能的3种方法

Windows Defender Remover终极指南&#xff1a;彻底释放系统性能的3种方法 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mir…...

易基因|PBJ/IF10.5:西南大学吕典秋课题组揭示m6A甲基化修饰调控马铃薯耐盐性的新机制

​​大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 近日&#xff0c;Plant Biotechnology Journal杂志在线发表了由西南大学吕典秋课题组撰写的“StALKBH10B-mediated RNA m6A modification inhibits potato salt tolerance by target…...

如何处理死锁异常_ORA-00060捕获与重试机制设计

ORA-00060是死锁&#xff0c;非单纯竞争&#xff1b;Oracle检测到多个会话互持对方所需锁并主动回滚其中一个事务&#xff0c;需通过trace文件分析Deadlock graph定位具体行锁冲突及session&#xff0c;不可盲目重试。ORA-00060 是死锁还是竞争&#xff1f;先看日志里真正冲突的…...

不换设备、不重写程序:耐达讯自动化网关如何实现CC-Link IE转Modbus TCP的高效互通?

在工业4.0与智能制造加速落地的当下&#xff0c;工厂自动化系统的集成复杂度日益攀升。一个普遍存在的工程痛点在于&#xff1a;控制层往往采用以三菱电机为代表的CC-Link IE高速工业以太网&#xff0c;追求微秒级的同步与海量数据吞吐&#xff1b;而现场设备层却依然大量存留着…...

LangChain教程-、Langchain基础磐

简介 AI Agent 不仅仅是一个能聊天的机器人&#xff08;如普通的 ChatGPT&#xff09;&#xff0c;而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统&#xff0c;更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料&#xff0c;agent的…...

OpenClaw安全实践:Gemma-3-12b-it本地化保障敏感数据处理

OpenClaw安全实践&#xff1a;Gemma-3-12b-it本地化保障敏感数据处理 1. 为什么选择本地化部署 去年我在处理一批财务数据时&#xff0c;曾尝试使用某云端大模型服务进行报表分析。当系统提示"您的数据将被传输至第三方服务器进行处理"时&#xff0c;那种对敏感信息…...

性价比高的水泥压力板哪家技术强

在建筑材料市场中&#xff0c;水泥压力板凭借其诸多优势&#xff0c;如防火、防潮、隔音等&#xff0c;成为众多建筑项目的理想选择。对于追求性价比的客户来说&#xff0c;选择一家技术实力强的水泥压力板品牌至关重要。兴达成就是这样一家在市场上具有较高声誉的品牌&#xf…...

StructBERT中文相似度模型效果展示:LCQMC与ChineseSTS精准匹配案例集

StructBERT中文相似度模型效果展示&#xff1a;LCQMC与ChineseSTS精准匹配案例集 1. 引言&#xff1a;当AI能读懂句子的“言外之意” 你有没有遇到过这样的场景&#xff1f;在搜索引擎里输入一个问题&#xff0c;结果返回的答案和你问的完全不是一回事。或者&#xff0c;你想…...

智能营销新纪元:揭秘星图销冠系统如何用AI自动化重塑企业获客生态

在数字化转型浪潮席卷各行各业的今天&#xff0c;企业获客成本持续攀升&#xff0c;传统营销方式疲态尽显。寻找一家真正专业AI企业、服务好AI服务商&#xff0c;引入一套能打通公域引流与私域转化全链路的智能系统&#xff0c;已成为众多市场决策者的核心诉求。市场上声称能提…...

如何划分接口文档?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快1、首先最主要的就是要分析接口测试文档&#xff0c;每一个公司的测试文档都是不一样的。具体的就要根据自己公司的接口而定&#xff0c;里面缺少的内容自己需要与开…...

OpenClaw性能调优实战:提升Kimi-VL-A3B-Thinking多模态响应速度的5个技巧

OpenClaw性能调优实战&#xff1a;提升Kimi-VL-A3B-Thinking多模态响应速度的5个技巧 1. 问题背景与性能瓶颈分析 最近我在本地部署了Kimi-VL-A3B-Thinking多模态模型&#xff0c;并通过OpenClaw与之对接&#xff0c;构建了一个自动化图文处理的工作流。但在实际使用中发现&a…...

Glide:Android图片加载的瑞士军刀,真的有这么神?

Glide&#xff1a;Android图片加载的瑞士军刀&#xff0c;真的有这么神&#xff1f; Glide 是什么&#xff0c;为何选择它 在 Android 开发的世界里&#xff0c;图片加载是一个绕不开的重要环节。想象一下&#xff0c;在一个社交类 APP 中&#xff0c;用户的头像、发布的照片&a…...

基于Arm Cortex-M7内核GD32H7

基于Arm Cortex-M7内核&#xff0c;主频高达750MHz&#xff0c;并配备了高速大容量内存架构&#xff0c;旨在以“超高算力”与“实时通信”能力&#xff0c;为伺服控制、数字电源、智能家居&#xff08;885478&#xff09;等下一代智能装备提供核心硬件基础。 性能铁三角&#…...

查老板信息免费?3款工具深度功能对比(附避坑指南)

查老板信息免费的方法有很多&#xff0c;但大多数人都只停留在基础工商信息层面。真正能免费查到深度信息&#xff08;关联企业、风险记录、AI解读&#xff09;的工具其实不多&#xff0c;我最近亲测了几款常用工具&#xff0c;发现风鸟企业查询平台在免费深度功能方面表现突出…...

沈阳户外路灯厂家哪家好

大家好&#xff0c;我是你们的老朋友小李。今天咱们聊聊沈阳的户外路灯市场&#xff0c;尤其是哪家厂家值得信赖。在众多品牌中&#xff0c;中领乾路灯凭借其卓越的产品质量和贴心的服务&#xff0c;逐渐成为了行业的佼佼者。接下来&#xff0c;我会从几个方面来详细分析一下&a…...

企业为什么开始用小程序替代官网?

企业为什么开始用小程序替代官网?一、核心结论企业开始用小程序替代传统官网&#xff0c;本质上不是“技术替代”&#xff0c;而是获客方式与用户行为的变化。当用户从“搜索访问网站”转向“在平台内直接完成浏览与交易”时&#xff0c;小程序在转化效率与使用路径上更具优势…...

Claude Skills工作原理介绍(SKILL.md、available_skills、渐进式加载:三层上下文架构、最少惊讶原则)

文章目录Claude Skills 是如何工作的&#xff1f;什么是 Claude Skills&#xff1f;Skills 的核心结构触发机制&#xff1a;Claude 如何决定"要不要查手册"&#xff1f;渐进式加载&#xff1a;三层上下文架构Skills 的生命周期&#xff1a;从创建到迭代1. 捕捉意图2.…...

一文吃透 TDengine:对比主流时序库、核心语法与避坑指南

前言在物联网、工业监控、车联网、能源等场景&#xff0c;时序数据&#xff08;时间戳 指标 标签&#xff09;的规模动辄亿级测点、万亿行数据&#xff0c;传统数据库与通用时序库往往陷入 “写不动、查不动、存不起” 的困境。TDengine&#xff08;涛思数据库&#xff09;凭…...

LAYONTHEGROUND看

一、什么是requests&#xff1f; requests 是一个用于发送HTTP请求的 Python 库。 它可以帮助你&#xff1a; 轻松发送GET、POST、PUT、DELETE等请求 处理Cookie、会话等复杂性 自动解压缩内容 处理国际化域名和URL 二、应用场景 requests 广泛应用于以下实际场景&#xff1a; …...

2026年AI决胜关键: Harness架构才是碾压对手的终极护城河!

文章指出&#xff0c;在AI领域&#xff0c;单纯依靠大模型参数已经无法决定胜负&#xff0c;真正关键的是Harness架构的稳定性。文章通过实证报告揭示&#xff0c;在底层大模型权重不变的情况下&#xff0c;精巧的Harness能使AI通过率大幅提升。文章详细分析了长任务Agent可能面…...