周宣宇博客记录个人网络日记，记录WEB前端开发，AI编程，Flutter多端开发,web全栈开发，前端学习手册，前端笔记学习的网站。
/init — 项目初始化命令 Claude Code 斜杠命令系列 · 第 7.1 节 一、这个命令做什么？ /init 是 Claude Code 的项目引导命令。它在你项目的根目录下生成一个 CLAUDE.md 文件——相当于给 Claude Code 的"项目说明书"，让后续的每一次对话都自带完整的项目上下文，而不是每次都从零猜你的代码结构。 执行效果一句话概括： 扫描 → 理解 → 写入 CLAUDE.md → 后续对话自动加载 二、基本用法 在 Claude Code 的交互式 REPL 中（即你已经 claude 进入了对话界面），直接在提示符处输入： /init 不需要额外参数。Claude Code 会以当前工作目录为项目根目录进行扫描。 三、/init 做了什么？ 执行 /init 后，Claude Code 大致按以下流程工作： 步骤 行为 说明 ① 目录扫描 遍历当前目录及子目录 读取文件树结构，识别源码、配置、文档等 ② 内容解析 分析代码与配置文件 推断技术栈、目录约定、入口文件、依赖关系等 ③ 生成知识摘要 提炼为结构化项目描述 写入 CLAUDE.md，作为持久化的项目记忆 ④ 自动挂载上下文 后续对话隐式引用 你不用每次手动贴代码或解释项目结构 最终产物就是一个 CLAUDE.md 文件，出现在你的项目根目录中。 四、CLAUDE.md 是什么？怎么用？ 4.1 本质 CLAUDE.md 是一个 Markdown 格式的指令/记忆文件，Claude Code 会在每次对话启动时自动读取它，当作系统上下文的一部分注入。 它通常包含（由 /init 自动生成 + 你手动补充）： 项目用途与架构概述 技术栈与关键依赖 目录结构说明 构建/运行方式 编码规范或特殊约定 4.2 你可以（而且应该）手动编辑它 /init 给的是起点，不是终点。建议你打开 CLAUDE.md 做补充： ## 项目概述 这是一个 xxx 服务，负责…… ## 技术栈 - Runtime: Node.js 20 + TypeScript - Framework: Express / Hono / Next.js（按实际情况） - DB: PostgreSQL + Prisma - 测试: Vitest ## 目录速览 /src /routes # API 路由 /services # 业务逻辑 /db # 数据访问层 ## 开发命令 - dev: `npm run dev` - build: `npm run build` - test: `npm test` ## 约定 - 所有 API 返回统一信封 { code, data, message } - 不允许在 route 层写业务逻辑 这条文件的价值 = 你往里面填的有用信息 × 被 Claude Code 自动引用的次数 4.3 要不要提交到 Git？ 策略 适合场景 提交到仓库 团队共用 Claude Code，CLAUDE.md 描述的是项目客观事实（结构、命令、规约） 放进 .gitignore 里面有个人偏好、路径、本地环境信息，或你希望每个人各自维护自己的 折中方案：提交一个 CLAUDE.md.example（模板），个人的 CLAUDE.md 忽略。 五、什么时候用 /init？ 典型场景 场景 1：第一次在一个项目里用 Claude Code cd your-project/ claude # 进入 REPL /init # 让 Claude Code 认识这个项目 之后你问它"帮我给 /api/users 加一个删除接口"，它已经知道你的路由在哪、你的 DB 层怎么写、你的返回格式长什么样。 场景 2：项目结构发生了较大变化 /init 重新跑一次，CLAUDE.md 会被刷新（ 注意下面说的覆盖问题）。 六、注意事项 & 坑位提醒 注意点 说明 /init 主要产出只有 CLAUDE.md 它不会帮你改代码、建文件、装依赖——只是写"说明书" 大型项目扫描耗时 monorepo / node_modules 没配好忽略规则的话会很慢且噪音多。建议先用 .gitignore 或告诉 Claude Code 忽略哪些目录 重新 /init 可能覆盖手工编辑 如果你已经在 CLAUDE.md 里写了一堆宝贵注释，重跑 /init 前建议先备份：cp CLAUDE.md CLAUDE.md.bak 不是魔法 /init 生成的初稿质量取决于项目本身是否"自描述"（有没有 package.json、README、清晰的目录名）。越规范的仓库效果越好 .gitignore 里的文件不会被关注 这和 git 的忽略规则通常是一致的，但如果有特殊目录不想让它看，留意一下 七、推荐工作流（最佳实践） # 1. 进入项目 cd my-project # 2. 首次初始化 claude /init # 3. 打开 CLAUDE.md，手补一段"人话"—— # 项目是干嘛的、核心约定是什么、哪些目录千万别乱动 vim CLAUDE.md # 或用 VS Code 打开编辑 # 4. 清掉初始化过程中的闲聊历史（可选），正式开工 /clear 之后日常开发： 你：「帮我在 src/services/payment.ts 里加一个 refund() 方法， 复用现有的 prisma 实例和日志工具」 Claude Code 已经知道 prisma 在哪、logger 怎么用、错误该怎么返回——因为这些都在 CLAUDE.md 里。 八、常与 /init 搭配的命令 命令 用途 /clear 清空当前对话历史，保留 CLAUDE.md 上下文——适合 init 完想"重新开始" /memory 直接编辑 CLAUDE.md（有些版本支持此快捷入口） /context 查看当前上下文占用情况 /model 如果 init 过程中发现需要用更大上下文窗口的模型 一句话总结：/init 的意义不是"初始化项目"（项目早就在那了），而是初始化 Claude Code 对这个项目的认知。CLAUDE.md 就是这个认知的物化载体——自动生成打底，人工精修加码，才是正确打开方式。 如果你愿意，把你项目的 目录树（tree -L 2 -I 'node_modules|.git|dist' 的输出）或者现有的 CLAUDE.md 贴出来，我可以帮你进一步精炼成一份高质量的项目记忆文件，让它对 Claude Code 的指导效果最大化。
Spring Boot Skills 全景指南（重编版） 一、为什么需要 Skills？ AI 编码工具（Claude Code、Cursor、Copilot CLI 等）在 Spring Boot 项目中最常见的痛点是：生成的代码缺乏 Spring 工程经验——比如滥用字段注入、不分层、没有全局异常处理、测试覆盖率低。 Skills 的出现就是为了解决这个问题：把资深 Spring 工程师的编码规范、架构模式、测试策略打包成 AI 可以直接加载的结构化知识包，让 AI 像老手一样写代码。 一个标准的 Skill 目录结构如下： .claude/skills/<skill-name>/ ├── SKILL.md # 触发条件 + 核心规则（≤500 token） ├── conventions.md # 详细约定 ├── examples/ # 正反例代码 ├── templates/ # 可复用的代码模板 └── references/ # 按需加载的补充文档 二、五大专用 Spring Boot Skills 项目 项目 一句话定位 核心价值 Dr JSkill（⭐251） JHipster 创始人出品，项目脚手架生成 按业界最严规范一键生成 Spring Boot 4.x + Java 25 + PostgreSQL + Docker 项目，可选 Vue/React/Angular 前端 spring-boot-skills（rrezartprebreza） 生产级日常开发规范集合 每个 Skill = 约定 + 示例 + 模板，AI 可直接复制正确代码，涵盖 REST API、测试、DB 迁移等 springboot-skills-marketplace（⭐47） 渐进式架构模式库 从 Layered → Package-by-Module → Modular Monolith → DDD+Hexagonal，按项目复杂度逐步升级，防止过度设计 Spring Boot Engineer Subagent 高级 Spring Boot 编码专家角色 独立 subagent，负责实现：88%+ 测试覆盖、2.3s 启动、GraalVM Native 优化 Java Architect Subagent 企业级架构决策角色 在架构分析阶段调用，把关技术选型和分层设计合理性 三、大型 Skills 集合中的 Spring Boot 相关条目 3.1 Antigravity Awesome Skills（⭐38.9k，1,480+ Skills） 安装：npx antigravity-awesome-skills --claude 与 Spring Boot 直接相关的 15 个精华 Skill： Skill 名称 说明 适用场景 java-architect 企业级 Java 架构师 系统架构设计、技术选型 spring-boot-engineer Spring Boot 3+ 专家 日常开发、微服务实现 api-design-principles REST/GraphQL API 设计原则 API 接口设计 database-optimization 数据库优化 查询调优、索引策略 tdd-mastery Red-Green-Refactor 测试驱动开发 测试编写 security-hardening 安全加固 输入验证、认证模式 code-refactoring-refactor-clean 重构专家 代码清理、SOLID 原则 production-code-audit 生产级代码审计 上线前审查 cqrs-implementation CQRS 架构实现 读写分离架构 ddd-strategic-design DDD 战略设计 限界上下文划分 ddd-tactical-patterns DDD 战术模式 聚合、值对象、领域事件 event-sourcing-architect 事件溯源架构 事件驱动系统 postgres-best-practices PostgreSQL 最佳实践 数据库设计 sql-optimization-patterns SQL 优化模式 慢查询优化 monorepo-architect 单仓库架构 大型多模块 Spring 项目 3.2 VoltAgent Awesome Agent Skills（⭐23.3k，1,000+ Skills） 安装：git clone 后手动配置 skills 目录 与 Antigravity 类似，Java 相关 Skills 分类在 02-language-specialists/ 目录下，包含 Spring Boot Engineer 和 Java Architect 等角色 Subagent。 3.3 Awesome Claude Code Toolkit（⭐1.8k） 安装：克隆后手动配置 skills 目录 包含 135 agents + 35 curated skills + 42 commands + 176+ plugins。Spring Boot 相关的 Skills 分布在 API Design、Database Optimization、TDD、Security 等目录下。 四、Spring AI 原生集成（最有前景的方向） Spring AI 社区已将 Skills 概念引入 Spring 生态，允许 在 Spring Boot 应用内部运行 AI Agent 并加载 Skills。 4.1 spring-ai-agent-utils（⭐460） 功能：将 Claude Code 的 Skills 概念作为 Spring AI 工具重新实现 SkillsJar：可将 Skills 打包为 Maven/Gradle 依赖，在团队间分发 集成方式：通过 SkillsTool 在 ChatClient 中注册 Skills 代码示例：ChatClient chatClient = chatClientBuilder .defaultToolCallbacks(SkillsTool.builder() .addSkillsDirectory(".claude/skills") .build()) .defaultTools(FileSystemTools.builder().build()) .defaultTools(ShellTools.builder().build()) .build(); 4.2 官方示例：在 Spring Boot 中创建 Code Reviewer Skill Spring 官方博客展示了如何定义和加载一个代码审查 Skill： mkdir -p .claude/skills/code-reviewer cat > .claude/skills/code-reviewer/SKILL.md << 'EOF' --- name: code-reviewer description: Reviews Java code for best practices, security issues, and Spring Framework conventions. Use when user asks to review, analyze, or audit code. --- # Code Reviewer ## Instructions When reviewing code: 1. Check for security vulnerabilities (SQL injection, XSS, etc.) 2. Verify Spring Boot best practices (proper use of @Service, @Repository, etc.) 3. Look for potential null pointer exceptions 4. Suggest improvements for readability and maintainability 5. Provide specific line-by-line feedback with code examples EOF 五、如何为 Spring Boot 项目编写自己的 Skill 5.1 创建步骤 # 1. 创建 skill 目录 mkdir -p .claude/skills/spring-boot-rest-api # 2. 创建 SKILL.md cat > .claude/skills/spring-boot-rest-api/SKILL.md << 'EOF' --- name: spring-boot-rest-api description: 编写 Spring Boot REST API 的最佳实践。当用户要求创建 Controller、DTO 或 REST 端点时自动激活。 --- # Spring Boot REST API 开发指南 ## 触发条件 - 创建新的 REST Controller - 编写 DTO / VO 类 - 设计 API 响应格式 ## 核心规则 1. 使用 @RestController + @RequestMapping 2. 所有响应统一包装为 Result<T> 格式 3. 使用 @Valid 进行请求参数校验 4. 全局异常处理使用 @ControllerAdvice 5. 分页查询使用 Pageable 参数 ## 代码示例 （见 references/ 目录） EOF # 3. 创建参考文件 mkdir -p .claude/skills/spring-boot-rest-api/references 5.2 编写最佳实践 原则 说明 控制体量 SKILL.md 控制在 500 token 以内，超出部分放入 references/ 目录按需加载 明确触发 触发条件用“当用户要求…时”的句式 正反对比 包含正反例对比，帮助 Agent 理解“什么是好的代码” 模板复用 使用模板文件，放在 templates/ 目录供 Agent 复制使用 团队共享 提交到版本控制，让团队共享 六、Spring Boot 项目 CLAUDE.md 模板 CLAUDE.md 是每次对话都加载的项目级上下文，配合 Skills 使用效果最佳。 # 项目名称 ## 技术栈 - Spring Boot 4.x / Java 25 - PostgreSQL + JPA/Hibernate - Spring Security + JWT - Redis 缓存 - Docker + Kubernetes ## 关键命令 - `./mvnw spring-boot:run` — 启动开发服务器 - `./mvnw test` — 运行测试 - `./mvnw clean package -DskipTests` — 打包 ## 代码规范 - 构造器注入（不用 @Autowired 字段注入） - Service 层不加 @Transactional（只在需要的方法上加） - Entity 不直接暴露给 API（用 DTO 转换） - 日志用 SLF4J，不用 System.out ## Skills 本项目已安装以下 Skills： - spring-boot-rest-api：REST API 开发 - spring-boot-testing：测试编写 - code-reviewer：代码审查 七、推荐的 Spring Boot + Agent Skills 工作流 7.1 标准工作流 探索阶段：让 Agent 读取代码库，理解架构 规划阶段：使用 /plan 模式，Agent 输出实现方案 编码阶段：Agent 按规划逐步实现（自动加载匹配的 Skills） 验证阶段：运行测试，确认通过 提交阶段：Git commit + push 7.2 多 Agent 协作模式 对于复杂 Spring Boot 项目，可以按角色分配不同 Skills： Agent 角色 职责 推荐 Skill 架构师 设计微服务架构、模块拆分 Java Architect 开发者 编写具体代码 Spring Boot Engineer / Dr JSkill 测试工程师 编写和运行测试 TDD Mastery 安全审计 安全漏洞扫描 Security Hardening 代码审查 代码质量把关 Code Reviewer 八、总结 本文系统梳理了 AI Coding Agent 在 Spring Boot 项目中的 Skills 生态。核心思路是：将高级 Spring 工程师的经验固化为 AI 可加载的结构化知识包，从而让 AI 生成的代码符合行业规范，减少幻觉。 无论你是想快速搭建脚手架（Dr JSkill）、制定团队编码规范（spring-boot-skills）、渐进式演进架构（springboot-skills-marketplace），还是想在 Spring Boot 应用内部集成 AI Agent（spring-ai-agent-utils），都能在这篇文章中找到对应的解决方案。 下一步行动建议： 为你的 Spring Boot 项目创建一个 CLAUDE.md 文件 从 Antigravity 或 VoltAgent 集合中选择 3~5 个核心 Skills 安装 根据团队规范编写 1~2 个自定义 Skill 尝试多 Agent 协作模式，提升开发效率
3.1 基础代码生成 概述 Claude Code 最核心的功能之一是代码生成，它能够根据自然语言描述生成多种编程语言的代码。掌握基础代码生成功能是高效使用 Claude Code 的关键，它能帮助开发者快速生成代码骨架、常用功能模块乃至完整程序。本节将详细介绍 Claude Code 的基础代码生成功能和使用方法。 简单代码生成 生成函数 你可以要求 Claude Code 生成单个函数。例如，请求生成一个计算阶乘的 Python 函数： 输入： 帮我写一个Python函数来计算阶乘 输出： def factorial(n): """ 计算给定整数的阶乘 参数: n: int - 要计算阶乘的整数 返回: int - 阶乘结果 示例: >>> factorial(5) 120 >>> factorial(0) 1 """ if n < 0: raise ValueError("阶乘不能为负数") elif n == 0 or n == 1: return 1 else: result = 1 for i in range(2, n + 1): result *= i return result 生成类 你可以要求 Claude Code 生成完整的类。例如，请求生成一个表示学生信息的 Java 类： 输入： 帮我写一个Java类，表示学生信息，包含姓名、年龄、学号、成绩等属性，以及相应的getter和setter方法 输出： public class Student { // 成员变量 private String name; private int age; private String studentId; private double score; // 默认构造方法 public Student() { } // 带参数的构造方法 public Student(String name, int age, String studentId, double score) { this.name = name; this.age = age; this.studentId = studentId; this.score = score; } // getter和setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getStudentId() { return studentId; } public void setStudentId(String studentId) { this.studentId = studentId; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } // toString方法，用于打印学生信息 @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", studentId='" + studentId + '\'' + ", score=" + score + '}'; } // equals方法，用于比较两个学生对象是否相等 @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Student student = (Student) o; return age == student.age && Double.compare(student.score, score) == 0 && Objects.equals(name, student.name) && Objects.equals(studentId, student.studentId); } // hashCode方法 @Override public int hashCode() { return Objects.hash(name, age, studentId, score); } } 生成完整程序 你可以要求 Claude Code 生成完整的程序。例如，请求生成一个实现简单计算器的 C++ 程序： 输入： 帮我写一个C++程序，实现一个简单的计算器，支持加减乘除四种运算 输出： #include <iostream> #include <string> #include <stdexcept> using namespace std; // 计算器类 class Calculator { public: // 加法 double add(double a, double b) { return a + b; } // 减法 double subtract(double a, double b) { return a - b; } // 乘法 double multiply(double a, double b) { return a * b; } // 除法 double divide(double a, double b) { if (b == 0) { throw runtime_error("除数不能为零"); } return a / b; } }; int main() { Calculator calc; char operation; double num1, num2; cout << "简单计算器\n"; cout << "支持的运算：+、-、*、/\n"; cout << "输入格式：数字 运算符 数字\n"; cout << "例如：1 + 2\n"; cout << "输入 'exit' 退出程序\n\n"; while (true) { string input; cout << "请输入："; getline(cin, input); // 检查是否退出 if (input == "exit") { cout << "程序已退出\n"; break; } try { // 解析输入 size_t op_pos = input.find_first_of("+-*/"); if (op_pos == string::npos) { cout << "无效的输入格式\n"; continue; } operation = input[op_pos]; num1 = stod(input.substr(0, op_pos)); num2 = stod(input.substr(op_pos + 1)); // 执行运算 double result; switch (operation) { case '+': result = calc.add(num1, num2); break; case '-': result = calc.subtract(num1, num2); break; case '*': result = calc.multiply(num1, num2); break; case '/': result = calc.divide(num1, num2); break; default: cout << "无效的运算符\n"; continue; } // 输出结果 cout << "结果：" << result << "\n"; } catch (const invalid_argument& e) { cout << "无效的数字输入\n"; } catch (const out_of_range& e) { cout << "数字超出范围\n"; } catch (const runtime_error& e) { cout << e.what() << "\n"; } catch (...) { cout << "发生未知错误\n"; } cout << "\n"; } return 0; } 生成特定框架代码 Web框架代码 Claude Code 熟悉各种 Web 框架，可以生成相应的代码。例如，请求生成一个 Node.js Express 路由实现用户注册功能： 输入： 帮我写一个Node.js Express路由，实现用户注册功能，包括验证和错误处理 输出： const express = require('express'); const router = express.Router(); const { body, validationResult } = require('express-validator'); const bcrypt = require('bcryptjs'); const User = require('../models/User'); // 用户注册路由 router.post('/register', // 验证规则 [ body('username') .notEmpty().withMessage('用户名不能为空') .isLength({ min: 3, max: 20 }).withMessage('用户名长度必须在3-20个字符之间') .matches(/^[a-zA-Z0-9_]+$/).withMessage('用户名只能包含字母、数字和下划线'), body('email') .notEmpty().withMessage('邮箱不能为空') .isEmail().withMessage('请输入有效的邮箱地址'), body('password') .notEmpty().withMessage('密码不能为空') .isLength({ min: 6 }).withMessage('密码长度不能少于6个字符') .matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,}$/).withMessage('密码必须包含至少一个大写字母、一个小写字母和一个数字'), body('confirmPassword') .notEmpty().withMessage('确认密码不能为空') .custom((value, { req }) => { if (value !== req.body.password) { throw new Error('两次密码输入不一致'); } return true; }) ], async (req, res) => { // 检查验证结果 const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); } try { // 检查用户名是否已存在 let user = await User.findOne({ username: req.body.username }); if (user) { return res.status(400).json({ errors: [{ msg: '该用户名已存在' }] }); } // 检查邮箱是否已存在 user = await User.findOne({ email: req.body.email }); if (user) { return res.status(400).json({ errors: [{ msg: '该邮箱已被注册' }] }); } // 创建新用户 user = new User({ username: req.body.username, email: req.body.email, password: req.body.password }); // 加密密码 const salt = await bcrypt.genSalt(10); user.password = await bcrypt.hash(user.password, salt); // 保存用户到数据库 await user.save(); // 返回成功响应 res.status(201).json({ msg: '注册成功', user: { id: user.id, username: user.username, email: user.email } }); } catch (err) { console.error(err.message); res.status(500).send('服务器错误'); } } ); module.exports = router; 前端框架代码 Claude Code 也可以生成前端框架代码。例如，请求生成一个 React 组件实现待办事项列表： 输入： 帮我写一个React组件，实现一个待办事项列表，支持添加、删除和标记完成功能 输出： import React, { useState } from 'react'; const TodoList = () => { // 状态管理 const [todos, setTodos] = useState([]); const [inputText, setInputText] = useState(''); // 生成唯一ID const generateId = () => { return Math.random().toString(36).substr(2, 9); }; // 添加待办事项 const handleAddTodo = (e) => { e.preventDefault(); if (inputText.trim() === '') return; const newTodo = { id: generateId(), text: inputText, completed: false }; setTodos([...todos, newTodo]); setInputText(''); }; // 删除待办事项 const handleDeleteTodo = (id) => { setTodos(todos.filter(todo => todo.id !== id)); }; // 切换待办事项完成状态 const handleToggleComplete = (id) => { setTodos(todos.map(todo => { if (todo.id === id) { return { ...todo, completed: !todo.completed }; } return todo; })); }; return ( 待办事项列表 {/* 添加待办事项表单 */} setInputText(e.target.value)} className="todo-input" /> 添加 {/* 待办事项列表 */} {todos.length === 0 ? ( 暂无待办事项 ) : ( todos.map(todo => ( handleToggleComplete(todo.id)} className="todo-checkbox" /> {todo.text} handleDeleteTodo(todo.id)} className="delete-button" > 删除 )) )} ); }; export default TodoList; 生成配置文件 Claude Code 可以生成各种配置文件。例如，请求生成一个 React 项目的 package.json 文件： 输入： 帮我写一个package.json文件，用于一个React项目，包含常用的依赖和脚本 输出： { "name": "my-react-app", "version": "1.0.0", "description": "A React application", "main": "index.js", "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject", "lint": "eslint src/", "lint:fix": "eslint src/ --fix", "format": "prettier --write src/" }, "dependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.16.0", "axios": "^1.5.0", "styled-components": "^6.0.8" }, "devDependencies": { "@types/react": "^18.2.0", "@types/react-dom": "^18.2.0", "@types/react-router-dom": "^5.3.3", "@types/styled-components": "^5.1.26", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", "eslint": "^8.49.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "prettier": "^3.0.3", "typescript": "^5.2.2" }, "keywords": ["react", "javascript", "typescript"], "author": "Your Name", "license": "MIT", "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] } } 生成测试代码 Claude Code 可以生成各种测试代码。例如，请求生成一个 Jest 测试用例来测试前面生成的阶乘函数： 输入： 帮我写一个Jest测试用例，测试前面生成的阶乘函数 输出： // 导入阶乘函数 const factorial = require('./factorial'); describe('阶乘函数测试', () => { // 测试基本情况 test('0的阶乘应该返回1', () => { expect(factorial(0)).toBe(1); }); test('1的阶乘应该返回1', () => { expect(factorial(1)).toBe(1); }); // 测试普通正整数 test('5的阶乘应该返回120', () => { expect(factorial(5)).toBe(120); }); test('10的阶乘应该返回3628800', () => { expect(factorial(10)).toBe(3628800); }); // 测试较大的数 test('15的阶乘应该返回1307674368000', () => { expect(factorial(15)).toBe(1307674368000); }); // 测试异常情况 test('负数的阶乘应该抛出错误', () => { expect(() => factorial(-1)).toThrow(); expect(() => factorial(-5)).toThrow(); expect(() => factorial(-10)).toThrow(); }); // 测试非整数输入 test('非整数输入应该抛出错误', () => { expect(() => factorial(1.5)).toThrow(); expect(() => factorial('5')).toThrow(); expect(() => factorial(null)).toThrow(); expect(() => factorial(undefined)).toThrow(); }); }); 代码生成技巧 提供明确的需求 在要求 Claude Code 生成代码时，提供明确的需求可以获得更准确的结果。 不好的示例： 帮我写一个登录功能 好的示例： 帮我写一个使用React和TypeScript的登录组件，包含用户名和密码输入框，以及登录按钮。需要实现表单验证，包括用户名不能为空，密码长度至少6个字符。使用Axios发送POST请求到/api/login接口，处理成功和失败的情况，并显示相应的提示信息。 指定编程语言和版本 明确指定编程语言和版本可以获得更符合需求的代码。 帮我写一个Python 3.10版本的异步HTTP客户端，使用aiohttp库 指定框架和库 如果需要使用特定的框架或库，应该明确指定。 帮我写一个使用Vue 3和Pinia的计数器组件，包含增加、减少和重置功能 提供示例数据 提供示例数据可以帮助 Claude Code 更好地理解需求。 帮我写一个JavaScript函数，将以下JSON数据转换为HTML表格： { "users": [ { "name": "张三", "age": 25, "city": "北京" }, { "name": "李四", "age": 30, "city": "上海" }, { "name": "王五", "age": 35, "city": "广州" } ] } 使用逐步细化的方法 对于复杂的需求，可以使用逐步细化的方法。 1. 帮我写一个用户管理系统的后端API 2. 使用Node.js和Express框架 3. 数据库使用MongoDB 4. 实现用户注册、登录、获取用户列表和删除用户功能 5. 注册时需要验证邮箱格式和密码强度 6. 登录时生成JWT令牌 7. 实现中间件来验证JWT令牌 常见问题与解决方案 生成的代码不符合需求 问题： Claude Code 生成的代码不符合预期需求 解决方案： 提供更明确的需求描述 指定具体的编程语言、框架和库 提供示例数据或示例代码 逐步细化需求 生成的代码存在语法错误 问题： Claude Code 生成的代码存在语法错误 解决方案： 检查是否指定了正确的编程语言版本 提供更明确的需求描述 要求 Claude Code 修复语法错误 生成的代码缺少必要的功能 问题： Claude Code 生成的代码缺少必要的功能 解决方案： 提供更详细的需求描述 明确列出所有需要的功能 要求 Claude Code 添加缺少的功能 生成的代码过于复杂 问题： Claude Code 生成的代码过于复杂，超出了需求范围 解决方案： 提供更简洁的需求描述 明确要求生成简洁的代码 要求 Claude Code 简化代码 代码生成最佳实践 明确需求：提供清晰、明确的需求描述 指定技术栈：明确指定编程语言、框架和库 提供示例：提供示例数据或示例代码 逐步细化：对于复杂需求，采用逐步细化的方式 验证结果：生成代码后，仔细验证是否符合需求 反馈修正：如果代码不符合需求，及时反馈并修正 学习借鉴：学习 Claude Code 生成的代码，提高自己的编程能力 结合实际：根据实际情况修改生成的代码，使其更适合项目需求 总结 Claude Code 的基础代码生成功能非常强大，可以生成各种编程语言、框架和库的代码，包括简单函数、完整类、整个程序、配置文件和测试代码等。掌握基础代码生成功能可以大大提高开发效率，减少重复劳动。 在使用 Claude Code 生成代码时，建议提供明确的需求描述，指定具体的技术栈，提供示例数据或示例代码，并采用逐步细化的方式处理复杂需求。这些技巧可以帮助你获得更符合预期的代码。 同时，生成代码后，应该仔细验证代码是否符合需求，是否存在语法错误或逻辑问题，并根据实际情况进行修改。Claude Code 生成的代码可以作为基础，在此基础上进行调整和优化，使其更适合项目的实际需求。
Office AI 智能体：一款开源的智能办公自动化工具
Office AI 智能体：一款开源的智能办公自动化工具 项目简介 Office AI 智能体 是一个基于AI的办公自动化插件。它使用 Visual Studio Community 2022 + Visual Basic.NET + VSTO 技术栈开发，旨在为 Microsoft Office 应用程序（兼容WPS Office）提供AI驱动的辅助功能，通过智能数据分析和文档处理来帮助用户提高工作效率。 开源协议：Apache-2.0 源码地址：https://github.com/it235/office-ai-agent 功能特性 核心功能 AI驱动分析：智能数据分析和处理。 多文档支持：处理 Excel、Word 和 PowerPoint 文件。 AI智能翻译：支持多语言、多模型的段落及整页翻译。 智能排版/续写/审阅：对文档或PPT内容进行智能排版、续写、错句词审阅修订。 Ralph Loop集成：首个将智能规划Ralph Loop集成到Office中的插件。 MCP客户端集成：已集成MCP-Client，支持配置MCP-Server。 大模型增强：已针对DeepSeek、豆包等模型进行增强，以提供更好的AI性能。 支持的产品与功能 产品 状态 主要功能 Microsoft Excel ✅ 支持 数据分析、图表生成、公式辅助、AI函数 Microsoft Word ✅ 支持 文档处理、内容生成/补全、审阅、续写、排版、翻译 Microsoft PowerPoint ✅ 支持 演示文稿创建、幻灯片设计、审阅、续写、排版、翻译 WPS Office ✅ 兼容 与WPS套件完全兼容 界面与使用展示 工具在Office功能区添加了“AI助手”选项卡。用户可以通过侧边栏的聊天界面与AI助手交互。 例如，在Excel中，用户可以： 选择包含数据（如各省GDP）的表格。 在聊天框输入自然语言指令（如“将所有数据汇总并按2022年GDP升序排序”）。 AI助手会理解需求，并直接生成可执行的VBA代码，用户可一键复制、编辑或执行。 这体现了其对话式交互和自动化代码生成的核心能力。 使用说明 快速开始 启动：打开 Excel、Word 或 PowerPoint。 访问：在功能区找到“AI助手”选项卡。 交互：使用聊天界面提问或下达指令。 执行：让AI帮助分析数据、生成内容或处理文档。 高级功能 批处理：同时处理多个文件。 自定义模板：创建和使用自定义分析模板。 数据导出：以各种格式导出分析结果。 集成API：连接外部数据源。 技术选型与安装 系统要求 组件 要求 操作系统 Windows 10 及以上 办公套件 Microsoft Office 2013+ 或 WPS Office .NET Framework 4.7.2 或更高版本 开发环境 (用于构建) Visual Studio Community 2022 从源码构建与部署 # 1. 克隆仓库 git clone https://github.com/it235/office-ai-agent.git # 2. 在 Visual Studio 2022 中打开解决方案并构建 # 3. 将生成的插件部署到 Office 应用程序 # 4. 配置所需的API密钥和偏好设置 项目结构 AiHelper/ ├── ExcelAi/ # Excel 插件模块 ├── WordAi/ # Word 插件模块 ├── PowerPointAi/ # PowerPoint 插件模块 ├── ShareRibbon/ # 共享的界面组件 └── OfficeAgent/ # 安装程序相关 总结 Office AI 智能体是一个将前沿AI能力（如大模型对话、代码生成、智能规划）深度融合到传统Office办公套件中的开源解决方案。它通过自然语言交互，大幅降低了数据分析和文档处理自动化的门槛，旨在成为提升办公效率的智能助手。
CC-Switch 使用 Claude Code 完整教程 CC-Switch 是一款跨平台 AI 编程 CLI 统一管理工具，核心功能是多供应商一键切换、API Key 集中管理、代理与用量追踪。它特别适合同时使用 Claude Code、Codex、Gemini CLI 等 AI 编程工具的用户，能够将分散的配置集中到一个桌面应用中管理。 一、CC-Switch 与 Claude Code 简介 1.1 CC-Switch 是什么？ CC-Switch 是一个开源免费的跨平台桌面应用，堪称 AI 编程时代的“瑞士军刀”。它的核心作用是统一管理 Claude Code、Codex、Gemini CLI、OpenCode 和 OpenClaw 这五大 AI 编程工具的 API 配置。 主要价值： 告别手动繁琐地编辑各种 settings.json、.toml 或 .env 配置文件 通过一个面板管理多个工具，一次配置可以反复切换 出问题时有备份和回退机制 1.2 Claude Code 是什么？ Claude Code 是 Anthropic 推出的 AI 编程工具，支持代码生成、分析、调试等功能。它提供三种使用方式：Web 端、CLI（命令行）和编辑器集成。 推荐使用方式： 完全新手：先访问 https://claude.ai/ 用 Web 端试试手感 真正用于开发：直接学习 CLI（命令行），功能最完整 日常开发者：考虑编辑器集成（VS Code / Cursor 等） 二、安装准备 2.1 系统要求 Windows：10+（x64） macOS：12+（Intel/Apple Silicon） Linux：主流 x64 发行版（Ubuntu 20.04+、Debian 11+ 等） 2.2 前置条件 Claude 账号：访问 claude.ai 注册账号 命令行工具：确保系统已安装终端/命令行环境 API Key：从 Anthropic 控制台获取 Claude API Key 三、CC-Switch 安装步骤 3.1 下载安装包 前往项目官方 GitHub Release 页面下载最新版本： https://github.com/farion1231/cc-switch/releases 3.2 分系统安装 Windows 系统： 推荐下载 .msi 安装包（支持自动更新） 双击运行安装程序，跟随向导完成安装 或选择便携版（Portable zip），解压后直接运行 cc-switch.exe macOS 系统： Homebrew 安装（推荐）：brew tap farion1231/ccswitch brew install --cask cc-switch 手动安装： 下载 .dmg 文件，拖入“应用程序”文件夹 Linux 系统： Debian/Ubuntu： sudo dpkg -i CC-Switch-v3.14.1-Linux.deb AppImage（通用）： chmod +x CC-Switch-v3.14.1-Linux.AppImage Arch Linux： paru -S cc-switch-bin 3.3 安装验证 启动 CC-Switch 客户端，主界面正常加载、无报错提示，即表示安装成功。 四、Claude Code 安装 4.1 安装 Claude Code CLI # 使用 npm 安装 npm install -g @anthropic-ai/claude-code # 或使用 pnpm pnpm add -g @anthropic-ai/claude-code 4.2 验证安装 claude --version 4.3 首次启动与登录 claude 程序会输出一个 URL，复制到浏览器打开，使用 Claude 账号授权（OAuth）。 五、CC-Switch 配置 Claude Code 5.1 开启 Claude Code 插件接管 打开 CC-Switch，点击左上角的齿轮图标进入设置 在“通用”设置中找到“应用到 Claude Code 插件” 把这个开关打开 重要提示： 只有开启接管，CC-Switch 才能将配置同步到 Claude Code 中。 5.2 添加供应商（Provider） 5.2.1 添加预设供应商 回到 CC-Switch 主界面，点击右上角的加号（+） 选择“预设供应商”标签页 从内置的 50+ 家供应商中选择（如 DeepSeek、SiliconFlow、OpenAI 等） 仅需填写 API Key，请求地址已预设 5.2.2 添加自定义供应商 如果使用中转站或自定义 API，选择“自定义配置”： Provider Name：自定义一个名字（如：My-Claude） Base URL：填写供应商的 API 接口地址（注意：末尾不要带斜杠 /） API Key：填入你的密钥 5.3 配置模型信息 继续往下配置，需要为 Claude Code 填写默认模型： Claude Code：claude-sonnet-4-5（以供应商后台实际支持的模型名为准） 注意： 模型名不要自己乱猜，不同中转站支持的模型名可能不一样，最好直接去中转站后台复制。 5.4 启用供应商 添加完成后，回到 CC-Switch 主界面，找到刚刚添加的供应商卡片，点击“启用”按钮。当状态变为“Active（使用中）”时，表示配置已自动写入 Claude Code 的配置文件中。 六、测试配置是否生效 6.1 重启终端 很多 CLI 工具是在启动时读取配置的，所以切换配置后最好重启终端。 6.2 测试 Claude Code 打开终端，进入一个项目目录，运行： claude 输入测试指令： 帮我看一下这个项目的目录结构 如果 Claude Code 能正常回复，说明配置已经生效。 七、CC-Switch 核心功能详解 7.1 多供应商一键切换 CC-Switch 支持内置 50+ 家供应商预设，包括 PackyCode、MiniMax、Anthropic、OpenRouter 等。你可以轻松在不同 API 服务商之间无缝切换。 7.2 系统托盘热切换 CC-Switch 启动后会在系统托盘（右下角）常驻图标。以后想切换模型时，只需右键点击托盘图标，直接选择目标供应商即可，无需打开主窗口。 7.3 MCP（Model Context Protocol）管理 如果你同时使用 Claude Code、Codex 等多个工具，MCP 配置只需在 CC-Switch 里设置一次： 点击右上角的 MCP 标签页 点击“添加”，选择协议类型（stdio / HTTP / SSE） 填写服务器信息 保存后，所有关联的 CLI 工具都会自动共享该 MCP 配置 7.4 Skills（技能扩展）管理 Skills 是可复用的功能模块（如代码审查、前端设计等）： 点击右上角的 Skills 标签页 工具会自动扫描 GitHub 上的公开 Skills 仓库 找到需要的 Skill（如 code-review），勾选后即可一键安装到对应的 AI 工具中 7.5 Prompts（提示词）管理 点击 Prompts 标签页 使用内置的 Markdown 编辑器创建多套系统提示词预设 激活后，它会自动同步到对应工具的配置文件中（如 Claude 的 CLAUDE.md） 7.6 云同步 如果你有多台设备，可以在“设置 → 自定义配置目录”中，将路径指向 Dropbox、OneDrive、iCloud 或 WebDAV 等云盘的同步文件夹。重启应用后，所有配置（供应商、MCP、Skills）就会自动在设备间同步。 八、Claude Code 核心使用技巧 8.1 三种交互模式 默认模式（最常用）：直接输入自然语言指令 自动批准模式（-y/--yes）：适合信任 Claude 的场景，自动执行所有文件修改/命令 规划模式（--plan）：先输出完整计划，人工确认后再执行 8.2 高频内置命令 命令 作用 /help 列出所有命令 /clear 清空会话上下文 /init 在当前目录生成 CLAUDE.md /review 评审当前改动 /compact 压缩历史释放上下文 8.3 项目级工作流 第一次进入新项目：使用 /init 生成 CLAUDE.md，手动补充技术栈、目录约定、禁止事项、验收标准 日常节奏： 开始任务：三段式 prompt（目标/边界/验收） 中途：每15分钟让 AI 总结进展 提交前：使用 /review 评审改动 结束：使用 /clear 清上下文避免污染 九、常见问题与解决方案 9.1 切换后 Claude Code 没变化？ 重启终端：很多 CLI 工具是在启动时读取配置的 检查设置：确认 CC Switch 设置里打开了“应用到 Claude Code 插件”开关 9.2 报 401 错误？ 检查 API Key 是否复制完整 检查 Key 前后有没有多余空格 确认 Key 是否过期 检查账号余额是否正常 9.3 报“模型不存在”错误？ 一般是模型名填错。去中转站后台复制模型名，不要手打。例如： 正确：claude-sonnet-4-5 错误：claude-4.5-sonnet 9.4 API 地址到底要不要带 /v1？ 这个要看中转站规则： 有些需要：https://api.example.com/v1 有些不需要：https://api.example.com 如果报请求地址错误，优先检查这里。 9.5 Base URL 格式错误 填写 API 地址时，千万不要在末尾多加斜杠 /： 错误示例：https://api.example.com/ 正确示例：https://api.example.com 多加斜杠会导致 API 路径拼接出现双斜杠而请求失败。 十、最佳实践建议 10.1 配置多套供应商 建议至少配置三套供应商： 主力中转站：日常使用 备用中转站：主力通道异常时切换 官方或其他备用通道：紧急备用 10.2 安全提醒 API Key 不要截图公开 写教程、发朋友圈或录屏时，一定先遮挡密钥 配置数据保存在本机，适合重视密钥安全的用户 10.3 实战检查清单 先跑通单个 CLI：确认 Claude Code 本身能正常启动，再交给 CC-Switch 管理 只配置一个供应商测试：先保证一个供应商能完整请求成功 再配置 MCP、Prompts、Skills：这些属于增强能力，建议在主流程跑通后再同步 每次切换后重启终端：如果切换后没有变化，先重启当前终端或重新打开 CLI 工具 总结 CC-Switch 不提供 API Key，也不会让模型本身变强。它真正做的是：把多工具、多供应商、多模型的配置复杂度降下来。如果你每天都在 Claude Code、Codex、Gemini CLI 之间切换，它会非常省心。 通过本文的教程，你应该能够： 成功安装 CC-Switch 和 Claude Code 配置并管理多个 API 供应商 掌握 Claude Code 的核心使用技巧 解决常见的配置问题 CC-Switch 的价值在于把一堆分散动作收束成一套可控流程，让你可以更专注于开发工作，而不是配置管理。
Claude Code账户注册与授权指南 概述 在使用Claude Code之前，需要先注册一个Claude账户。Claude账户是使用Claude Code的必要条件，它用于身份验证和授权，确保只有授权用户能够访问Claude Code的功能。 账户注册 注册步骤 访问注册页面 打开Claude官方网站 点击"注册"或"Sign Up"按钮 填写注册信息 输入有效的电子邮件地址 设置安全的密码（建议包含大小写字母、数字和特殊字符） 确认密码 阅读并同意服务条款和隐私政策 验证邮箱 检查注册邮箱，点击验证链接 完成邮箱验证后，账户即可正常使用 账户类型 Claude提供了多种账户类型： 免费账户：基础功能，适合个人用户和小型项目 专业账户：高级功能，适合专业开发者和团队 企业账户：企业级功能，包括团队管理、高级安全控制等 登录方式 Web界面登录 访问Claude官方网站 点击"登录"按钮 输入注册时使用的电子邮件和密码 点击"登录"按钮完成登录 VS Code插件登录 在VS Code中打开Claude Code插件 点击"登录"或"Sign In"按钮 系统会自动打开默认浏览器，跳转到Claude登录页面 在浏览器中完成登录后，VS Code插件会自动获取授权 命令行工具登录 # 使用命令行工具登录 claude login # 或使用缩写 cl login 执行上述命令后，会打开默认浏览器进行登录授权。 授权管理 查看已授权设备 可以通过Claude的Web界面查看已授权的设备： 登录Claude Web界面 进入"账户设置"或"安全设置" 找到"已授权设备"或"设备管理"选项 查看当前所有已授权设备的列表 撤销设备授权 如果需要撤销某个设备的授权，可以通过以下步骤： 登录Claude Web界面 进入"账户设置" → "安全设置" 找到"已授权设备"列表 找到需要撤销授权的设备 点击"撤销授权"或"移除设备"按钮 确认操作 撤销授权后，该设备将无法再使用Claude Code，需要重新登录才能使用。 授权范围 Claude Code的授权范围包括： VS Code插件：在VS Code中使用Claude Code功能 命令行工具：在终端中使用Claude Code功能 Web界面：在浏览器中使用Claude Code功能 API访问：通过API调用Claude Code功能 多设备同步 Claude Code支持多设备同步，你可以在多个设备上使用同一个Claude账户，它们之间会自动同步配置和上下文。 同步内容 用户配置：个人偏好设置 上下文信息：对话历史和上下文 插件设置：VS Code插件相关配置 命令行配置：命令行工具相关设置 同步机制 Claude Code使用安全的加密机制进行数据同步，确保你的数据安全。同步过程是自动进行的，不需要手动操作。 安全措施 为了保护你的Claude账户安全，建议采取以下措施： 密码安全 使用强密码：密码长度至少12位，包含大小写字母、数字和特殊字符 定期更换密码：建议每3-6个月更换一次密码 不要重复使用密码：避免在其他网站使用相同的密码 账户保护 启用双因素认证：如果Claude支持，建议启用双因素认证 监控账户活动：定期检查账户登录记录 及时更新信息：确保联系信息是最新的 设备安全 仅授权可信设备：不要在公共或共享设备上授权Claude账户 及时撤销未使用设备：定期检查并撤销不再使用的设备授权 保持设备安全：确保设备有最新的安全更新和防病毒软件 企业账户管理 对于企业账户，Claude提供了以下管理功能： 团队管理 用户管理：添加、删除和管理团队成员 权限控制：设置不同用户的访问权限 使用监控：监控团队使用情况 安全控制 单点登录：支持SSO集成 访问策略：设置访问控制策略 审计日志：查看详细的操作日志 计费管理 使用统计：查看详细的使用统计 账单管理：管理账单和付款信息 成本控制：设置使用限制和成本控制 故障排除 注册问题 问题：注册Claude账户时显示"注册失败"或"电子邮件已被使用" 解决方案： 检查电子邮件地址是否正确 如果电子邮件已被使用，尝试使用"忘记密码"功能 检查网络连接是否正常 尝试使用不同的浏览器 清除浏览器缓存和Cookie后重试 登录问题 问题：登录Claude账户时显示"登录失败"或"用户名或密码错误" 解决方案： 确认用户名和密码是否正确（注意大小写） 使用"忘记密码"功能重置密码 检查Caps Lock键是否开启 尝试在隐身模式下登录 清除浏览器缓存和Cookie后重试 授权问题 问题：在VS Code插件或命令行工具中授权时显示"授权失败" 解决方案： 检查网络连接是否正常 确保已正确登录Claude账户 检查浏览器是否阻止了弹出窗口 尝试使用不同的浏览器进行授权 清除浏览器缓存和Cookie后重试 密码问题 问题：忘记了Claude账户密码 解决方案： 在登录页面点击"忘记密码" 输入注册时使用的电子邮件地址 检查邮箱，点击密码重置链接 设置新密码 使用新密码登录 总结 账户注册与授权是使用Claude Code的必要步骤，它确保了你的身份验证和授权。通过本指南的指导，你应该已经了解了如何注册Claude账户、如何在VS Code插件和命令行工具中登录和授权，以及如何管理账户安全。 在使用Claude Code时，务必注意账户安全，采取必要的安全措施，保护你的账户和数据安全。定期检查账户活动，及时更新安全设置，确保你的开发环境安全可靠。 如果你遇到任何问题，可以参考本指南的故障排除部分，或联系Claude官方支持获取帮助。
Claude Code命令行工具安装指南 概述 Claude Code提供了命令行工具，允许开发者在终端或命令提示符中使用Claude Code的功能。命令行工具特别适合那些更喜欢使用终端进行开发的开发者，或者需要在CI/CD流水线中集成Claude Code的场景。 安装方法 使用npm安装（推荐） Claude Code的命令行工具可以通过npm全局安装： npm install -g @anthropic-ai/claude-code 使用yarn安装 如果你使用yarn作为包管理器，可以使用以下命令安装： yarn global add claude-code 使用pnpm安装 如果你使用pnpm作为包管理器，可以使用以下命令安装： pnpm add -g @anthropic-ai/claude-code 验证安装 安装完成后，可以通过以下命令验证Claude Code命令行工具是否已正确安装： # 检查Claude Code版本 claude --version # 或使用缩写 cl --version 如果输出显示Claude Code的版本信息，则说明命令行工具已正确安装。 配置命令行工具 登录Claude账户 在使用命令行工具之前，需要先登录Claude账户： # 登录Claude账户 claude login # 或使用缩写 cl login 执行上述命令后，会打开默认浏览器，跳转到Claude Code的登录页面。输入你的Claude账户凭据进行登录，登录成功后，浏览器会显示"授权成功"的提示，命令行工具会自动完成授权。 配置默认模型 可以通过以下命令配置默认使用的Claude模型： # 配置默认模型为Opus 4 claude config set model claude-4-opus # 或配置为Sonnet 4 claude config set model claude-4-sonnet 查看配置 可以通过以下命令查看当前的配置： # 查看所有配置 claude config list # 查看特定配置项 claude config get model 基本命令使用 帮助命令 可以使用以下命令查看Claude Code命令行工具的帮助信息： # 查看所有命令 claude help # 查看特定命令的帮助 claude help chat 聊天命令 可以使用chat命令与Claude Code进行对话： # 启动交互式聊天 claude chat # 或使用缩写 cl chat 代码生成命令 可以使用code命令生成代码： # 生成一个简单的Python函数 claude code "write a Python function to calculate Fibonacci numbers" 代码解释命令 可以使用explain命令解释代码： # 解释一个Python函数 claude explain "def fib(n): return 1 if n <= 1 else fib(n-1) + fib(n-2)" 代码执行命令 可以使用run命令执行生成的代码： # 执行一个Python函数 claude run "def fib(n): return 1 if n <= 1 else fib(n-1) + fib(n-2)" 高级配置 配置输出格式 可以配置命令行工具的输出格式： # 配置输出格式为JSON claude config set output-format json # 配置输出格式为文本（默认） claude config set output-format text 配置超时时间 可以配置命令行工具的超时时间： # 配置超时时间为60秒 claude config set timeout 60 配置代理 如果你的网络环境需要使用代理，可以配置命令行工具的代理： # 配置HTTP代理 claude config set proxy http://proxy.example.com:8080 # 取消代理配置 claude config unset proxy 常见问题与解决方案 命令未找到 问题：运行claude命令时显示"command not found" 解决方案： 确保已正确安装Claude Code命令行工具 检查npm全局安装路径是否已添加到系统环境变量中 对于macOS和Linux，可以将以下行添加到~/.bashrc或~/.zshrc文件中：export PATH="$HOME/.npm/bin:$PATH" 对于Windows，确保%USERPROFILE%\AppData\Roaming\npm已添加到系统环境变量中 登录失败 问题：执行claude login命令后，浏览器打开但无法登录 解决方案： 检查网络连接 确保你使用的是正确的Claude账户凭据 检查浏览器是否阻止了弹出窗口 尝试清除浏览器缓存和Cookie 尝试使用不同的浏览器进行授权 命令执行失败 问题：执行Claude Code命令时显示"API request failed" 解决方案： 检查网络连接 确保已正确登录Claude账户 检查配置的模型是否可用 尝试增加超时时间 检查是否有防火墙或代理设置阻止了API请求 更新与卸载 更新命令行工具 可以通过以下命令更新Claude Code命令行工具： # 使用npm更新 npm update -g @anthropic-ai/claude-code # 使用yarn更新 yarn global upgrade claude-code # 使用pnpm更新 pnpm update -g @anthropic-ai/claude-code 卸载命令行工具 如果需要卸载Claude Code命令行工具，可以使用以下命令： # 使用npm卸载 npm uninstall -g @anthropic-ai/claude-code # 使用yarn卸载 yarn global remove claude-code # 使用pnpm卸载 pnpm remove -g @anthropic-ai/claude-code 使用场景 Claude Code命令行工具适合以下场景： 终端爱好者：喜欢在终端中进行开发的开发者 CI/CD流水线：在持续集成/持续部署流水线中集成Claude Code 脚本编写：编写自动化脚本时使用Claude Code生成代码 批量处理：批量处理代码文件或生成多个代码片段 远程服务器：在远程服务器上使用Claude Code（无图形界面环境） 总结 Claude Code命令行工具提供了一种在终端中使用Claude Code功能的方式，适合终端爱好者和需要在CI/CD流水线中集成Claude Code的场景。通过本指南的指导，你应该已经成功安装并配置了Claude Code命令行工具，可以开始使用它来辅助你的开发工作了。
VS Code插件安装教程 概述 Visual Studio Code（简称VS Code）是一款功能强大的代码编辑器，通过安装各种插件可以极大地扩展其功能，满足不同开发需求。本教程将详细介绍VS Code插件的安装方法。 安装方法 方法一：通过扩展市场安装（推荐） 打开扩展面板 点击左侧活动栏的扩展图标（或使用快捷键 Ctrl+Shift+X） 这将打开扩展市场面板 搜索插件 在搜索框中输入插件名称或相关关键词 例如：输入"Python"搜索Python相关插件 安装插件 找到目标插件后，点击"安装"按钮 等待安装完成，可能需要重启VS Code 方法二：通过VSIX文件安装 获取VSIX文件 从插件官网或GitHub Releases页面下载.vsix文件 安装步骤 打开扩展面板 点击右上角的"..."菜单 选择"从VSIX安装..." 选择下载的VSIX文件进行安装 方法三：命令行安装 # 通过code命令安装 code --install-extension publisher.extension-name # 示例：安装Python扩展 code --install-extension ms-python.python 插件管理 启用/禁用插件 在扩展面板中，已安装的插件会显示"禁用"按钮 点击可临时禁用插件，无需卸载 卸载插件 在扩展面板中找到要卸载的插件 点击"卸载"按钮 可能需要重启VS Code完成卸载 更新插件 VS Code会自动检查插件更新 有可用更新时，扩展面板会显示更新提示 点击"更新"按钮即可安装最新版本 实用技巧 插件推荐 Python开发：Python、Pylance、Python Docstring Generator 前端开发：Live Server、Auto Rename Tag、ESLint 版本控制：GitLens、Git History 主题美化：Material Theme、One Dark Pro 性能优化 只安装必要的插件，避免过多插件影响启动速度 定期检查并禁用不常用的插件 使用插件配置文件同步插件设置 故障排除 插件安装失败 检查网络连接 尝试重新启动VS Code 清除扩展缓存 插件冲突 逐个禁用最近安装的插件 检查插件兼容性 恢复默认设置 可以通过命令面板运行"Extensions: Disable All Installed Extensions" 然后逐步启用需要的插件 高级功能 插件配置 大多数插件都提供丰富的配置选项，可以通过以下方式访问： 打开设置（Ctrl+,） 搜索插件名称 修改相关配置项 插件开发 如果你有特殊需求，还可以： 学习开发自己的VS Code插件 修改现有插件的源代码 参与开源插件的贡献 总结 VS Code插件系统是其强大功能的核心，通过合理安装和管理插件，可以打造出最适合自己工作流的开发环境。建议从基础插件开始，逐步根据实际需求添加功能，保持插件的精简和高效。 提示：定期备份你的插件配置，可以使用设置同步功能或导出扩展列表。
第1部分：基础入门 [collapse status="false" title="第1章：claude code概述"] [post cid="129" /] [post cid="130" /] [post cid="131" /] [post cid="132" /] [/collapse] [collapse status="false" title="第2章：安装与配置"] [post cid="134" /] [post cid="138" /] [post cid="139" /] [post cid="140" /] [post cid="141" /] [/collapse] [collapse status="false" title="第3章：基础使用指南"] [post cid="157" /] [/collapse] 第2部分：命令参考 [collapse status="false" title="第7章：斜杠命令指南"] [post cid="159" /] [/collapse] 第3部分：交换模式与工具 第4部分：模型上下文协议MCP 第5部分：技能SKILLS 第6部分：插件系统 第7部分：利用Claude code 进行编程开发 第8部分：Claude code 原理与技术 第9部分：企业级Claude code部署
Claude Code 系统要求与环境准备 在安装 Claude Code 之前，确保你的系统满足以下要求。 1. Node.js 和 npm 要求 Claude Code 的命令行工具依赖 Node.js 和 npm，因此需要先确保它们已正确安装。 检查 Node.js 和 npm 版本 打开终端或命令提示符，运行以下命令检查 Node.js 和 npm 版本： node --version npm --version 如果输出显示 Node.js 版本 ≥ 16.0 和 npm 版本 ≥ 8.0，则可以跳过安装步骤。 安装 Node.js 如果没有安装 Node.js 或版本不符合要求，可以通过以下方式安装： 使用 Node 版本管理器可以方便地管理多个 Node.js 版本，推荐使用 nvm（Node Version Manager）： 对于 macOS 和 Linux： # 安装 nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash # 或使用 wget wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash # 安装最新 LTS 版本 nvm install --lts 2. Git 要求 Claude Code 使用 Git 进行代码管理和插件安装，因此需要确保 Git 已正确安装。 检查 Git 版本 打开终端或命令提示符，运行以下命令检查 Git 版本： git --version 如果输出显示 Git 版本 ≥ 2.0，则可以跳过安装步骤。 安装 Git 对于 macOS： macOS 系统可能已预装 Git，你可以通过以下方式更新到最新版本： # 使用 Homebrew 安装 Git brew install git 配置 Git 用户信息 安装 Git 后，需要配置用户名和电子邮件，这些信息将用于代码提交： git config --global user.name "你的用户名" git config --global user.email "你的邮箱地址" 3. 环境验证 完成上述安装后，运行以下命令验证环境是否准备就绪： node --version npm --version git --version 如果所有命令都能正常输出且版本符合要求，则说明环境准备就绪，可以开始安装 Claude Code 了。 4. 常见问题解决方案 问题：运行 node --version 时显示 "command not found" 解决方案： 确保 Node.js 已正确安装并添加到系统 PATH 环境变量中 重启终端或命令提示符 对于使用 nvm 安装的情况，确保已通过 nvm use 命令激活相应版本 问题：使用 npm 安装包时显示网络错误或权限错误 解决方案： 检查网络连接是否正常 尝试使用淘宝镜像源：npm config set registry https://registry.npmmirror.com 对于权限问题，可以尝试使用 sudo（Linux/macOS）或以管理员身份运行（Windows） 或者修改 npm 全局安装目录权限 问题：Git 提交时显示用户名或电子邮件未配置 解决方案： 运行以下命令配置 Git 用户信息： git config --global user.name "你的用户名" git config --global user.email "你的邮箱地址" 5. 其他包管理器支持 如果你更喜欢使用 yarn 或 pnpm 作为包管理器，Claude Code 也支持它们： 安装 yarn： npm install -g yarn 安装 pnpm： npm install -g pnpm 6. 网络配置 配置 npm 镜像 为了提高 npm 包的下载速度，可以配置 npm 镜像： npm config set registry https://registry.npmmirror.com 配置代理设置 如果你的网络环境需要使用 HTTP 代理，可以配置 npm 和 Git 的代理设置： 配置 npm 代理： npm config set proxy http://proxy.example.com:8080 npm config set https-proxy http://proxy.example.com:8080 配置 Git 代理： git config --global http.proxy http://proxy.example.com:8080 git config --global https.proxy http://proxy.example.com:8080