Claude Code 是 Anthropic 推出的一款命令行编码代理,能够读取你的代码库、编辑文件、运行命令,并在后端连接 LLM API。本指南涵盖了完整的 CLI 文档:如何设置、有哪些可用标志和斜杠命令、如何编写自定义斜杠命令,以及如何将其 API 调用路由到 Novita AI 而非默认的 Anthropic 端点。
什么是 Claude Code?
Claude Code 是一款代理式编码工具,提供 CLI、VS Code 扩展、JetBrains 插件、桌面应用和浏览器界面。所有界面共享相同的底层引擎:Claude Code 连接到 LLM API 后端,读取你的项目,并执行多步骤任务,如编写测试、跨文件重构、创建拉取请求和管理 Git。
CLI 是最灵活的界面。它遵循 Unix 惯例——你可以将日志管道输入其中,使用 -p 标志在 CI 中运行,或与其他工具串联。配置存储在文件(CLAUDE.md、.claude/settings.json、环境变量)中,因此在自动化场景中行为可预测。
在底层,Claude Code 将每个请求发送至兼容 Anthropic 的 API 端点。默认端点是 api.anthropic.com,但你可以通过一个环境变量将其重定向到任意兼容 Anthropic 的提供商——包括 Novita AI。
Claude Code 设置
安装
在 macOS、Linux 和 WSL 上,推荐使用原生安装程序:
curl -fsSL https://claude.ai/install.sh | bash
在 Windows PowerShell 上:
irm https://claude.ai/install.ps1 | iex
原生安装会在后台自动更新。
如果你更倾向于 npm,需要 Node.js 18 或更高版本:
node --version # 必须为 18 或更高
npm install -g @anthropic-ai/claude-code
Homebrew(macOS)跟踪稳定版本发布通道:
brew install --cask claude-code
Homebrew 不会自动更新。运行 brew upgrade claude-code 以获取最新版本。
首次运行
导航到项目目录并启动交互式会话:
cd your-project
claude
首次使用时,Claude Code 会提示你登录。身份验证后,它会读取你的项目并等待指令。
项目设置
在新仓库中运行 /init 以生成初始 CLAUDE.md 文件。Claude Code 在每次会话开始时都会读取 CLAUDE.md,因此这是放置编码规范、首选库、架构说明和审查清单的正确位置。
/init
在 /init 之后,使用 /memory 编辑该文件或启用自动记忆功能,该功能可保存 Claude 在会话间对项目所做的观察。
CLI 命令参考
Claude Code 的顶层 Shell 命令用于启动会话、管理身份验证和处理后台工作。以下是部分最有用的命令:
| 命令 | 描述 |
|---|---|
claude |
在当前目录启动交互式会话 |
claude "query" |
使用初始提示启动会话 |
claude -p "query" |
运行查询后退出(非交互式 / SDK 模式) |
cat file | claude -p "query" |
将内容通过管道输入查询 |
claude -c |
继续当前目录中最近的会话 |
claude -r "name" "query" |
通过名称或 ID 恢复会话 |
claude update |
更新到最新版本 |
claude install stable |
安装或重新安装特定版本 |
claude auth login |
登录你的 Anthropic 账户 |
claude auth login --console |
使用 API 密钥计费(而非订阅)登录 |
claude auth status |
显示身份验证状态 |
claude agents --json |
打开代理视图,以 JSON 格式打印活动会话 |
claude mcp |
配置 MCP 服务器 |
claude daemon status |
检查后台会话监管器状态 |
如果你输错了子命令,Claude Code 会提示最接近的匹配项:claude udpate 会输出 Did you mean claude update?。
CLI 标志参考
标志用于修改 Claude Code 在会话中的行为。在任意调用中,将它们放在 claude 之后。以下是部分最常用的标志:
| 标志 | 作用 |
|---|---|
-p, --print |
非交互式模式;打印响应后退出 |
-c, --continue |
载入最近的对话 |
-r, --resume |
通过 ID 或名称恢复会话 |
--model |
设置本次会话使用的模型(sonnet、opus、haiku 或完整模型 ID) |
--permission-mode |
以某种权限模式启动:default、plan、auto、acceptEdits、bypassPermissions |
--add-dir |
授予对额外目录的文件访问权限 |
--system-prompt |
完全替换系统提示 |
--append-system-prompt |
追加到默认系统提示之后 |
--max-turns |
限制 -p 模式下的代理轮次 |
--max-budget-usd |
限制 -p 模式下的 API 支出 |
--output-format |
-p 模式的输出格式:text、json、stream-json |
--bg |
作为后台代理启动,立即返回 |
--worktree, -w |
在隔离的 Git 工作树中启动 |
--bare |
跳过钩子、技能、插件、MCP 的自动发现,以加快脚本调用速度 |
--verbose |
显示完整的逐轮输出 |
--mcp-config |
从 JSON 文件加载 MCP 服务器 |
--effort |
设置推理努力程度:low、medium、high、xhigh、max |
--print + --output-format json 组合是脚本调用的标准模式。对于有预算限制的 CI 管道,可结合使用 --max-budget-usd 和 --max-turns。
斜杠命令文档
斜杠命令在活动会话内部运行。输入 / 可查看所有可用命令,或输入 / 后跟字母进行筛选。命令仅在消息开头起作用。
会话和上下文管理
| 命令 | 用途 |
|---|---|
/clear |
开始新对话;之前的会话保留在 /resume 中 |
/compact |
总结对话以释放上下文窗口空间 |
/context |
可视化上下文使用情况并查看优化建议 |
/resume |
通过名称或选择器重新打开之前的会话 |
/branch |
分支对话以尝试不同方向 |
/rewind |
将代码和对话回滚到检查点 |
项目设置
| 命令 | 用途 |
|---|---|
/init |
为项目生成初始 CLAUDE.md |
/memory |
编辑 CLAUDE.md 文件并管理自动记忆 |
/mcp |
以交互方式管理 MCP 服务器连接 |
/agents |
配置子代理设置 |
/permissions |
设置工具的允许、询问和拒绝规则 |
/hooks |
查看钩子配置 |
开发工作流
| 命令 | 用途 |
|---|---|
/plan |
在重大更改前进入计划模式 |
/model |
切换活动模型 |
/effort |
调整推理努力级别 |
/diff |
打开交互式差异查看器 |
/code-review [--fix] |
审查当前差异;--fix 应用发现的问题 |
/security-review |
对未决更改进行深度安全扫描 |
/batch <instruction> |
分解大型更改并在并行工作树中运行 |
/background |
分离会话,使其作为后台代理运行 |
工具
| 命令 | 用途 |
|---|---|
/help |
显示可用命令 |
/doctor |
诊断安装和设置问题 |
/usage |
显示会话成本和计划用量 |
/export |
将对话导出为纯文本 |
/config |
打开设置或直接设置值:/config thinking=false |
/skills |
列出可用技能 |
自定义斜杠命令
自定义斜杠命令 —— 现称为技能 —— 允许你将可重复的过程打包,供团队共享。
如何创建自定义命令
在 .claude/skills/(项目级别)或 ~/.claude/skills/(个人级别,所有项目可用)下创建一个目录:
mkdir -p .claude/skills/review-pr
在该目录中创建 SKILL.md 文件:
---
description: 审查打开的 GitHub PR 是否存在安全问题及测试覆盖率缺口。当用户要求审查 PR 或检查 PR 质量时使用。
---
## 说明
按照以下优先级审查拉取请求:
1. 识别任何安全漏洞:注入风险、身份验证漏洞、数据泄露。
2. 检查新代码路径的测试覆盖情况。
3. 标记系统边界处缺失的错误处理。
将发现结果分为三部分总结:安全、覆盖、其他。对通过的检查使用 ✓,对问题使用 ⚠。
这将创建一个 /review-pr 命令,你可以直接调用:
/review-pr
Claude 还会在你表达与描述匹配的请求时自动加载该技能。
技能位置和优先级
技能遵循优先级顺序:企业级覆盖个人级,个人级覆盖项目级。项目技能位于 .claude/skills/。个人技能(在你所有项目中可用)位于 ~/.claude/skills/。
~/.claude/skills/ → 个人,所有项目
.claude/skills/ → 仅此项目
.claude/commands/ 中的自定义命令仍然有效。文件 .claude/commands/deploy.md 和技能 .claude/skills/deploy/SKILL.md 都会创建 /deploy 命令,行为相同。
动态上下文注入
技能可以在 Claude 看到提示之前注入实时数据。! 前缀用于运行 Shell 命令并内联其输出:
---
description: 总结未提交的更改并标记风险。
---
## 当前差异
!`git diff HEAD`
## 说明
用要点总结更改。标记任何风险:缺失的错误处理、硬编码值、未测试的路径。
运行此技能时,Claude Code 会执行 git diff HEAD 并将该行替换为实际的差异输出。Claude 将看到真实的工作树状态,而无需通过工具调用来请求它。
使用 Novita AI 作为 LLM 后端
Claude Code 通过 ANTHROPIC_BASE_URL 环境变量路由所有 API 流量。将其设置为 Novita AI 的 Anthropic 兼容端点,即可访问多种模型 —— 包括 DeepSeek、Kimi、Qwen 和 GLM 变体 —— 并且每 Token 成本远低于默认的 Anthropic 端点。
获取你的 Novita AI API 密钥
注册 Novita AI 账户 以获取免费试用积分。导航至 密钥管理页面,点击 创建新密钥,然后立即复制密钥。
设置环境变量
在 Mac 和 Linux 上:
export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="<Your Novita API Key>"
export ANTHROPIC_MODEL="deepseek/deepseek-v4-flash"
export ANTHROPIC_SMALL_FAST_MODEL="deepseek/deepseek-v4-flash"
在 Windows(命令提示符)上:
set ANTHROPIC_BASE_URL=https://api.novita.ai/anthropic
set ANTHROPIC_AUTH_TOKEN=<Your Novita API Key>
set ANTHROPIC_MODEL=deepseek/deepseek-v4-flash
set ANTHROPIC_SMALL_FAST_MODEL=deepseek/deepseek-v4-flash
若要在 Mac/Linux 上持久化这些设置,请将 export 行添加到 ~/.bashrc 或 ~/.zshrc。
ANTHROPIC_SMALL_FAST_MODEL 控制 Claude Code 在快速内部任务(如文件查找和快速摘要)中使用的轻量级模型。将其设置为相同的模型 ID 可将所有流量保留在同一计费账户上。
启动 Claude Code
设置环境变量后,正常启动 Claude Code:
cd your-project
claude
Claude Code 将连接到 Novita AI 的端点,并使用你指定的模型。交互式会话的工作方式完全相同 —— 无论使用哪个后端,所有 CLI 标志、斜杠命令和自定义技能的行为都保持一致。
对于脚本和 CI,同样适用:
cat logs.txt | claude -p "find any error patterns" --output-format json
Novita AI 的 LLM API 支持完整的 Anthropic 消息格式,包括工具使用、结构化输出和流式传输,因此 Claude Code 的所有功能无需修改即可使用。
用于隔离执行的 Agent Sandbox
如果你正在基于 Claude Code 构建自动化管道,Novita AI 的 Agent Sandbox 提供基于 Firecracker 的隔离执行环境,用于以编程方式运行代理。这对于 CI 工作流、后台代理以及任何需要执行隔离而非直接在开发机上运行的多代理设置非常有用。
作为 IDE 工具的 Claude Code
Claude Code 能够直接与编辑器集成,这就是人们所说的 “claude code is an ide” —— 它并非独立的 IDE,而是一个嵌入到现有环境中的编码代理。
VS Code 和 Cursor
从 VS Code Marketplace(搜索 “Claude Code”)或 Cursor marketplace 安装 Claude Code 扩展。安装后,打开命令面板(Cmd+Shift+P / Ctrl+Shift+P),键入 “Claude Code”,然后选择 在新标签页中打开。
VS Code 集成提供了内联差异审查、@-文件提及、编辑前的计划审查以及编辑器面板中的对话历史记录。你还可以在集成终端中与扩展一起使用 Claude Code。
JetBrains
从 JetBrains Marketplace 安装 Claude Code 插件,然后重启 IDE。该插件需要单独安装 CLI。它在 IntelliJ IDEA、PyCharm、WebStorm 以及其他 JetBrains IDE 中提供交互式差异查看和选择上下文共享。
桌面应用和 Web
Claude Code 桌面应用(macOS 和 Windows)允许你可视化审查差异、并排运行多个会话以及安排重复任务。Web 界面位于 claude.ai/code,可在浏览器中运行会话,无需本地设置,适用于你本地没有的仓库或启动可远程监控的长时间运行任务。
FAQ
什么是 ANTHROPIC_BASE_URL,为什么它很重要?
ANTHROPIC_BASE_URL 告诉 Claude Code 将请求发送到哪个 API 端点。默认值为 api.anthropic.com。将其设置为 https://api.novita.ai/anthropic 可将所有流量路由到 Novita AI 的 Anthropic 兼容端点,你可以在其中使用不同定价的替代模型。无需更改代码或安装插件 —— 只需设置环境变量。
CLI 标志和斜杠命令有什么区别?
CLI 标志(如 --model、--permission-mode、--max-turns)在从 Shell 启动 claude 二进制文件时设置。它们在会话开始前进行配置。斜杠命令(如 /model、/plan、/compact)在活动会话内部运行,并在对话中途更改行为。
我可以在没有 Claude 订阅的情况下使用 Claude Code 吗?
可以。claude auth login --console 会使用 Anthropic Console API 密钥计费(按 Token 付费)登录,而非订阅。如果你通过 ANTHROPIC_BASE_URL 路由到 Novita AI,则只需要 Novita AI 账户 —— 你的 Anthropic 账户不会被计费。
自定义斜杠命令与 CLAUDE.md 有何不同?
CLAUDE.md 的内容在每次会话开始时加载并始终保留在上下文中。技能(自定义命令)仅在调用时加载,因此冗长的参考材料不会产生 Token 成本,直到你实际需要它。将 CLAUDE.md 用于 Claude 应始终知道的项目事实 —— 编码规范、构建命令、架构说明。将技能用于按需运行的过程 —— PR 审查清单、部署步骤、测试生成工作流。
Claude Code 是否适用于 CI?
是的。使用 claude -p "query" --output-format json 进入非交互式模式并输出结构化结果。添加 --max-budget-usd 限制支出,添加 --max-turns 限制执行时间。--bare 标志可跳过钩子、技能和插件的自动发现,从而在脚本化环境中加快启动速度。Claude Code 还通过官方工作流模板与 GitHub Actions 和 GitLab CI/CD 集成。
Novita AI 是一个 AI 云平台,为开发者提供使用简单 API 部署 AI 模型的便捷途径,同时提供经济实惠且可靠的 GPU 云用于构建和扩展。
