Claude Code 使用整理
本文介绍了基于GLM模型的Claude Code配置指南,主要内容包括:1) 安装与环境变量设置方法;2) 模型切换与换行操作;3) 工作模式切换与权限管理;4) Git提交配置优化;5) 自定义指令创建与使用方法;6) 历史会话恢复技巧;7) Sub Agent专业化分工机制。重点讲解了如何通过环境变量和配置文件进行个性化设置,特别强调了Sub Agent在上下文隔离、专业分工和权限控制方面的优
接下来的配置基于非官方模型,[GLM 4.6](GLM-4.6 - 智谱AI开放文档)
现在GLM有活动,限时半价。新购用户通过下方链接在半价的基础上可再享受10%的优惠
https://www.bigmodel.cn/claude-code?ic=SOBOGAVXHA
Api Key的获取

安装
npm install -g @anthropic-ai/claude-code
Cmd+Esc for Quick Launch
Ctrl+Alt+K to reference files or lines in your input
配置环境变量
windows下临时设置,只对当前命令行有效:
$env:ANTHROPIC_BASE_URL = "https://open.bigmodel.cn/api/anthropic"
$env:ANTHROPIC_AUTH_TOKEN = "[Api Key]"
永久设置:
windows + r 打开运行,输入 sysdm.cpl 进入系统属性 -> 高级 -> 环境变量
新建环境变量 ANTHROPIC_BASE_URL 为 https://open.bigmodel.cn/api/anthropic , 新建 ANTHROPIC_AUTH_TOKEN 为 [Api Key]
更换模型
Claude Code 内部模型环境变量与 GLM 模型对应关系,默认配置如下:
ANTHROPIC_DEFAULT_OPUS_MODEL:GLM-4.6ANTHROPIC_DEFAULT_SONNET_MODEL:GLM-4.6ANTHROPIC_DEFAULT_HAIKU_MODEL:GLM-4.5-Air
手动修改配置文件 ~/.claude/settings.json
{
"env": {
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6"
}
}
换行
打开 claude code 后,运行 /terminal-setup ,可以在其中使用 shift + enter 键换行
输入 \ + enter 键也可以换行
模式切换
在对话中,可以使用 shift + tab 切换不同的工作模式:
![[Pasted image 20250908153619.png]]
auto-accept edits (自动接受编辑模式)
自动接受已明确允许或先前已核准的编辑指令
plan mode (规划模式)
专注于设计和规划,不会实际编辑代码
自动接受
--dangerously-skip-permissions 可以使用该选项跳过权限提示,需要注意这里可能有风险,如果你不关注权限,自有项目可以使用。
claude --dangerously-skip-permissions
在 .claude/settings.json文件中添加如下内容:
{
"env": {
"ANTHROPIC_MODEL": "glm-4.5",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5-air"
},
"permissions": {
"defaultMode": "bypassPermissions"
}
}
在git提交时不显示claude code署名
默认会在git提交信息中,增加
![[Pasted image 20250926092322.png]]
.claude/settings.json 增加 includeCoAuthoredBy 属性,设置为 false。
{
"statusLine": {
"type": "command",
"command": "input=$(cat); dir_name=$(echo \"$input\" | jq -r '.workspace.current_dir' | sed 's|.*/||'); full_dir=$(echo \"$input\" | jq -r '.workspace.current_dir'); model=$(echo \"$input\" | jq -r '.model.display_name'); branch=$(cd \"$full_dir\" && git rev-parse --abbrev-ref HEAD 2>/dev/null || echo ''); if [ -n \"$branch\" ]; then echo \"$dir_name ($branch) • $model\"; else echo \"$dir_name • $model\"; fi"
},
"env": {
"ANTHROPIC_MODEL": "glm-4.5",
"ANTHROPIC_SMALL_FAST_MODEL": "glm-4.5"
},
"includeCoAuthoredBy": false
}
自定义指令
自定义斜杠命令允许您将经常使用的提示定义为Markdown文件,Claude Code可以执行这些文件。命令按范围(项目特定或个人)组织,并通过目录结构支持命名空间。
语法
/<command-name> [arguments]
参数
参数 描述
[command-name] 从Markdown文件名派生的名称(不包含.md扩展名)
[arguments] 传递给命令的可选参数
创建
实测使用 GLM 4.6 可以自动创建自定义指令,你可以指明你想要生成的自定义指令的作用,需要的参数,执行的步骤。
以自动生成 commit message进行提交举例,生成的文件名为 git-commit.md ,内容如下:
---
name: git-commit
description: 提交当前工作区到git,自动生成提交类型和消息
parameters:
- name: tasknumber description: 任务项编号 (可选,例如: 8631)
required: false type: string
---
提交当前工作区到git,自动生成提交类型和消息。
使用方法:
/git-commit [tasknumber]
示例:
/git-commit 8631
/git-commit 9216
/git-commit 1234
/git-commit
命令将执行以下步骤:
1. 分析当前变更自动确定提交类型 (feature/fix/doc/refactor/test等)
2. 基于变更内容自动生成描述性提交信息
3. 添加所有变更文件到暂存区 (git add .)
4. 提交变更:
- 如果提供任务编号:格式为 "%tasknumber type: [自动生成的描述]"
- 如果不提供任务编号:格式为 "type: [自动生成的描述]"
5. 显示提交状态
项目命令
存储在您的仓库中并与您的团队共享的命令。在/help中列出时,这些命令在其描述后显示”(project)”。
位置: .claude/commands/
个人命令
位置: ~/.claude/commands/
参考
恢复历史会话
非交互模式
claude code提供两个选项来恢复之前的对话:
claude --continue或者claude -c:自动继续最近的对话,无需任何提示claude --resume或者claude -r:显示历史对话选择器
这两个带参数的命令需要在 非交互模式 下进行,也就是还没有进入 Claude Code
交互模式
如果你已经进入了 Cluade Code 会话,想恢复到之前的哪个历史会话,可以使用 /resume 命令恢复历史会话。
内置机制
- Calude Code 会把每个项目的对话上下文缓存在本地
.cluade目录(通常在项目根目录下)。 - 当你再次打开
Claude Code, 并且还是在同一个项目目录里启动,它会尝试加载这个缓存。 - 如果缓存没有被清掉,输入
resume或者继续提问, 它就会基于上次上下文继续。
所以关键条件是:
- 必须在同一个项目目录启动 (Claude Code 是按 project 维度管理上下文的)
- 不能删除
.claude缓存目录
Tips
- 当
Claude Code正在处理时,你可以继续发指令。Claude Code会依次执行任务。最新测试发现:当claude code正在依据制定好的 todo list 依次执行时,如当前正在执行 item 1,用户发出新的指令,claude code会在item 1 执行完毕后,先执行新的命令,再执行后面的item
Sub Agent
介绍
AI辅助开发的问题:
- 上下文管理困难。当前上下文长度不够,需要自行管理上下文,不能依赖自动管理。
- 不同类型的任务需要不同的专业知识和工具配置,但很难在单一对话中有效管理
- 团队协作时,缺乏标准化的工作流程和可复用的解决方案
claude code sub agent 允许创建专门的AI助手来处理特定领域的任务,每个 sub agent 都拥有独立的上下文空间、专业化的配置和精确的工具权限控制。
这种设计带来了四个核心优势:
- 上下文保护 - 每个sub agent在独立上下文中运行,防止主对话污染并保持高级目标的关注
- 专业化专长 - Sub Agent 可以通过详细的领域特定指令进行微调,在指定任务实现更高的成功率
- 可重用性 - 一旦创建,Sub Agent 可以在不同项目中使用并与团队共享,确保工作流程的一致性
- 灵活权限 - 每个Sub Agent 可以拥有不同的工具访问级别,允许将强大工具限制给特定的 Sub Agent 类型
Sub Agent 的核心特征
- 特定目的和专业领域:每个 Sub Agent 都为特定类型的任务而设计,比如代码审查、调试分析或数据处理,确保专业化的处理能力
- 独立的上下文窗口: Sub Agent 使用与主对话完全分离的上下文窗口,这意味着 Sub Agent 的工作不会影响主对话的上下文,保持主对话专注于高级目标
- 可配置的工具访问:每个 Sub Agent 可以配置为只访问执行其任务所需的特定工具,这既提高了安全性,又帮助 Sub Agent 专注于相关操作
- 自定义系统提示:每个 Sub Agent 包含指导其行为的自定义系统提示,这些提示定义了 Sub Agent 的角色、能力和解决问题的方法
- 智能任务委托:当Claude Code遇到与某个 Sub Agent 专业领域匹配的任务时,可以将该任务委托给专门的 Sub Agent , Sub Agent 独立工作并返回结果
列出所有的agent
/agents
创建subagent
两种方式,一种是手动创建,另一种是直接将别人创建好的 agent md文件放置到 agents 目录中。
手动创建
输入 /agents 打开 Sub Agent 界面,选择 “Create New Agent”, 然后选择创建类型:
- 项目级 Sub Agent: 存储在
.claude/agents/目录中,仅在当前项目中可用,优先级最高 - 用户级 Sub Agent: 存储在
~/.claude/agents目录中,可在所有项目中使用,优先级较低
当 Sub Agent 名称冲突时,项目级 Sub Agent 优先于用户级 Sub Agent
官方强烈推荐:首先让 Claude 生成初始配置,然后进行定制以使其成为你自己的。
使用别人创建好的 agent md 文件
查看 Claude Code Agents 该网站收集了别人分享的 agent,可以一键下载到本地,复制到项目级或者用户级 agent 目录。
Sub Agent的使用
Claude Code会在适当的时候使用 Sub Agent。也可以显式调用:
使用code-reviewer Sub Agent 检查我最近的更改
参考
安装mcp
以 context7-mcp 为例:
局部安装
claude mcp add context7 -- npx -y @upstash/context7-mcp
上面命令会在当前目录中安装 context7-mcp,会新建node_modules目录和package.json文件。如是后端项目,比较割裂。推荐全局安装:
全局安装
npm install -g @upstash/context7-mcp && claude mcp add context7 -- context7-mcp
安装mysql mcp
首先,全局安装 mcp_server_mysql. 最新版本有问题,可以降级到 2.0.2 解决问题
npm i @benborla29/mcp-server-mysql@2.0.2 -g
执行下面的命令
claude mcp add mcp_server_mysql --scope user `
-e MYSQL_HOST="127.0.0.1" `
-e MYSQL_PORT="3306" `
-e MYSQL_USER="root" `
-e MYSQL_PASS="123456" `
-e MYSQL_DB="cc-glm-lens" `
-e ALLOW_INSERT_OPERATION="true" `
-e ALLOW_UPDATE_OPERATION="true" `
-e ALLOW_DELETE_OPERATION="true" `
-- mcp-server-mysql `
我在执行命令安装时会出现错误,可以尝试写入配置文件,如要在当前项目添加mcp。在项目根目录 .mcp.json 文件中写入下面的内容:
{
"mcpServers": {
"mcp_server_mysql": {
"command": "mcp-server-mysql",
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "123456",
"MYSQL_DB": "cc-glm-lens",
"ALLOW_INSERT_OPERATION": "true",
"ALLOW_UPDATE_OPERATION": "true",
"ALLOW_DELETE_OPERATION": "true",
"ALLOW_DDL_OPERATION": "true",
"MYSQL_DISABLE_READ_ONLY_TRANSACTIONS": "true"
}
}
}
}
本地级和跨项目设置,可参考 mcp 配置文件章节
mcp配置文件
claude mcp add 配置时,如不指定 scope,或者指定scope 为 local, 则mcp只能在项目当前目录中使用。
# 添加本地范围的服务器(默认)
claude mcp add my-private-server /path/to/server
# 明确指定本地范围
claude mcp add my-private-server --scope local /path/to/server
claude会在用户目录中的 .claude.json 中添加 mcpserver
![[Pasted image 20250919142831.png]]
如指定 scope 为 project, 则mcp可以在当前项目中使用。
# 添加项目范围的服务器
claude mcp add shared-server --scope project /path/to/server
会在当前项目根目录中增加 .mcp.json。示例如下:
{
"mcpServers": {
"shared-server": {
"command": "/path/to/server",
"args": [],
"env": {}
}
}
}
具体可参考:
![[Pasted image 20250919143853.png]]
vscode 集成
官方的 vscode 插件 2.0之前的版本,可以使用终端的环境变量,即可以使用我们自定义的模型。使用claude code 接入GLM等别的厂商的模型,2.0版本后,默认会跳到claude 的认证界面。
而 2.0之前的版本,当启用时,输入中文拼音会使得窗口向右偏移,体验不好。
解决方案:
vscode也使用终端
外部终端连接vscode
使用插件 claude code chat
![[b790443842ff6a1818499c642d575f9f.png]]
claude code plugin 2.0 支持自定义登录
2.0版本后,默认会跳转到 claude 的官方认证界面,如需要自定义登录。首先在 ~/.claude/config.json (如没有,则创建:)
{
"primaryApiKey": "test"
}
值是什么无所谓,有这个key即可。
重启 vscode 后,打开插件,不会跳转到官方的认证界面了。但此时,发送请求后还是请求的官方的API。需要添加自定义配置,打开插件设置
![[Pasted image 20251002093427.png]]
添加下面的配置:
{
"name": "ANTHROPIC_BASE_URL",
"value": "https://open.bigmodel.cn/api/anthropic"
},
{
"name": "ANTHROPIC_AUTH_TOKEN",
"value": "f10c1933555f433ba2db609c2f283c41.7K5YbX3GLLVcn3L3"
}
这样就可以在 claude code 2.0 vscode插件中使用自定义模型了。2.0.10以上有bug,不要更新。最大到2.0.8就行。
存在的问题
- /init 默认会输出英文的 CLAUDE.md,且不支持修改语言
- @ 无法引用中文目录和中文文档。windows需要使用
\ - vscode的claude code 当输入中文时,拼音会使得窗口向右偏移
- claude code默认会用英文进行回复,可在
CLAUDE.md中增加一条:全程使用中文进行回答,确保信息准确无误,之后就会用中文进行回复了
参考
更多推荐


所有评论(0)