SONUB
ZH English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

如何开启通知

此浏览器或网址无法使用通知。请使用支持通知的浏览器,通过安全连接访问SONUB。

如果通知被屏蔽,请在浏览器设置中允许通知。

  1. 打开地址栏旁的站点设置或浏览器的站点设置,将此网站的通知设为允许。
  2. 在设备设置中允许浏览器发送通知,并检查勿扰模式或专注模式。
  3. 返回SONUB,刷新页面,然后通过铃铛开启通知。

在iPhone或iPad上,将SONUB添加到主屏幕,从主屏幕打开后允许通知。

Anthropic

Claude Code — 在终端中工作的 Anthropic 编程智能体

在项目文件夹里输入 claude 就能启动。它会阅读你的,回答关于代码的问题,修改文件,并运行命令来测试自己的工作。本页介绍安装和第一次运行,并链接到 课程中更深入的章节。

高级 — 扩展它:技能、子智能体、钩子、MCP、无界面运行

用技能教它重复的工作,把大任务交给,用钩子强制执行必须遵守的规则,用 连接外部工具,再用 claude -p 把无人值守的工作放进脚本。

智能体技能 — 教它你重复做的工作

技能就是一个装有 SKILL.md 的文件夹。平时 Claude 只知道每个技能的名称和说明;当工作符合说明时,它才会读取正文并照着做。所以技能再多也几乎不占空间。以前的自定义命令(.claude/commands/)现在已经合并进技能。

  • .claude/skills/<名称>/SKILL.md 用于这个项目,~/.claude/skills/<名称>/SKILL.md 用于你的所有项目。
  • 在 description 里清楚写明它做什么、什么时候用,Claude 就会自己选中它。
  • 也可以用 /<技能名称> 直接调用,/skills 会显示列表。
  • 把脚本和参考文档放在同一个文件夹里,并在 SKILL.md 中指向它们。SKILL.md 保持简短,少于 500 行。
.claude/skills/release-notes/SKILL.md
---
name: release-notes
description: Write release notes from the git log. Use when the user asks for release notes, a changelog or "what changed since the last tag".
---

# Release notes

1. Find the last tag: `git describe --tags --abbrev=0`
2. Read the commits since then: `git log <tag>..HEAD --oneline`
3. Group them under Added / Fixed / Changed.
4. Write plain sentences a user can understand. Skip internal refactors.

技能是开放标准 — 但 Claude Code 有自己的做法

技能最早由开发 Claude 的公司 Anthropic 创建并免费公开。如今它是一个名为 Agent Skills 的开放标准,由 agentskills.io 管理。Codex、Cursor、Gemini CLI、GitHub Copilot 等许多 工具都读取同样的 SKILL.md 文件夹。

不过要注意:标准只规定技能文件夹里放什么。去哪里找技能、名称冲突时用哪一个,都由各个工具自己决定,而 Claude Code 的做法和 agentskills.io 推荐的不同。所以在别的工具里好用的技能,在 Claude Code 里可能表现不同。

  • 文件夹:agentskills.io 推荐许多工具共用的 .agents/skills/,但 Claude Code 读取的是 .claude/skills/(项目)和 ~/.claude/skills/(个人),不读取 .agents/skills/。
  • 同名时:标准的通用规则是项目技能优先于个人技能。Claude Code 正好相反 — 企业(enterprise)优先于个人,个人(~/.claude/skills/)优先于项目。
  • 上级和下级文件夹:标准没有规定。Claude Code 读取你启动时所在的文件夹,以及往上直到 git 仓库根目录的每一级上级文件夹;下级文件夹只有在它到那里工作时才读取(见下一节)。
  • frontmatter:标准有六个字段 — name、description、license、compatibility、metadata 和 allowed-tools。Claude Code 另外加了 disable-model-invocation、context: fork、paths 等字段。其他工具会忽略它们,而 claude.ai 上传和 Skills API 会报错停止。

