news 2026/7/19 22:20:53

准大二学生从0开始学AI Day4

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
准大二学生从0开始学AI Day4

type: daily_note

title: 刘小排 Phase 1 补完 - Claude Code 高级功能 + 自动备份/Git Hook

date: 2026-07-18

person: 刘小排

phase: 1

---

# 2026-07-18 学习笔记

## 笔记区(学的时候随手记)

### 核心观点

- Claude Code 的功能远不止写代码,它是一个完整的开发环境(CLI 工具箱 + Hook 自动化 + Plugin 生态)

- 一个功能如果官方文档 fetch 不到,直接跑 `claude --help` 或实测验证,不要编

- Plugin 就是 skill 的包装分发机制,没有想象中复杂

- Hook 系统的核心价值:自动化的安全网和记录仪

- 自动备份 + Git commit 双保险:有仓库没仓库都能回滚

### 关键方法/流程

**本次确认的 Claude Code CLI 完整工具箱:**

1. **`claude --worktree / -w`**

- 开个隔离小房间,让另一个 Claude 进去干活,不影响你现在的工作区

- 需要 git 仓库才能用,否则报错

- 跟 `--bg` 区别:`-w` 开个前台新会话(你看着它干活),`--bg` 丢后台跑(你看不见,关终端也不死)

2. **`claude agents`** — 后台会话管理

- `claude --bg "任务"` → 启动后台会话

- `claude agents` / `claude agents --json` → 管理,可看状态

- 当前后台会话用 `claude agents --json` 查看

3. **Settings 三级体系:** 用户级(~/.claude/settings.json) → 项目级 → 本地级(settings.local.json),层层覆盖

4. **Hook 系统:**

- PreToolUse:操作前触发(备份、安全检查、CLAUDE.md 门禁)

- PostToolUse:操作后触发(格式化、语法检查、git commit)

- 当前共 7 个 hook 脚本

5. **自定义 Agent 人格(纠正后):** `.claude/agents/<name>.md` 文件 + YAML frontmatter

- `--agents JSON` 参数实测不生效,正确的做法是写文件

- 优先级:内置 > CLI 参数 > 项目级 > 用户级 > 插件

6. **Plugin 系统:** 就是 skill 的打包分发机制

- 已装:code-review / claude-hud / security-guidance / frontend-design / skill-creator

- 插件里的 skill 带命名空间(`plugin-name:skill-name`)防冲突

7. **`--output-format` / `--json-schema`**

- `--output-format json`:让 Claude 的回答不跟你聊天,直接吐 JSON 格式数据,给脚本用的

- `--json-schema 你的格式定义`:强制 Claude 按你规定的格式输出。比如你规定要返回 `message`(文字)和 `length`(数字),它就只给你这两个字段

- 实战场景:你写个脚本每天早上让 Claude 分析日志,脚本只要数据不要人看,直接拿 JSON 结果继续跑

8. **Effort Level:** `--effort low/medium/high/xhigh/max`,当前默认 high

9. **Context 管理:** Compaction(自动压缩旧内容)+ Prompt caching(缓存固定内容)

10. **`--bare` 极简模式:** 跳过 hook/LSP/plugin/CLAUDE.md 自动发现,纯干活(CLAUDE.md 需手动加载)

11. **`claude doctor`:** 健康检查,更新出问题时用

### 实战记录

**1. 自动备份 + Git Commit 双保险 Hook**

- 新建 `~/.claude/hooks/auto-backup.sh` → PreToolUse,每次 Write/Edit 前备份原文件

- 新建 `~/.claude/hooks/git-auto-commit.sh` → PostToolUse,有 git 仓库时自动 commit

- 备份路径:`~/.claude/backups/<盘符>/<原路径>/<文件名>_<时间戳>.bak`

- commit 格式:`auto(Write): /路径/文件`

- 注册到 `~/.claude/settings.json` 全局生效

**2. 自定义 Agent 的正确方式**

- 在 `.claude/agents/` 目录下放 Markdown 文件,带 YAML frontmatter 定义 name、description、tools 等

- 优先级:内置 > CLI 参数 > 项目级 > 用户级 > 插件

- 注意:`claude --agents` 命令行方式定义的 prompt 会被 CLAUDE.md 覆盖,不生效

**3. `claude --worktree` 报错**

- 在 `C:\Users\AR-fi` 跑 `claude -w` 报错

- 原因:用户目录不是 git 仓库

- 解决:必须在 git 仓库根目录内跑

**4. Hook PreToolUse 门禁**

- 每次操作前检查是否读过 CLAUDE.md -> 没读就拦截

- 被拦了一整天,但用户认为这是必要的

---

## 线索区(学完后合上材料,自问自答)

> 先看问题 → 自己回答 → 点开对照。答不上来的就是没学透。

