{"owner":"jaywcjlove","repo":"reference","hasSkills":true,"totalSkillsCount":1,"totalTokensCount":5029,"categories":["claude-rule"],"hasMcp":false,"mcpConfig":null,"found":["docs/claude.md"],"skills":{"docs/claude.md":"ClaudeCode 备忘清单\n===\n\nClaudeCode 命令行开发工具快速参考备忘单。\n\nCLI 参考\n---\n\n### 命令行\n<!--rehype:wrap-class=col-span-2-->\n\n| 命令  | 描述  | 示例  |\n| --- | --- | --- |\n| `claude` | 启动交互式 REPL | `claude` |\n| `claude \"query\"` | 使用初始提示启动 REPL | `claude \"explain this project\"` |\n| `claude -p \"query\"` | 通过 SDK 查询，然后退出 | `claude -p \"explain this function\"` |\n| `cat file \\| claude -p \"query\"` | 处理管道内容 | `cat logs.txt \\| claude -p \"explain\"` |\n| `claude -c` | 继续最近的对话 | `claude -c` |\n| `claude -c -p \"query\"` | 通过 SDK 继续 | `claude -c -p \"Check for type errors\"` |\n| `claude -r \"<session-id>\" \"query\"` | 通过 ID 恢复会话 | `claude -r \"abc123\" \"Finish this PR\"` |\n| `claude update` | 更新到最新版本 | `claude update` |\n| `claude mcp` | 配置模型上下文协议 (MCP) 服务器 | 请参阅 [Claude Code MCP 文档](https://docs.anthropic.com/zh-CN/docs/claude-code/mcp)。 |\n<!--rehype:className=left-align-->\n\n### CLI 标志\n<!--rehype:wrap-class=row-span-2-->\n\n使用这些命令行标志自定义 Claude Code 的行为：\n\n| 标志  | 描述  | 示例  |\n| --- | --- | --- |\n| `--add-dir` | 添加额外的工作目录供 Claude 访问（验证每个路径是否作为目录存在） | `claude --add-dir ../apps ../lib` |\n| `--allowedTools` | 除了 [settings.json 文件](https://docs.anthropic.com/zh-CN/docs/claude-code/settings) 之外，应该在不提示用户许可的情况下允许的工具列表 | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Read\"` |\n| `--disallowedTools` | 除了 [settings.json 文件](https://docs.anthropic.com/zh-CN/docs/claude-code/settings) 之外，应该在不提示用户许可的情况下禁止的工具列表 | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Edit\"` |\n| `--print`, `-p` | 打印响应而不使用交互模式（有关编程使用详细信息，请参阅 [SDK 文档](https://docs.anthropic.com/zh-CN/docs/claude-code/sdk)） | `claude -p \"query\"` |\n| `--append-system-prompt` | 附加到系统提示（仅与 `--print` 一起使用） | `claude --append-system-prompt \"Custom instruction\"` |\n| `--output-format` | 为打印模式指定输出格式（选项：`text`、`json`、`stream-json`） | `claude -p \"query\" --output-format json` |\n| `--input-format` | 为打印模式指定输入格式（选项：`text`、`stream-json`） | `claude -p --output-format json --input-format stream-json` |\n| `--verbose` | 启用详细日志记录，显示完整的轮次输出（在打印和交互模式中都有助于调试） | `claude --verbose` |\n| `--max-turns` | 在非交互模式下限制代理轮次数量 | `claude -p --max-turns 3 \"query\"` |\n| `--model` | 使用最新模型的别名（`sonnet` 或 `opus`）或模型的全名为当前会话设置模型 | `claude --model claude-sonnet-4-20250514` |\n| `--permission-mode` | 在指定的[权限模式](iam#permission-modes)下开始 | `claude --permission-mode plan` |\n| `--permission-prompt-tool` | 指定一个 MCP 工具来处理非交互模式下的权限提示 | `claude -p --permission-prompt-tool mcp_auth_tool \"query\"` |\n| `--resume` | 通过 ID 恢复特定会话，或在交互模式下选择 | `claude --resume abc123 \"query\"` |\n| `--continue` | 在当前目录中加载最近的对话 | `claude --continue` |\n| `--dangerously-skip-permissions` | 跳过权限提示（谨慎使用） | `claude --dangerously-skip-permissions` |\n<!--rehype:className=style-list-arrow squarefill-->\n\n### 内置斜杠命令\n<!--rehype:wrap-class=col-span-2-->\n\n| 命令  | 用途  |\n| --- | --- |\n| `/add-dir` | 添加额外的工作目录 |\n| `/agents` | 管理用于专门任务的自定义AI子代理 |\n| `/bug` | 报告错误（将对话发送给Anthropic） |\n| `/clear` | 清除对话历史 |\n| `/compact [instructions]` | 压缩对话，可选择性地提供重点指令 |\n| `/config` | 查看/修改配置 |\n| `/cost` | 显示令牌使用统计（请参阅[成本跟踪指南](https://docs.anthropic.com/zh-CN/docs/claude-code/costs#using-the-cost-command)了解订阅特定详情） |\n| `/doctor` | 检查您的Claude Code安装的健康状况 |\n| `/help` | 获取使用帮助 |\n| `/init` | 使用CLAUDE.md指南初始化项目 |\n| `/login` | 切换Anthropic账户 |\n| `/logout` | 从您的Anthropic账户登出 |\n| `/mcp` | 管理MCP服务器连接和OAuth身份验证 |\n| `/memory` | 编辑CLAUDE.md内存文件 |\n| `/model` | 选择或更改AI模型 |\n| `/permissions` | 查看或更新[权限](https://docs.anthropic.com/zh-CN/docs/claude-code/iam#configuring-permissions) |\n| `/pr_comments` | 查看拉取请求评论 |\n| `/review` | 请求代码审查 |\n| `/status` | 查看账户和系统状态 |\n| `/terminal-setup` | 安装Shift+Enter键绑定用于换行（仅限iTerm2和VSCode） |\n| `/vim` | 进入vim模式以在插入和命令模式之间切换 |\n<!--rehype:className=left-align-->\n\n键盘快捷键\n---\n\n### 通用控制\n\n| 快捷键 | 描述  | 上下文 |\n| --- | --- | --- |\n| `Ctrl+C` | 取消当前输入或生成 | 标准中断 |\n| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |\n| `Ctrl+L` | 清除终端屏幕 | 保留对话历史 |\n| `上/下箭头` | 导航命令历史 | 回调之前的输入 |\n| `Esc` + `Esc` | 编辑上一条消息 | 双击 Esc 键修改 |\n| `Shift+Tab` | 切换权限模式 | 在自动接受模式、计划模式和正常模式之间切换 |\n<!--rehype:className=left-align shortcuts-->\n\n### 多行输入\n\n| 方法  | 快捷键 | 上下文 |\n| --- | --- | --- |\n| 快速转义 | `\\` + `Enter` | 在所有终端中有效 |\n| macOS 默认 | `Option+Enter` | macOS 上的默认设置 |\n| 终端设置 | `Shift+Enter` | 在 `/terminal-setup` 之后 |\n| 控制序列 | `Ctrl+J` | 多行换行符 |\n| 粘贴模式 | 直接粘贴 | 用于代码块、日志 |\n<!--rehype:className=left-align shortcuts-->\n\n### 快速命令\n\n| 快捷键 | 描述  | 注释  |\n| --- | --- | --- |\n| 开头的 `#` | 内存快捷键 - 添加到 CLAUDE.md | 提示文件选择 |\n| 开头的 `/` | 斜杠命令 | 参见[斜杠命令](https://docs.anthropic.com/zh-CN/docs/claude-code/slash-commands) |\n| 开头的 `!` | Bash 模式 | 直接运行命令并将执行输出添加到会话中 |\n<!--rehype:className=left-align shortcuts-->\n\nVim 编辑器模式\n---\n\n### 模式切换\n\n| 命令  | 操作  | 从模式 |\n| --- | --- | --- |\n| `Esc` | 进入 NORMAL 模式 | INSERT |\n| `i` | 在光标前插入 | NORMAL |\n| `I` | 在行首插入 | NORMAL |\n| `a` | 在光标后插入 | NORMAL |\n| `A` | 在行尾插入 | NORMAL |\n| `o` | 在下方打开新行 | NORMAL |\n| `O` | 在上方打开新行 | NORMAL |\n\n### 导航（NORMAL 模式）\n\n| 命令  | 操作  |\n| --- | --- |\n| `h`/`j`/`k`/`l` | 向左/下/上/右移动 |\n| `w` | 下一个单词 |\n| `e` | 单词末尾 |\n| `b` | 上一个单词 |\n| `0` | 行首  |\n| `$` | 行尾  |\n| `^` | 第一个非空白字符 |\n| `gg` | 输入开头 |\n| `G` | 输入末尾 |\n\n### 编辑（NORMAL 模式）\n\n| 命令  | 操作  |\n| --- | --- |\n| `x` | 删除字符 |\n| `dd` | 删除行 |\n| `D` | 删除到行尾 |\n| `dw`/`de`/`db` | 删除单词/到末尾/向后 |\n| `cc` | 更改行 |\n| `C` | 更改到行尾 |\n| `cw`/`ce`/`cb` | 更改单词/到末尾/向后 |\n| `.` | 重复上次更改 |\n\nHooks 参考\n---\n\n### 配置\n\n* `~/.claude/settings.json` 用户设置\n* `.claude/settings.json` 项目设置\n* `.claude/settings.local.json` 本地项目设置（不提交）\n* 企业管理策略设置\n\n### 结构\n<!--rehype:wrap-class=col-span-2 row-span-2-->\n\n```json\n{\n    \"hooks\": {\n        \"EventName\": [\n            {\n                \"matcher\": \"ToolPattern\",\n                \"hooks\": [\n                    { \"type\": \"command\", \"command\": \"your-command-here\" }\n                ]\n            }\n        ]\n    }\n}\n```\n\n#### <pur>matcher</pur> 匹配工具名称的模式，区分大小写（仅适用于 `PreToolUse` 和 `PostToolUse`）\n\n* 简单字符串精确匹配：`Write` 仅匹配 Write 工具\n* 支持正则表达式：`Edit|Write` 或 `Notebook.*`\n* 使用 `*` 匹配所有工具。您也可以使用空字符串（`\"\"`）或留空 `matcher`。\n\n#### <pur>hooks</pur> 当模式匹配时要执行的命令数组\n\n* `type`：目前仅支持 `\"command\"`\n* `command`：要执行的 bash 命令（可以使用 `$CLAUDE_PROJECT_DIR` 环境变量）\n* `timeout`：（可选）命令应该运行多长时间（以秒为单位），在取消该特定命令之前。\n\n### 项目特定的 Hook 脚本\n\n```json {9}\n{\n  \"hooks\": {\n    \"PostToolUse\": [\n      {\n        \"matcher\": \"Write|Edit\",\n        \"hooks\": [\n{\n    \"type\": \"command\",\n    \"command\": \"$CLAUDE_PROJECT_DIR/.claude/hooks/check-style.sh\"\n}\n        ]\n      }\n    ]\n  }\n}\n```\n\n可通过环境变量 `CLAUDE_PROJECT_DIR` 引用项目中的脚本，确保无论 Claude 当前目录如何都能正常使用（仅在生成 hook 命令时可用）\n\nHook 事件\n---\n\n### PreToolUse\n\n#### 常见匹配器\n\n* `Task` - 子代理任务（参见[子代理文档](https://docs.anthropic.com/zh-CN/docs/claude-code/sub-agents)）\n* `Bash` - Shell 命令\n* `Glob` - 文件模式匹配\n* `Grep` - 内容搜索\n* `Read` - 文件读取\n* `Edit`、`MultiEdit` - 文件编辑\n* `Write` - 文件写入\n* `WebFetch`、`WebSearch` - Web 操作\n\n在 Claude 创建工具参数之后、处理工具调用之前运行。\n\n### 其它 Hook\n\nHook | 描述\n--- | ---\n`PostToolUse` | 在工具成功完成后立即运行。\n`UserPromptSubmit` | 当用户提交提示时、Claude 处理之前运行。这允许您根据提示/对话添加额外的上下文、验证提示或阻止某些类型的提示。\n`Stop` | 当主 Claude Code 代理完成响应时运行。如果停止是由于用户中断而发生的，则不会运行。\n`SubagentStop` | 当 Claude Code 子代理（Task 工具调用）完成响应时运行。\n<!--rehype:className=style-list-arrow square-->\n\n### Notification\n\n当 Claude Code 发送通知时运行。通知在以下情况下发送：\n\nHook | 描述\n--- | ---\nClaude 需要您的权限来使用工具。 | 示例：“Claude needs your permission to use Bash”\n提示输入已空闲至少 `60` 秒。 | “Claude is waiting for your input”\n<!--rehype:className=style-list-arrow square-->\n\n### ​PreCompact\n\n在 Claude Code 即将运行压缩操作之前运行。\n\n#### 匹配器\n<!--rehype:style=text-align:left;-->\n\nHook | 描述\n--- | ---\n`manual` | 从 `/compact` 调用\n`auto` | 从自动压缩调用（由于上下文窗口已满）\n<!--rehype:className=style-list-arrow square-->\n\n### SessionStart\n\n当 Claude Code 启动新会话或恢复现有会话时运行（目前确实会在底层启动新会话）\n\n#### 匹配器\n<!--rehype:style=text-align:left;-->\n\n* `startup` - 从启动调用\n* `resume` - 从 `--resume`、`--continue` 或 `/resume` 调用\n* `clear` - 从 `/clear` 调用\n* `compact` - 从自动或手动压缩调用。\n\n对于加载开发上下文（如现有问题或代码库的最近更改）很有用。\n\n### SessionEnd\n\n#### hook 输入中的 reason 字段将是以下之一\n<!--rehype:style=text-align:left;-->\n\n* `clear` - 使用 /clear 命令清除会话\n* `logout` - 用户注销\n* `prompt_input_exit` - 用户在提示输入可见时退出\n* `other` - 其他退出原因\n\n当 Claude Code 会话结束时运行。对于清理任务、记录会话统计信息或保存会话状态很有用。\n\nHook 输入\n---\n\n### 示例\n\nHooks 通过 `stdin` 接收包含会话信息和事件特定数据的 JSON 数据：\n\n```json\n{\n  // 通用字段\n  session_id: string\n  // 对话 JSON 的路径\n  transcript_path: string  \n  // 调用 hook 时的当前工作目录\n  cwd: string              \n\n  // 事件特定字段\n  hook_event_name: string\n  ...\n}\n```\n\n### PreToolUse 输入\n\n`tool_input` 的确切模式取决于工具。\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"PreToolUse\",\n  \"tool_name\": \"Write\",\n  \"tool_input\": {\n    \"file_path\": \"/path/to/file.txt\",\n    \"content\": \"file content\"\n  }\n}\n```\n\n### PostToolUse 输入\n\n`tool_input` 和 `tool_response` 的确切模式取决于工具。\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"PostToolUse\",\n  \"tool_name\": \"Write\",\n  \"tool_input\": {\n    \"file_path\": \"/path/to/file.txt\",\n    \"content\": \"file content\"\n  },\n  \"tool_response\": {\n    \"filePath\": \"/path/to/file.txt\",\n    \"success\": true\n  }\n}\n```\n\n### Notification 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"Notification\",\n  \"message\": \"Task completed successfully\"\n}\n```\n\n### UserPromptSubmit 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"UserPromptSubmit\",\n  \"prompt\": \"Write a function to calculate the factorial of a number\"\n}\n```\n\n### Stop 和 SubagentStop 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"Stop\",\n  \"stop_hook_active\": true\n}\n```\n\n当 Claude Code 已经因为 `stop hook` 而继续时，`stop_hook_active` 为 `true`。检查此值或处理记录以防止 Claude Code 无限运行。\n\n### PreCompact 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"PreCompact\",\n  \"trigger\": \"manual\",\n  \"custom_instructions\": \"\"\n}\n```\n\n对于 `manual`，`custom_instructions` 来自用户传递给 `/compact` 的内容。对于 `auto`，`custom_instructions` 为空。\n\n### SessionStart 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"SessionStart\",\n  \"source\": \"startup\"\n}\n```\n\n### SessionEnd 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"SessionEnd\",\n  \"reason\": \"exit\"\n}\n```\n\n另见\n----\n\n* [Claude 代码参考](https://docs.anthropic.com/zh-CN/docs/claude-code/cli-reference) _(docs.anthropic.com)_\n* [送你一张Claude Code速查表](https://mp.weixin.qq.com/s/LbQbzvXh49Qo22nArTv4Og) _(weixin.qq.com)_\n"},"files":{"docs/claude.md":"ClaudeCode 备忘清单\n===\n\nClaudeCode 命令行开发工具快速参考备忘单。\n\nCLI 参考\n---\n\n### 命令行\n<!--rehype:wrap-class=col-span-2-->\n\n| 命令  | 描述  | 示例  |\n| --- | --- | --- |\n| `claude` | 启动交互式 REPL | `claude` |\n| `claude \"query\"` | 使用初始提示启动 REPL | `claude \"explain this project\"` |\n| `claude -p \"query\"` | 通过 SDK 查询，然后退出 | `claude -p \"explain this function\"` |\n| `cat file \\| claude -p \"query\"` | 处理管道内容 | `cat logs.txt \\| claude -p \"explain\"` |\n| `claude -c` | 继续最近的对话 | `claude -c` |\n| `claude -c -p \"query\"` | 通过 SDK 继续 | `claude -c -p \"Check for type errors\"` |\n| `claude -r \"<session-id>\" \"query\"` | 通过 ID 恢复会话 | `claude -r \"abc123\" \"Finish this PR\"` |\n| `claude update` | 更新到最新版本 | `claude update` |\n| `claude mcp` | 配置模型上下文协议 (MCP) 服务器 | 请参阅 [Claude Code MCP 文档](https://docs.anthropic.com/zh-CN/docs/claude-code/mcp)。 |\n<!--rehype:className=left-align-->\n\n### CLI 标志\n<!--rehype:wrap-class=row-span-2-->\n\n使用这些命令行标志自定义 Claude Code 的行为：\n\n| 标志  | 描述  | 示例  |\n| --- | --- | --- |\n| `--add-dir` | 添加额外的工作目录供 Claude 访问（验证每个路径是否作为目录存在） | `claude --add-dir ../apps ../lib` |\n| `--allowedTools` | 除了 [settings.json 文件](https://docs.anthropic.com/zh-CN/docs/claude-code/settings) 之外，应该在不提示用户许可的情况下允许的工具列表 | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Read\"` |\n| `--disallowedTools` | 除了 [settings.json 文件](https://docs.anthropic.com/zh-CN/docs/claude-code/settings) 之外，应该在不提示用户许可的情况下禁止的工具列表 | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Edit\"` |\n| `--print`, `-p` | 打印响应而不使用交互模式（有关编程使用详细信息，请参阅 [SDK 文档](https://docs.anthropic.com/zh-CN/docs/claude-code/sdk)） | `claude -p \"query\"` |\n| `--append-system-prompt` | 附加到系统提示（仅与 `--print` 一起使用） | `claude --append-system-prompt \"Custom instruction\"` |\n| `--output-format` | 为打印模式指定输出格式（选项：`text`、`json`、`stream-json`） | `claude -p \"query\" --output-format json` |\n| `--input-format` | 为打印模式指定输入格式（选项：`text`、`stream-json`） | `claude -p --output-format json --input-format stream-json` |\n| `--verbose` | 启用详细日志记录，显示完整的轮次输出（在打印和交互模式中都有助于调试） | `claude --verbose` |\n| `--max-turns` | 在非交互模式下限制代理轮次数量 | `claude -p --max-turns 3 \"query\"` |\n| `--model` | 使用最新模型的别名（`sonnet` 或 `opus`）或模型的全名为当前会话设置模型 | `claude --model claude-sonnet-4-20250514` |\n| `--permission-mode` | 在指定的[权限模式](iam#permission-modes)下开始 | `claude --permission-mode plan` |\n| `--permission-prompt-tool` | 指定一个 MCP 工具来处理非交互模式下的权限提示 | `claude -p --permission-prompt-tool mcp_auth_tool \"query\"` |\n| `--resume` | 通过 ID 恢复特定会话，或在交互模式下选择 | `claude --resume abc123 \"query\"` |\n| `--continue` | 在当前目录中加载最近的对话 | `claude --continue` |\n| `--dangerously-skip-permissions` | 跳过权限提示（谨慎使用） | `claude --dangerously-skip-permissions` |\n<!--rehype:className=style-list-arrow squarefill-->\n\n### 内置斜杠命令\n<!--rehype:wrap-class=col-span-2-->\n\n| 命令  | 用途  |\n| --- | --- |\n| `/add-dir` | 添加额外的工作目录 |\n| `/agents` | 管理用于专门任务的自定义AI子代理 |\n| `/bug` | 报告错误（将对话发送给Anthropic） |\n| `/clear` | 清除对话历史 |\n| `/compact [instructions]` | 压缩对话，可选择性地提供重点指令 |\n| `/config` | 查看/修改配置 |\n| `/cost` | 显示令牌使用统计（请参阅[成本跟踪指南](https://docs.anthropic.com/zh-CN/docs/claude-code/costs#using-the-cost-command)了解订阅特定详情） |\n| `/doctor` | 检查您的Claude Code安装的健康状况 |\n| `/help` | 获取使用帮助 |\n| `/init` | 使用CLAUDE.md指南初始化项目 |\n| `/login` | 切换Anthropic账户 |\n| `/logout` | 从您的Anthropic账户登出 |\n| `/mcp` | 管理MCP服务器连接和OAuth身份验证 |\n| `/memory` | 编辑CLAUDE.md内存文件 |\n| `/model` | 选择或更改AI模型 |\n| `/permissions` | 查看或更新[权限](https://docs.anthropic.com/zh-CN/docs/claude-code/iam#configuring-permissions) |\n| `/pr_comments` | 查看拉取请求评论 |\n| `/review` | 请求代码审查 |\n| `/status` | 查看账户和系统状态 |\n| `/terminal-setup` | 安装Shift+Enter键绑定用于换行（仅限iTerm2和VSCode） |\n| `/vim` | 进入vim模式以在插入和命令模式之间切换 |\n<!--rehype:className=left-align-->\n\n键盘快捷键\n---\n\n### 通用控制\n\n| 快捷键 | 描述  | 上下文 |\n| --- | --- | --- |\n| `Ctrl+C` | 取消当前输入或生成 | 标准中断 |\n| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |\n| `Ctrl+L` | 清除终端屏幕 | 保留对话历史 |\n| `上/下箭头` | 导航命令历史 | 回调之前的输入 |\n| `Esc` + `Esc` | 编辑上一条消息 | 双击 Esc 键修改 |\n| `Shift+Tab` | 切换权限模式 | 在自动接受模式、计划模式和正常模式之间切换 |\n<!--rehype:className=left-align shortcuts-->\n\n### 多行输入\n\n| 方法  | 快捷键 | 上下文 |\n| --- | --- | --- |\n| 快速转义 | `\\` + `Enter` | 在所有终端中有效 |\n| macOS 默认 | `Option+Enter` | macOS 上的默认设置 |\n| 终端设置 | `Shift+Enter` | 在 `/terminal-setup` 之后 |\n| 控制序列 | `Ctrl+J` | 多行换行符 |\n| 粘贴模式 | 直接粘贴 | 用于代码块、日志 |\n<!--rehype:className=left-align shortcuts-->\n\n### 快速命令\n\n| 快捷键 | 描述  | 注释  |\n| --- | --- | --- |\n| 开头的 `#` | 内存快捷键 - 添加到 CLAUDE.md | 提示文件选择 |\n| 开头的 `/` | 斜杠命令 | 参见[斜杠命令](https://docs.anthropic.com/zh-CN/docs/claude-code/slash-commands) |\n| 开头的 `!` | Bash 模式 | 直接运行命令并将执行输出添加到会话中 |\n<!--rehype:className=left-align shortcuts-->\n\nVim 编辑器模式\n---\n\n### 模式切换\n\n| 命令  | 操作  | 从模式 |\n| --- | --- | --- |\n| `Esc` | 进入 NORMAL 模式 | INSERT |\n| `i` | 在光标前插入 | NORMAL |\n| `I` | 在行首插入 | NORMAL |\n| `a` | 在光标后插入 | NORMAL |\n| `A` | 在行尾插入 | NORMAL |\n| `o` | 在下方打开新行 | NORMAL |\n| `O` | 在上方打开新行 | NORMAL |\n\n### 导航（NORMAL 模式）\n\n| 命令  | 操作  |\n| --- | --- |\n| `h`/`j`/`k`/`l` | 向左/下/上/右移动 |\n| `w` | 下一个单词 |\n| `e` | 单词末尾 |\n| `b` | 上一个单词 |\n| `0` | 行首  |\n| `$` | 行尾  |\n| `^` | 第一个非空白字符 |\n| `gg` | 输入开头 |\n| `G` | 输入末尾 |\n\n### 编辑（NORMAL 模式）\n\n| 命令  | 操作  |\n| --- | --- |\n| `x` | 删除字符 |\n| `dd` | 删除行 |\n| `D` | 删除到行尾 |\n| `dw`/`de`/`db` | 删除单词/到末尾/向后 |\n| `cc` | 更改行 |\n| `C` | 更改到行尾 |\n| `cw`/`ce`/`cb` | 更改单词/到末尾/向后 |\n| `.` | 重复上次更改 |\n\nHooks 参考\n---\n\n### 配置\n\n* `~/.claude/settings.json` 用户设置\n* `.claude/settings.json` 项目设置\n* `.claude/settings.local.json` 本地项目设置（不提交）\n* 企业管理策略设置\n\n### 结构\n<!--rehype:wrap-class=col-span-2 row-span-2-->\n\n```json\n{\n    \"hooks\": {\n        \"EventName\": [\n            {\n                \"matcher\": \"ToolPattern\",\n                \"hooks\": [\n                    { \"type\": \"command\", \"command\": \"your-command-here\" }\n                ]\n            }\n        ]\n    }\n}\n```\n\n#### <pur>matcher</pur> 匹配工具名称的模式，区分大小写（仅适用于 `PreToolUse` 和 `PostToolUse`）\n\n* 简单字符串精确匹配：`Write` 仅匹配 Write 工具\n* 支持正则表达式：`Edit|Write` 或 `Notebook.*`\n* 使用 `*` 匹配所有工具。您也可以使用空字符串（`\"\"`）或留空 `matcher`。\n\n#### <pur>hooks</pur> 当模式匹配时要执行的命令数组\n\n* `type`：目前仅支持 `\"command\"`\n* `command`：要执行的 bash 命令（可以使用 `$CLAUDE_PROJECT_DIR` 环境变量）\n* `timeout`：（可选）命令应该运行多长时间（以秒为单位），在取消该特定命令之前。\n\n### 项目特定的 Hook 脚本\n\n```json {9}\n{\n  \"hooks\": {\n    \"PostToolUse\": [\n      {\n        \"matcher\": \"Write|Edit\",\n        \"hooks\": [\n{\n    \"type\": \"command\",\n    \"command\": \"$CLAUDE_PROJECT_DIR/.claude/hooks/check-style.sh\"\n}\n        ]\n      }\n    ]\n  }\n}\n```\n\n可通过环境变量 `CLAUDE_PROJECT_DIR` 引用项目中的脚本，确保无论 Claude 当前目录如何都能正常使用（仅在生成 hook 命令时可用）\n\nHook 事件\n---\n\n### PreToolUse\n\n#### 常见匹配器\n\n* `Task` - 子代理任务（参见[子代理文档](https://docs.anthropic.com/zh-CN/docs/claude-code/sub-agents)）\n* `Bash` - Shell 命令\n* `Glob` - 文件模式匹配\n* `Grep` - 内容搜索\n* `Read` - 文件读取\n* `Edit`、`MultiEdit` - 文件编辑\n* `Write` - 文件写入\n* `WebFetch`、`WebSearch` - Web 操作\n\n在 Claude 创建工具参数之后、处理工具调用之前运行。\n\n### 其它 Hook\n\nHook | 描述\n--- | ---\n`PostToolUse` | 在工具成功完成后立即运行。\n`UserPromptSubmit` | 当用户提交提示时、Claude 处理之前运行。这允许您根据提示/对话添加额外的上下文、验证提示或阻止某些类型的提示。\n`Stop` | 当主 Claude Code 代理完成响应时运行。如果停止是由于用户中断而发生的，则不会运行。\n`SubagentStop` | 当 Claude Code 子代理（Task 工具调用）完成响应时运行。\n<!--rehype:className=style-list-arrow square-->\n\n### Notification\n\n当 Claude Code 发送通知时运行。通知在以下情况下发送：\n\nHook | 描述\n--- | ---\nClaude 需要您的权限来使用工具。 | 示例：“Claude needs your permission to use Bash”\n提示输入已空闲至少 `60` 秒。 | “Claude is waiting for your input”\n<!--rehype:className=style-list-arrow square-->\n\n### ​PreCompact\n\n在 Claude Code 即将运行压缩操作之前运行。\n\n#### 匹配器\n<!--rehype:style=text-align:left;-->\n\nHook | 描述\n--- | ---\n`manual` | 从 `/compact` 调用\n`auto` | 从自动压缩调用（由于上下文窗口已满）\n<!--rehype:className=style-list-arrow square-->\n\n### SessionStart\n\n当 Claude Code 启动新会话或恢复现有会话时运行（目前确实会在底层启动新会话）\n\n#### 匹配器\n<!--rehype:style=text-align:left;-->\n\n* `startup` - 从启动调用\n* `resume` - 从 `--resume`、`--continue` 或 `/resume` 调用\n* `clear` - 从 `/clear` 调用\n* `compact` - 从自动或手动压缩调用。\n\n对于加载开发上下文（如现有问题或代码库的最近更改）很有用。\n\n### SessionEnd\n\n#### hook 输入中的 reason 字段将是以下之一\n<!--rehype:style=text-align:left;-->\n\n* `clear` - 使用 /clear 命令清除会话\n* `logout` - 用户注销\n* `prompt_input_exit` - 用户在提示输入可见时退出\n* `other` - 其他退出原因\n\n当 Claude Code 会话结束时运行。对于清理任务、记录会话统计信息或保存会话状态很有用。\n\nHook 输入\n---\n\n### 示例\n\nHooks 通过 `stdin` 接收包含会话信息和事件特定数据的 JSON 数据：\n\n```json\n{\n  // 通用字段\n  session_id: string\n  // 对话 JSON 的路径\n  transcript_path: string  \n  // 调用 hook 时的当前工作目录\n  cwd: string              \n\n  // 事件特定字段\n  hook_event_name: string\n  ...\n}\n```\n\n### PreToolUse 输入\n\n`tool_input` 的确切模式取决于工具。\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"PreToolUse\",\n  \"tool_name\": \"Write\",\n  \"tool_input\": {\n    \"file_path\": \"/path/to/file.txt\",\n    \"content\": \"file content\"\n  }\n}\n```\n\n### PostToolUse 输入\n\n`tool_input` 和 `tool_response` 的确切模式取决于工具。\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"PostToolUse\",\n  \"tool_name\": \"Write\",\n  \"tool_input\": {\n    \"file_path\": \"/path/to/file.txt\",\n    \"content\": \"file content\"\n  },\n  \"tool_response\": {\n    \"filePath\": \"/path/to/file.txt\",\n    \"success\": true\n  }\n}\n```\n\n### Notification 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"Notification\",\n  \"message\": \"Task completed successfully\"\n}\n```\n\n### UserPromptSubmit 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"UserPromptSubmit\",\n  \"prompt\": \"Write a function to calculate the factorial of a number\"\n}\n```\n\n### Stop 和 SubagentStop 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"Stop\",\n  \"stop_hook_active\": true\n}\n```\n\n当 Claude Code 已经因为 `stop hook` 而继续时，`stop_hook_active` 为 `true`。检查此值或处理记录以防止 Claude Code 无限运行。\n\n### PreCompact 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"PreCompact\",\n  \"trigger\": \"manual\",\n  \"custom_instructions\": \"\"\n}\n```\n\n对于 `manual`，`custom_instructions` 来自用户传递给 `/compact` 的内容。对于 `auto`，`custom_instructions` 为空。\n\n### SessionStart 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"SessionStart\",\n  \"source\": \"startup\"\n}\n```\n\n### SessionEnd 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"SessionEnd\",\n  \"reason\": \"exit\"\n}\n```\n\n另见\n----\n\n* [Claude 代码参考](https://docs.anthropic.com/zh-CN/docs/claude-code/cli-reference) _(docs.anthropic.com)_\n* [送你一张Claude Code速查表](https://mp.weixin.qq.com/s/LbQbzvXh49Qo22nArTv4Og) _(weixin.qq.com)_\n"},"items":[{"name":"claude.md","path":"docs/claude.md","rawUrl":"https://raw.githubusercontent.com/jaywcjlove/reference/HEAD/docs/claude.md","title":"docs - Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"ClaudeCode 备忘清单\n===\n\nClaudeCode 命令行开发工具快速参考备忘单。\n\nCLI 参考\n---\n\n### 命令行\n<!--rehype:wrap-class=col-span-2-->\n\n| 命令  | 描述  | 示例  |\n| --- | --- | --- |\n| `claude` | 启动交互式 REPL | `claude` |\n| `claude \"query\"` | 使用初始提示启动 REPL | `claude \"explain this project\"` |\n| `claude -p \"query\"` | 通过 SDK 查询，然后退出 | `claude -p \"explain this function\"` |\n| `cat file \\| claude -p \"query\"` | 处理管道内容 | `cat logs.txt \\| claude -p \"explain\"` |\n| `claude -c` | 继续最近的对话 | `claude -c` |\n| `claude -c -p \"query\"` | 通过 SDK 继续 | `claude -c -p \"Check for type errors\"` |\n| `claude -r \"<session-id>\" \"query\"` | 通过 ID 恢复会话 | `claude -r \"abc123\" \"Finish this PR\"` |\n| `claude update` | 更新到最新版本 | `claude update` |\n| `claude mcp` | 配置模型上下文协议 (MCP) 服务器 | 请参阅 [Claude Code MCP 文档](https://docs.anthropic.com/zh-CN/docs/claude-code/mcp)。 |\n<!--rehype:className=left-align-->\n\n### CLI 标志\n<!--rehype:wrap-class=row-span-2-->\n\n使用这些命令行标志自定义 Claude Code 的行为：\n\n| 标志  | 描述  | 示例  |\n| --- | --- | --- |\n| `--add-dir` | 添加额外的工作目录供 Claude 访问（验证每个路径是否作为目录存在） | `claude --add-dir ../apps ../lib` |\n| `--allowedTools` | 除了 [settings.json 文件](https://docs.anthropic.com/zh-CN/docs/claude-code/settings) 之外，应该在不提示用户许可的情况下允许的工具列表 | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Read\"` |\n| `--disallowedTools` | 除了 [settings.json 文件](https://docs.anthropic.com/zh-CN/docs/claude-code/settings) 之外，应该在不提示用户许可的情况下禁止的工具列表 | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Edit\"` |\n| `--print`, `-p` | 打印响应而不使用交互模式（有关编程使用详细信息，请参阅 [SDK 文档](https://docs.anthropic.com/zh-CN/docs/claude-code/sdk)） | `claude -p \"query\"` |\n| `--append-system-prompt` | 附加到系统提示（仅与 `--print` 一起使用） | `claude --append-system-prompt \"Custom instruction\"` |\n| `--output-format` | 为打印模式指定输出格式（选项：`text`、`json`、`stream-json`） | `claude -p \"query\" --output-format json` |\n| `--input-format` | 为打印模式指定输入格式（选项：`text`、`stream-json`） | `claude -p --output-format json --input-format stream-json` |\n| `--verbose` | 启用详细日志记录，显示完整的轮次输出（在打印和交互模式中都有助于调试） | `claude --verbose` |\n| `--max-turns` | 在非交互模式下限制代理轮次数量 | `claude -p --max-turns 3 \"query\"` |\n| `--model` | 使用最新模型的别名（`sonnet` 或 `opus`）或模型的全名为当前会话设置模型 | `claude --model claude-sonnet-4-20250514` |\n| `--permission-mode` | 在指定的[权限模式](iam#permission-modes)下开始 | `claude --permission-mode plan` |\n| `--permission-prompt-tool` | 指定一个 MCP 工具来处理非交互模式下的权限提示 | `claude -p --permission-prompt-tool mcp_auth_tool \"query\"` |\n| `--resume` | 通过 ID 恢复特定会话，或在交互模式下选择 | `claude --resume abc123 \"query\"` |\n| `--continue` | 在当前目录中加载最近的对话 | `claude --continue` |\n| `--dangerously-skip-permissions` | 跳过权限提示（谨慎使用） | `claude --dangerously-skip-permissions` |\n<!--rehype:className=style-list-arrow squarefill-->\n\n### 内置斜杠命令\n<!--rehype:wrap-class=col-span-2-->\n\n| 命令  | 用途  |\n| --- | --- |\n| `/add-dir` | 添加额外的工作目录 |\n| `/agents` | 管理用于专门任务的自定义AI子代理 |\n| `/bug` | 报告错误（将对话发送给Anthropic） |\n| `/clear` | 清除对话历史 |\n| `/compact [instructions]` | 压缩对话，可选择性地提供重点指令 |\n| `/config` | 查看/修改配置 |\n| `/cost` | 显示令牌使用统计（请参阅[成本跟踪指南](https://docs.anthropic.com/zh-CN/docs/claude-code/costs#using-the-cost-command)了解订阅特定详情） |\n| `/doctor` | 检查您的Claude Code安装的健康状况 |\n| `/help` | 获取使用帮助 |\n| `/init` | 使用CLAUDE.md指南初始化项目 |\n| `/login` | 切换Anthropic账户 |\n| `/logout` | 从您的Anthropic账户登出 |\n| `/mcp` | 管理MCP服务器连接和OAuth身份验证 |\n| `/memory` | 编辑CLAUDE.md内存文件 |\n| `/model` | 选择或更改AI模型 |\n| `/permissions` | 查看或更新[权限](https://docs.anthropic.com/zh-CN/docs/claude-code/iam#configuring-permissions) |\n| `/pr_comments` | 查看拉取请求评论 |\n| `/review` | 请求代码审查 |\n| `/status` | 查看账户和系统状态 |\n| `/terminal-setup` | 安装Shift+Enter键绑定用于换行（仅限iTerm2和VSCode） |\n| `/vim` | 进入vim模式以在插入和命令模式之间切换 |\n<!--rehype:className=left-align-->\n\n键盘快捷键\n---\n\n### 通用控制\n\n| 快捷键 | 描述  | 上下文 |\n| --- | --- | --- |\n| `Ctrl+C` | 取消当前输入或生成 | 标准中断 |\n| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |\n| `Ctrl+L` | 清除终端屏幕 | 保留对话历史 |\n| `上/下箭头` | 导航命令历史 | 回调之前的输入 |\n| `Esc` + `Esc` | 编辑上一条消息 | 双击 Esc 键修改 |\n| `Shift+Tab` | 切换权限模式 | 在自动接受模式、计划模式和正常模式之间切换 |\n<!--rehype:className=left-align shortcuts-->\n\n### 多行输入\n\n| 方法  | 快捷键 | 上下文 |\n| --- | --- | --- |\n| 快速转义 | `\\` + `Enter` | 在所有终端中有效 |\n| macOS 默认 | `Option+Enter` | macOS 上的默认设置 |\n| 终端设置 | `Shift+Enter` | 在 `/terminal-setup` 之后 |\n| 控制序列 | `Ctrl+J` | 多行换行符 |\n| 粘贴模式 | 直接粘贴 | 用于代码块、日志 |\n<!--rehype:className=left-align shortcuts-->\n\n### 快速命令\n\n| 快捷键 | 描述  | 注释  |\n| --- | --- | --- |\n| 开头的 `#` | 内存快捷键 - 添加到 CLAUDE.md | 提示文件选择 |\n| 开头的 `/` | 斜杠命令 | 参见[斜杠命令](https://docs.anthropic.com/zh-CN/docs/claude-code/slash-commands) |\n| 开头的 `!` | Bash 模式 | 直接运行命令并将执行输出添加到会话中 |\n<!--rehype:className=left-align shortcuts-->\n\nVim 编辑器模式\n---\n\n### 模式切换\n\n| 命令  | 操作  | 从模式 |\n| --- | --- | --- |\n| `Esc` | 进入 NORMAL 模式 | INSERT |\n| `i` | 在光标前插入 | NORMAL |\n| `I` | 在行首插入 | NORMAL |\n| `a` | 在光标后插入 | NORMAL |\n| `A` | 在行尾插入 | NORMAL |\n| `o` | 在下方打开新行 | NORMAL |\n| `O` | 在上方打开新行 | NORMAL |\n\n### 导航（NORMAL 模式）\n\n| 命令  | 操作  |\n| --- | --- |\n| `h`/`j`/`k`/`l` | 向左/下/上/右移动 |\n| `w` | 下一个单词 |\n| `e` | 单词末尾 |\n| `b` | 上一个单词 |\n| `0` | 行首  |\n| `$` | 行尾  |\n| `^` | 第一个非空白字符 |\n| `gg` | 输入开头 |\n| `G` | 输入末尾 |\n\n### 编辑（NORMAL 模式）\n\n| 命令  | 操作  |\n| --- | --- |\n| `x` | 删除字符 |\n| `dd` | 删除行 |\n| `D` | 删除到行尾 |\n| `dw`/`de`/`db` | 删除单词/到末尾/向后 |\n| `cc` | 更改行 |\n| `C` | 更改到行尾 |\n| `cw`/`ce`/`cb` | 更改单词/到末尾/向后 |\n| `.` | 重复上次更改 |\n\nHooks 参考\n---\n\n### 配置\n\n* `~/.claude/settings.json` 用户设置\n* `.claude/settings.json` 项目设置\n* `.claude/settings.local.json` 本地项目设置（不提交）\n* 企业管理策略设置\n\n### 结构\n<!--rehype:wrap-class=col-span-2 row-span-2-->\n\n```json\n{\n    \"hooks\": {\n        \"EventName\": [\n            {\n                \"matcher\": \"ToolPattern\",\n                \"hooks\": [\n                    { \"type\": \"command\", \"command\": \"your-command-here\" }\n                ]\n            }\n        ]\n    }\n}\n```\n\n#### <pur>matcher</pur> 匹配工具名称的模式，区分大小写（仅适用于 `PreToolUse` 和 `PostToolUse`）\n\n* 简单字符串精确匹配：`Write` 仅匹配 Write 工具\n* 支持正则表达式：`Edit|Write` 或 `Notebook.*`\n* 使用 `*` 匹配所有工具。您也可以使用空字符串（`\"\"`）或留空 `matcher`。\n\n#### <pur>hooks</pur> 当模式匹配时要执行的命令数组\n\n* `type`：目前仅支持 `\"command\"`\n* `command`：要执行的 bash 命令（可以使用 `$CLAUDE_PROJECT_DIR` 环境变量）\n* `timeout`：（可选）命令应该运行多长时间（以秒为单位），在取消该特定命令之前。\n\n### 项目特定的 Hook 脚本\n\n```json {9}\n{\n  \"hooks\": {\n    \"PostToolUse\": [\n      {\n        \"matcher\": \"Write|Edit\",\n        \"hooks\": [\n{\n    \"type\": \"command\",\n    \"command\": \"$CLAUDE_PROJECT_DIR/.claude/hooks/check-style.sh\"\n}\n        ]\n      }\n    ]\n  }\n}\n```\n\n可通过环境变量 `CLAUDE_PROJECT_DIR` 引用项目中的脚本，确保无论 Claude 当前目录如何都能正常使用（仅在生成 hook 命令时可用）\n\nHook 事件\n---\n\n### PreToolUse\n\n#### 常见匹配器\n\n* `Task` - 子代理任务（参见[子代理文档](https://docs.anthropic.com/zh-CN/docs/claude-code/sub-agents)）\n* `Bash` - Shell 命令\n* `Glob` - 文件模式匹配\n* `Grep` - 内容搜索\n* `Read` - 文件读取\n* `Edit`、`MultiEdit` - 文件编辑\n* `Write` - 文件写入\n* `WebFetch`、`WebSearch` - Web 操作\n\n在 Claude 创建工具参数之后、处理工具调用之前运行。\n\n### 其它 Hook\n\nHook | 描述\n--- | ---\n`PostToolUse` | 在工具成功完成后立即运行。\n`UserPromptSubmit` | 当用户提交提示时、Claude 处理之前运行。这允许您根据提示/对话添加额外的上下文、验证提示或阻止某些类型的提示。\n`Stop` | 当主 Claude Code 代理完成响应时运行。如果停止是由于用户中断而发生的，则不会运行。\n`SubagentStop` | 当 Claude Code 子代理（Task 工具调用）完成响应时运行。\n<!--rehype:className=style-list-arrow square-->\n\n### Notification\n\n当 Claude Code 发送通知时运行。通知在以下情况下发送：\n\nHook | 描述\n--- | ---\nClaude 需要您的权限来使用工具。 | 示例：“Claude needs your permission to use Bash”\n提示输入已空闲至少 `60` 秒。 | “Claude is waiting for your input”\n<!--rehype:className=style-list-arrow square-->\n\n### ​PreCompact\n\n在 Claude Code 即将运行压缩操作之前运行。\n\n#### 匹配器\n<!--rehype:style=text-align:left;-->\n\nHook | 描述\n--- | ---\n`manual` | 从 `/compact` 调用\n`auto` | 从自动压缩调用（由于上下文窗口已满）\n<!--rehype:className=style-list-arrow square-->\n\n### SessionStart\n\n当 Claude Code 启动新会话或恢复现有会话时运行（目前确实会在底层启动新会话）\n\n#### 匹配器\n<!--rehype:style=text-align:left;-->\n\n* `startup` - 从启动调用\n* `resume` - 从 `--resume`、`--continue` 或 `/resume` 调用\n* `clear` - 从 `/clear` 调用\n* `compact` - 从自动或手动压缩调用。\n\n对于加载开发上下文（如现有问题或代码库的最近更改）很有用。\n\n### SessionEnd\n\n#### hook 输入中的 reason 字段将是以下之一\n<!--rehype:style=text-align:left;-->\n\n* `clear` - 使用 /clear 命令清除会话\n* `logout` - 用户注销\n* `prompt_input_exit` - 用户在提示输入可见时退出\n* `other` - 其他退出原因\n\n当 Claude Code 会话结束时运行。对于清理任务、记录会话统计信息或保存会话状态很有用。\n\nHook 输入\n---\n\n### 示例\n\nHooks 通过 `stdin` 接收包含会话信息和事件特定数据的 JSON 数据：\n\n```json\n{\n  // 通用字段\n  session_id: string\n  // 对话 JSON 的路径\n  transcript_path: string  \n  // 调用 hook 时的当前工作目录\n  cwd: string              \n\n  // 事件特定字段\n  hook_event_name: string\n  ...\n}\n```\n\n### PreToolUse 输入\n\n`tool_input` 的确切模式取决于工具。\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"PreToolUse\",\n  \"tool_name\": \"Write\",\n  \"tool_input\": {\n    \"file_path\": \"/path/to/file.txt\",\n    \"content\": \"file content\"\n  }\n}\n```\n\n### PostToolUse 输入\n\n`tool_input` 和 `tool_response` 的确切模式取决于工具。\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"PostToolUse\",\n  \"tool_name\": \"Write\",\n  \"tool_input\": {\n    \"file_path\": \"/path/to/file.txt\",\n    \"content\": \"file content\"\n  },\n  \"tool_response\": {\n    \"filePath\": \"/path/to/file.txt\",\n    \"success\": true\n  }\n}\n```\n\n### Notification 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"Notification\",\n  \"message\": \"Task completed successfully\"\n}\n```\n\n### UserPromptSubmit 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"UserPromptSubmit\",\n  \"prompt\": \"Write a function to calculate the factorial of a number\"\n}\n```\n\n### Stop 和 SubagentStop 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"Stop\",\n  \"stop_hook_active\": true\n}\n```\n\n当 Claude Code 已经因为 `stop hook` 而继续时，`stop_hook_active` 为 `true`。检查此值或处理记录以防止 Claude Code 无限运行。\n\n### PreCompact 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"PreCompact\",\n  \"trigger\": \"manual\",\n  \"custom_instructions\": \"\"\n}\n```\n\n对于 `manual`，`custom_instructions` 来自用户传递给 `/compact` 的内容。对于 `auto`，`custom_instructions` 为空。\n\n### SessionStart 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"SessionStart\",\n  \"source\": \"startup\"\n}\n```\n\n### SessionEnd 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"SessionEnd\",\n  \"reason\": \"exit\"\n}\n```\n\n另见\n----\n\n* [Claude 代码参考](https://docs.anthropic.com/zh-CN/docs/claude-code/cli-reference) _(docs.anthropic.com)_\n* [送你一张Claude Code速查表](https://mp.weixin.qq.com/s/LbQbzvXh49Qo22nArTv4Og) _(weixin.qq.com)_\n","isInternal":false,"tokens":5029,"sizeBytes":14621}],"systemPromptSnippet":"<yakaai_skills repo=\"jaywcjlove/reference\">\n<!-- File: docs/claude.md (Tokens: ~5029 | Category: claude-rule) -->\nClaudeCode 备忘清单\n===\n\nClaudeCode 命令行开发工具快速参考备忘单。\n\nCLI 参考\n---\n\n### 命令行\n<!--rehype:wrap-class=col-span-2-->\n\n| 命令  | 描述  | 示例  |\n| --- | --- | --- |\n| `claude` | 启动交互式 REPL | `claude` |\n| `claude \"query\"` | 使用初始提示启动 REPL | `claude \"explain this project\"` |\n| `claude -p \"query\"` | 通过 SDK 查询，然后退出 | `claude -p \"explain this function\"` |\n| `cat file \\| claude -p \"query\"` | 处理管道内容 | `cat logs.txt \\| claude -p \"explain\"` |\n| `claude -c` | 继续最近的对话 | `claude -c` |\n| `claude -c -p \"query\"` | 通过 SDK 继续 | `claude -c -p \"Check for type errors\"` |\n| `claude -r \"<session-id>\" \"query\"` | 通过 ID 恢复会话 | `claude -r \"abc123\" \"Finish this PR\"` |\n| `claude update` | 更新到最新版本 | `claude update` |\n| `claude mcp` | 配置模型上下文协议 (MCP) 服务器 | 请参阅 [Claude Code MCP 文档](https://docs.anthropic.com/zh-CN/docs/claude-code/mcp)。 |\n<!--rehype:className=left-align-->\n\n### CLI 标志\n<!--rehype:wrap-class=row-span-2-->\n\n使用这些命令行标志自定义 Claude Code 的行为：\n\n| 标志  | 描述  | 示例  |\n| --- | --- | --- |\n| `--add-dir` | 添加额外的工作目录供 Claude 访问（验证每个路径是否作为目录存在） | `claude --add-dir ../apps ../lib` |\n| `--allowedTools` | 除了 [settings.json 文件](https://docs.anthropic.com/zh-CN/docs/claude-code/settings) 之外，应该在不提示用户许可的情况下允许的工具列表 | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Read\"` |\n| `--disallowedTools` | 除了 [settings.json 文件](https://docs.anthropic.com/zh-CN/docs/claude-code/settings) 之外，应该在不提示用户许可的情况下禁止的工具列表 | `\"Bash(git log:*)\" \"Bash(git diff:*)\" \"Edit\"` |\n| `--print`, `-p` | 打印响应而不使用交互模式（有关编程使用详细信息，请参阅 [SDK 文档](https://docs.anthropic.com/zh-CN/docs/claude-code/sdk)） | `claude -p \"query\"` |\n| `--append-system-prompt` | 附加到系统提示（仅与 `--print` 一起使用） | `claude --append-system-prompt \"Custom instruction\"` |\n| `--output-format` | 为打印模式指定输出格式（选项：`text`、`json`、`stream-json`） | `claude -p \"query\" --output-format json` |\n| `--input-format` | 为打印模式指定输入格式（选项：`text`、`stream-json`） | `claude -p --output-format json --input-format stream-json` |\n| `--verbose` | 启用详细日志记录，显示完整的轮次输出（在打印和交互模式中都有助于调试） | `claude --verbose` |\n| `--max-turns` | 在非交互模式下限制代理轮次数量 | `claude -p --max-turns 3 \"query\"` |\n| `--model` | 使用最新模型的别名（`sonnet` 或 `opus`）或模型的全名为当前会话设置模型 | `claude --model claude-sonnet-4-20250514` |\n| `--permission-mode` | 在指定的[权限模式](iam#permission-modes)下开始 | `claude --permission-mode plan` |\n| `--permission-prompt-tool` | 指定一个 MCP 工具来处理非交互模式下的权限提示 | `claude -p --permission-prompt-tool mcp_auth_tool \"query\"` |\n| `--resume` | 通过 ID 恢复特定会话，或在交互模式下选择 | `claude --resume abc123 \"query\"` |\n| `--continue` | 在当前目录中加载最近的对话 | `claude --continue` |\n| `--dangerously-skip-permissions` | 跳过权限提示（谨慎使用） | `claude --dangerously-skip-permissions` |\n<!--rehype:className=style-list-arrow squarefill-->\n\n### 内置斜杠命令\n<!--rehype:wrap-class=col-span-2-->\n\n| 命令  | 用途  |\n| --- | --- |\n| `/add-dir` | 添加额外的工作目录 |\n| `/agents` | 管理用于专门任务的自定义AI子代理 |\n| `/bug` | 报告错误（将对话发送给Anthropic） |\n| `/clear` | 清除对话历史 |\n| `/compact [instructions]` | 压缩对话，可选择性地提供重点指令 |\n| `/config` | 查看/修改配置 |\n| `/cost` | 显示令牌使用统计（请参阅[成本跟踪指南](https://docs.anthropic.com/zh-CN/docs/claude-code/costs#using-the-cost-command)了解订阅特定详情） |\n| `/doctor` | 检查您的Claude Code安装的健康状况 |\n| `/help` | 获取使用帮助 |\n| `/init` | 使用CLAUDE.md指南初始化项目 |\n| `/login` | 切换Anthropic账户 |\n| `/logout` | 从您的Anthropic账户登出 |\n| `/mcp` | 管理MCP服务器连接和OAuth身份验证 |\n| `/memory` | 编辑CLAUDE.md内存文件 |\n| `/model` | 选择或更改AI模型 |\n| `/permissions` | 查看或更新[权限](https://docs.anthropic.com/zh-CN/docs/claude-code/iam#configuring-permissions) |\n| `/pr_comments` | 查看拉取请求评论 |\n| `/review` | 请求代码审查 |\n| `/status` | 查看账户和系统状态 |\n| `/terminal-setup` | 安装Shift+Enter键绑定用于换行（仅限iTerm2和VSCode） |\n| `/vim` | 进入vim模式以在插入和命令模式之间切换 |\n<!--rehype:className=left-align-->\n\n键盘快捷键\n---\n\n### 通用控制\n\n| 快捷键 | 描述  | 上下文 |\n| --- | --- | --- |\n| `Ctrl+C` | 取消当前输入或生成 | 标准中断 |\n| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |\n| `Ctrl+L` | 清除终端屏幕 | 保留对话历史 |\n| `上/下箭头` | 导航命令历史 | 回调之前的输入 |\n| `Esc` + `Esc` | 编辑上一条消息 | 双击 Esc 键修改 |\n| `Shift+Tab` | 切换权限模式 | 在自动接受模式、计划模式和正常模式之间切换 |\n<!--rehype:className=left-align shortcuts-->\n\n### 多行输入\n\n| 方法  | 快捷键 | 上下文 |\n| --- | --- | --- |\n| 快速转义 | `\\` + `Enter` | 在所有终端中有效 |\n| macOS 默认 | `Option+Enter` | macOS 上的默认设置 |\n| 终端设置 | `Shift+Enter` | 在 `/terminal-setup` 之后 |\n| 控制序列 | `Ctrl+J` | 多行换行符 |\n| 粘贴模式 | 直接粘贴 | 用于代码块、日志 |\n<!--rehype:className=left-align shortcuts-->\n\n### 快速命令\n\n| 快捷键 | 描述  | 注释  |\n| --- | --- | --- |\n| 开头的 `#` | 内存快捷键 - 添加到 CLAUDE.md | 提示文件选择 |\n| 开头的 `/` | 斜杠命令 | 参见[斜杠命令](https://docs.anthropic.com/zh-CN/docs/claude-code/slash-commands) |\n| 开头的 `!` | Bash 模式 | 直接运行命令并将执行输出添加到会话中 |\n<!--rehype:className=left-align shortcuts-->\n\nVim 编辑器模式\n---\n\n### 模式切换\n\n| 命令  | 操作  | 从模式 |\n| --- | --- | --- |\n| `Esc` | 进入 NORMAL 模式 | INSERT |\n| `i` | 在光标前插入 | NORMAL |\n| `I` | 在行首插入 | NORMAL |\n| `a` | 在光标后插入 | NORMAL |\n| `A` | 在行尾插入 | NORMAL |\n| `o` | 在下方打开新行 | NORMAL |\n| `O` | 在上方打开新行 | NORMAL |\n\n### 导航（NORMAL 模式）\n\n| 命令  | 操作  |\n| --- | --- |\n| `h`/`j`/`k`/`l` | 向左/下/上/右移动 |\n| `w` | 下一个单词 |\n| `e` | 单词末尾 |\n| `b` | 上一个单词 |\n| `0` | 行首  |\n| `$` | 行尾  |\n| `^` | 第一个非空白字符 |\n| `gg` | 输入开头 |\n| `G` | 输入末尾 |\n\n### 编辑（NORMAL 模式）\n\n| 命令  | 操作  |\n| --- | --- |\n| `x` | 删除字符 |\n| `dd` | 删除行 |\n| `D` | 删除到行尾 |\n| `dw`/`de`/`db` | 删除单词/到末尾/向后 |\n| `cc` | 更改行 |\n| `C` | 更改到行尾 |\n| `cw`/`ce`/`cb` | 更改单词/到末尾/向后 |\n| `.` | 重复上次更改 |\n\nHooks 参考\n---\n\n### 配置\n\n* `~/.claude/settings.json` 用户设置\n* `.claude/settings.json` 项目设置\n* `.claude/settings.local.json` 本地项目设置（不提交）\n* 企业管理策略设置\n\n### 结构\n<!--rehype:wrap-class=col-span-2 row-span-2-->\n\n```json\n{\n    \"hooks\": {\n        \"EventName\": [\n            {\n                \"matcher\": \"ToolPattern\",\n                \"hooks\": [\n                    { \"type\": \"command\", \"command\": \"your-command-here\" }\n                ]\n            }\n        ]\n    }\n}\n```\n\n#### <pur>matcher</pur> 匹配工具名称的模式，区分大小写（仅适用于 `PreToolUse` 和 `PostToolUse`）\n\n* 简单字符串精确匹配：`Write` 仅匹配 Write 工具\n* 支持正则表达式：`Edit|Write` 或 `Notebook.*`\n* 使用 `*` 匹配所有工具。您也可以使用空字符串（`\"\"`）或留空 `matcher`。\n\n#### <pur>hooks</pur> 当模式匹配时要执行的命令数组\n\n* `type`：目前仅支持 `\"command\"`\n* `command`：要执行的 bash 命令（可以使用 `$CLAUDE_PROJECT_DIR` 环境变量）\n* `timeout`：（可选）命令应该运行多长时间（以秒为单位），在取消该特定命令之前。\n\n### 项目特定的 Hook 脚本\n\n```json {9}\n{\n  \"hooks\": {\n    \"PostToolUse\": [\n      {\n        \"matcher\": \"Write|Edit\",\n        \"hooks\": [\n{\n    \"type\": \"command\",\n    \"command\": \"$CLAUDE_PROJECT_DIR/.claude/hooks/check-style.sh\"\n}\n        ]\n      }\n    ]\n  }\n}\n```\n\n可通过环境变量 `CLAUDE_PROJECT_DIR` 引用项目中的脚本，确保无论 Claude 当前目录如何都能正常使用（仅在生成 hook 命令时可用）\n\nHook 事件\n---\n\n### PreToolUse\n\n#### 常见匹配器\n\n* `Task` - 子代理任务（参见[子代理文档](https://docs.anthropic.com/zh-CN/docs/claude-code/sub-agents)）\n* `Bash` - Shell 命令\n* `Glob` - 文件模式匹配\n* `Grep` - 内容搜索\n* `Read` - 文件读取\n* `Edit`、`MultiEdit` - 文件编辑\n* `Write` - 文件写入\n* `WebFetch`、`WebSearch` - Web 操作\n\n在 Claude 创建工具参数之后、处理工具调用之前运行。\n\n### 其它 Hook\n\nHook | 描述\n--- | ---\n`PostToolUse` | 在工具成功完成后立即运行。\n`UserPromptSubmit` | 当用户提交提示时、Claude 处理之前运行。这允许您根据提示/对话添加额外的上下文、验证提示或阻止某些类型的提示。\n`Stop` | 当主 Claude Code 代理完成响应时运行。如果停止是由于用户中断而发生的，则不会运行。\n`SubagentStop` | 当 Claude Code 子代理（Task 工具调用）完成响应时运行。\n<!--rehype:className=style-list-arrow square-->\n\n### Notification\n\n当 Claude Code 发送通知时运行。通知在以下情况下发送：\n\nHook | 描述\n--- | ---\nClaude 需要您的权限来使用工具。 | 示例：“Claude needs your permission to use Bash”\n提示输入已空闲至少 `60` 秒。 | “Claude is waiting for your input”\n<!--rehype:className=style-list-arrow square-->\n\n### ​PreCompact\n\n在 Claude Code 即将运行压缩操作之前运行。\n\n#### 匹配器\n<!--rehype:style=text-align:left;-->\n\nHook | 描述\n--- | ---\n`manual` | 从 `/compact` 调用\n`auto` | 从自动压缩调用（由于上下文窗口已满）\n<!--rehype:className=style-list-arrow square-->\n\n### SessionStart\n\n当 Claude Code 启动新会话或恢复现有会话时运行（目前确实会在底层启动新会话）\n\n#### 匹配器\n<!--rehype:style=text-align:left;-->\n\n* `startup` - 从启动调用\n* `resume` - 从 `--resume`、`--continue` 或 `/resume` 调用\n* `clear` - 从 `/clear` 调用\n* `compact` - 从自动或手动压缩调用。\n\n对于加载开发上下文（如现有问题或代码库的最近更改）很有用。\n\n### SessionEnd\n\n#### hook 输入中的 reason 字段将是以下之一\n<!--rehype:style=text-align:left;-->\n\n* `clear` - 使用 /clear 命令清除会话\n* `logout` - 用户注销\n* `prompt_input_exit` - 用户在提示输入可见时退出\n* `other` - 其他退出原因\n\n当 Claude Code 会话结束时运行。对于清理任务、记录会话统计信息或保存会话状态很有用。\n\nHook 输入\n---\n\n### 示例\n\nHooks 通过 `stdin` 接收包含会话信息和事件特定数据的 JSON 数据：\n\n```json\n{\n  // 通用字段\n  session_id: string\n  // 对话 JSON 的路径\n  transcript_path: string  \n  // 调用 hook 时的当前工作目录\n  cwd: string              \n\n  // 事件特定字段\n  hook_event_name: string\n  ...\n}\n```\n\n### PreToolUse 输入\n\n`tool_input` 的确切模式取决于工具。\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"PreToolUse\",\n  \"tool_name\": \"Write\",\n  \"tool_input\": {\n    \"file_path\": \"/path/to/file.txt\",\n    \"content\": \"file content\"\n  }\n}\n```\n\n### PostToolUse 输入\n\n`tool_input` 和 `tool_response` 的确切模式取决于工具。\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"PostToolUse\",\n  \"tool_name\": \"Write\",\n  \"tool_input\": {\n    \"file_path\": \"/path/to/file.txt\",\n    \"content\": \"file content\"\n  },\n  \"tool_response\": {\n    \"filePath\": \"/path/to/file.txt\",\n    \"success\": true\n  }\n}\n```\n\n### Notification 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"Notification\",\n  \"message\": \"Task completed successfully\"\n}\n```\n\n### UserPromptSubmit 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"UserPromptSubmit\",\n  \"prompt\": \"Write a function to calculate the factorial of a number\"\n}\n```\n\n### Stop 和 SubagentStop 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"Stop\",\n  \"stop_hook_active\": true\n}\n```\n\n当 Claude Code 已经因为 `stop hook` 而继续时，`stop_hook_active` 为 `true`。检查此值或处理记录以防止 Claude Code 无限运行。\n\n### PreCompact 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"PreCompact\",\n  \"trigger\": \"manual\",\n  \"custom_instructions\": \"\"\n}\n```\n\n对于 `manual`，`custom_instructions` 来自用户传递给 `/compact` 的内容。对于 `auto`，`custom_instructions` 为空。\n\n### SessionStart 输入\n\n```json {4}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"hook_event_name\": \"SessionStart\",\n  \"source\": \"startup\"\n}\n```\n\n### SessionEnd 输入\n\n```json {5}\n{\n  \"session_id\": \"abc123\",\n  \"transcript_path\": \"~/.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl\",\n  \"cwd\": \"/Users/...\",\n  \"hook_event_name\": \"SessionEnd\",\n  \"reason\": \"exit\"\n}\n```\n\n另见\n----\n\n* [Claude 代码参考](https://docs.anthropic.com/zh-CN/docs/claude-code/cli-reference) _(docs.anthropic.com)_\n* [送你一张Claude Code速查表](https://mp.weixin.qq.com/s/LbQbzvXh49Qo22nArTv4Og) _(weixin.qq.com)_\n</yakaai_skills>"}