要和其他 AI 工具共用的技能,frontmatter 只写六个标准字段。这样在 Claude Code 和其他工具里都能原样加载,不用修改。

Claude Code 在哪里找技能 — 当前文件夹和上级文件夹一起

如果你所在的文件夹有 .claude/skills 文件夹,上级文件夹也有,Claude Code 会把两边的技能一起使用。往上最多只到 根目录。

  • 它读取你启动 claude 的文件夹,以及往上直到仓库根目录的每一级上级文件夹里的 .claude/skills/。即使在 apps/web/ 启动,根目录的技能也能用。
  • 仓库根目录之上的 .claude/skills/ 不会被读取。所有项目都要用的技能请放在 ~/.claude/skills/。在 git worktree 中,只往上到 worktree 的根目录。
  • 启动位置之下的文件夹里的技能,一开始不会读取。Claude 第一次读取或修改该文件夹中的文件时才加载,并一直保留到会话结束 — 在那之前,它们不会出现在 / 菜单里。想提前加载,就用 /add-dir 加上那个文件夹。
  • 如果根目录和 apps/web/ 都有名为 deploy 的技能,两个都能用:/deploy 运行根目录的,/apps/web:deploy 运行下级文件夹的。Claude 会被告知使用它正在处理的文件所在文件夹的技能。
  • 插件技能是分开的,用 /<插件名>:<技能名> 调用,所以永远不会和你的技能冲突。
Run claude in apps/web/
~/projects/                    ← above the repository root
├── .claude/skills/            ← not loaded (put shared skills in ~/.claude/skills/)
└── repo/                      ← git repository root
    ├── .claude/skills/        ← loaded
    └── apps/web/              ← run claude here
        ├── .claude/skills/    ← loaded (used together with the root)
        └── src/
            └── .claude/skills/  ← not at start — loads when Claude first reads or edits a file in src/
Same name in two folders (claude started at the repository root)
repo/
├── .claude/skills/deploy/SKILL.md            → /deploy
└── apps/web/.claude/skills/deploy/SKILL.md   → /apps/web:deploy

运行 /skills 可以查看现在加载了哪些技能。上下级文件夹里技能很多时,最少用的技能的说明会最先被截断,所以要不时用 /skill-doctor 检查一下。

子智能体 — 把部分工作交出去

子智能体是拥有自己的、指令和工具的助手。把大规模的搜索或审查交给它:无论它读了多少文件,回到主对话的只有结果,主对话因此保持干净。

  • .claude/agents/<名称>.md 用于项目(提交后与团队共享),~/.claude/agents/ 只给你自己用。只有 name 和 description 是必需的。
  • 用 tools 限制它能使用的工具会更安全 — 让审查者只能读取。
  • 可以这样调用:“用 code-reviewer 子智能体审查这次改动”,或者当 description 符合时,Claude 会自己把工作交给它。
  • 要创建新的子智能体,可以请 Claude 帮你创建,或者自己在上面的文件夹里写文件。Explore、Plan 等内置子智能体一开始就有。
.claude/agents/code-reviewer.md
---
name: code-reviewer
description: Reviews code changes for bugs, security problems and missing tests. Use after writing or changing code.
tools: Read, Grep, Glob, Bash
model: sonnet
---

You are a careful senior reviewer.
Run `git diff` to see the changes, then report:
1. Bugs (with file and line)
2. Security problems
3. Missing tests
Do not edit files.

钩子 — 在设定的时机必定运行的命令