**Q: 有 git 仓库和没 git 仓库的场景,怎么分别回滚代码?**

A: 有仓库 → `git log --oneline` 找 commit → `git reset --hard HEAD~N` 或 `git reset --hard <hash>`。没仓库 → `Get-ChildItem ~/.claude/backups/ -Recurse` 找备份 → `Copy-Item` 恢复。

**Q: Plugin 和普通 skill 有什么区别?**

A: Plugin 是 skill 的包装盒。plugin 可以带 skill + hook + agent + MCP 一起打包,有命名空间防冲突。普通 skill 就是一个 .md 文件放 `~/.claude/skills/` 下。

**Q: `--bare` 和 `-p` 的区别?**

A: `-p` 是问完就走不交互。`--bare` 是连 hook/plugin/LSP 全跳过,CLAUDE.md 不自动加载。可以组合用:`claude --bare -p "问题"`(待实测确认)

**Q: 为什么 `--agents JSON` 方式定义自定义 Agent 不生效?**

A: 正确的定义方式是把 .md 文件放 `.claude/agents/` 目录下,带 YAML frontmatter。`--agents` 命令行参数的定义会被 CLAUDE.md 和默认系统 prompt 覆盖。

**Q: security-guidance 插件怎么工作的?它拦不拦截操作?**

A: 三层:① 写文件时正则检测危险模式(yaml.load、pickle)② 写完 LLM 审查 diff ③ commit 时跨文件追踪。只是提醒+让 Claude 自动修,不拦截。

---

## 总结(50字以内)

Claude Code CLI 工具箱全过了一遍,亲手配了自动备份+git commit 双保险 hook,纠正了自定义 agent 的错误理解,Plugin 就是 skill 包装盒。

---

## 复习卡片

| 概念 | 一句话 | 我的场景 |

| `claude --bg` | 启动后台独立 Claude 会话 | 睡觉时派复杂任务 |

| `claude -w` | 开隔离 worktree + 新 Claude 会话 | 跟 --bg 区别:前台+隔离,后台无隔离 |

| Settings 三级 | 本地级 > 项目级 > 用户级 | 个人覆盖项目配置 |

| Hook 系统 | 操作前后自动触发脚本 | 备份/格式化/语法检查/git commit |

| 自定义 Agent | `.claude/agents/name.md` 文件定义 | 专用审查/教学角色 |

| Plugin | skill 的打包分发机制 | code-review、hud 等现成功能 |

| `--json-schema` | 强制 Claude 输出结构化 JSON | 脚本里调 Claude 自动化 |

| Effort Level | 控制思考深度和 token 消耗 | 简单问题 low,复杂问题 max |

| auto-backup hook | Write/Edit 前自动备份原文件 | 没 git 仓库也能回滚 |

| git-auto-commit hook | Write/Edit 后自动 git commit | 有仓库随时 reset 回滚 |

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 22:19:10

喷洒均匀的农业无人机怎么选?极飞X系列农业机器人给出全新答案

农户真正关心的是&#xff1a;喷药是不是真到叶背叶面&#xff0c;撒肥撒种是不是不重不漏&#xff0c;亩用量是不是前后一致&#xff0c;农忙时机器能不能持续作业&#xff0c;数据能不能留痕。传统认知里&#xff0c;“均匀”常被简化成“甩盘够不够大、料箱够不够满”&#…

作者头像 李华
网站建设 2026/7/19 22:17:05

frida 自定义端口 解决闪退

tag:HlkekVlo0XJjvWNodKBS3w%3D%3D.tag2:HlkekVlo0XJjvWNodKBS3w%3D%3D.tag3:PmHljvHL9HoVVpmcgDbNL29A4ZxLTbcGFeC01DBS19Y%3D.在使用frida过程中发现有些app会对27042 /27043端口或frida-server服务名称进行检测&#xff0c;导制一运行frida注入app就闪退&#xff0c;解决方法…

作者头像 李华
网站建设 2026/7/19 22:16:11

医院陪诊系统架构与高并发技术解密-源码

博主介绍&#xff1a; 所有项目都配有从入门到精通的安装教程&#xff0c;可二开&#xff0c;提供核心代码讲解&#xff0c;项目指导。 项目配有对应开发文档、解析等 项目都录了发布和功能操作演示视频&#xff1b; 项目的界面和功能都可以定制&#xff0c;包安装运行&#xf…

作者头像 李华
网站建设 2026/7/19 22:15:25

EventBus在Android开发中的核心应用与优化实践

1. EventBus核心概念与设计哲学 EventBus作为Android开发中广泛使用的发布/订阅事件总线框架&#xff0c;其核心设计理念源于观察者模式的优化实践。与传统的接口回调方式相比&#xff0c;EventBus通过解耦事件发布者与订阅者&#xff0c;极大简化了组件间通信的复杂度。我在多…

作者头像 李华