CLAUDE.md 是一种请求,有时可能会被忘记,而钩子是 Claude Code 在设定的时机必定运行的 命令。可以用钩子在编辑文件后运行格式化工具、挡住危险命令或对机密文件的编辑,以及在工作完成时收到通知。

  • PreToolUse — 使用工具之前(可以阻止它),PostToolUse — 使用工具之后
  • UserPromptSubmit — 你发送请求时,Stop — Claude 回答完毕时,SessionStart — 会话开始时,Notification — 需要你注意时
  • matcher 选择钩子作用于哪些工具(比如 Edit|Write、Bash)。
  • 如果钩子命令以退出码 2 结束,该操作会被阻止,写到 stderr 的原因会传给 Claude。
  • /hooks 显示已设置的钩子。上面的例子会用 Prettier 整理每个被编辑的文件(需要 jq)。
.claude/settings.json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
          }
        ]
      }
    ]
  }
}

钩子以你的权限在你的电脑上运行。别人写的钩子,要先读懂它的命令再添加。

MCP — 连接外部工具

MCP(Model Context Protocol)是让 AI 工具使用外部服务(问题跟踪、、、文档工具)的开放标准。添加一个 MCP 后,Claude 就能使用该服务器提供的工具。

  • claude mcp add --transport http <名称> <url> — 添加互联网上的远程服务器。
  • claude mcp add <名称> -- <命令> — 添加在你电脑上运行的服务器(stdio)。-- 后面的所有内容都会原样传给服务器。
  • 用 --scope project 添加时,它会保存在仓库顶层的 .mcp.json 里并与团队共享(第一次使用时会请求批准)。
  • /mcp 显示连接状态并进行登录(OAuth)。claude mcp list 显示列表。
Terminal
# A remote server (HTTP)
claude mcp add --transport http notion https://mcp.notion.com/mcp

# A server that runs on your computer (stdio)
claude mcp add playwright -- npx @playwright/mcp@latest

# Share it with the team — saved in .mcp.json
claude mcp add --scope project playwright -- npx @playwright/mcp@latest

claude mcp list

只添加你信任的 MCP 服务器。获取外部文字的服务器,可能会把藏在文字里的指令带进来(提示注入)。

无界面运行 — 不用聊天界面的脚本

claude -p "…" 不打开聊天界面运行一次,输出结果后退出。可以把 Claude 当作积木,用在 shell 脚本、cron 和 中。

  • 通过管道传入输入(cat error.log | claude -p "…")。
  • --output-format json 以 JSON 给出结果、会话 id 和费用;stream-json 会逐行发送进度。
  • --allowedTools 设置这次运行允许的工具,--max-turns 设置最多的轮数。
  • claude -p --continue 继续上一次运行,--resume <会话 id> 继续那个会话。
Terminal
# One question, one answer
claude -p "Explain what src/auth.ts does in 5 lines"

# Pipe input in
cat build-error.log | claude -p "Find the cause and suggest a fix"

# JSON output for scripts (result, session_id, total_cost_usd)
claude -p "List the TODO comments in src/" --output-format json

# Limit what it may do and how long it runs
claude -p "Run the tests and fix failures" \
  --allowedTools "Read,Edit,Bash(npm test *)" --max-turns 10

在脚本里,--bare 不读取 CLAUDE.md、钩子、插件和 MCP,启动很快(官方文档说它将成为 -p 的默认行为)。如果需要项目指令,就不要加它。

高级练习

  1. 把一件常做的工作(发布说明、提交信息)做成 .claude/skills/ 里的技能,并用 /skill-name 调用。
  2. 做一个只读的 code-reviewer 子智能体,让它审查你当前的改动。
  3. 用 PostToolUse 钩子,让每次编辑文件时都运行格式化工具或 linter。
  4. 添加一个 MCP 服务器,用 /mcp 检查连接。
  5. 写一个用 claude -p 总结错误日志的单行 shell 脚本。

五项都做完了?进入 [大师] 标签。

官方文档

已于 2026-10-18 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。

学习指南

人工智能

AI证书

学习

Vibe 编程

游戏开发

练习

老师

聊天

论坛

创作

社区

更多

术语词典

选一个你不认识的词吧,可以看到简单的解释和相关术语。

还没有匹配的术语。

选择一个术语即可查看解释。