xiantong 文档

工作目录

您的 Agent 执行命令的当前工作目录 (cwd)

工作目录就是您 Agent 的当前工作目录 (cwd)——就像终端中的 cwd。默认情况下,所有文件操作和 bash 命令都相对于此文件夹执行。当您让 Agent“读取配置文件”或“运行测试”时,它都从这里开始。您可以在对话的任意时刻更改工作目录。

什么是工作目录?#

可以把它想象成打开终端并运行 cd /path/to/project。Agent 所做的一切都从这个位置开始:

  • 读取 文件及其内容
  • 写入 新文件或覆盖已有文件
  • 编辑 文件以进行精确的文本替换
  • 搜索,使用 Glob(文件模式)和 Grep(内容搜索)
  • 执行 bash 命令(以该目录为上下文)

这不同于通过 MCP 工具连接外部服务的来源。工作目录是用于本地、直接访问文件系统。

设置您的工作目录#

会话级别#

在聊天输入区域点击文件夹徽章,可以为当前对话设置或更改 cwd:Working directory badge in the chat input showing the folder name 徽章显示:

  • 带有当前目录名称的文件夹图标
  • Git 分支(如果目录是 git 仓库)

随时点击即可在会话中途更改 cwd:

  • 从最近使用的目录中选择
  • 浏览以查找新文件夹
  • 重置为会话的默认文件夹

更改工作目录会立即生效——后续命令将从新位置执行。

工作区默认#

为您所在的工作区设置默认工作目录:

  1. 打开 设置工作区设置
  2. 找到 默认工作目录
  3. 点击选择一个文件夹

此工作区中的新会话将以该目录为起点。

可用工具#

这些 SDK 原生工具默认都从当前 cwd 运行:

工具目的示例
Read查看文件内容读取配置文件
Write创建或覆盖文件编写新组件
Edit进行精确的文本替换修复现有代码中的错误
Glob通过模式查找文件查找所有 *.tsx 文件
Grep搜索文件内容查找函数的用法
Bash运行 Shell 命令运行测试、git 操作

这些工具直接作用于您的文件系统,无需通过 MCP。

使用 CLAUDE.md 提供项目上下文#

如果您的工作目录包含 CLAUDE.md 文件,其内容会自动注入 Agent 的上下文。使用它可以提供:

  • 项目结构与约定
  • 构建与测试命令
  • 重要文件及其用途
  • 团队特定的指导
# CLAUDE.md

这是一个使用 TypeScript 的 Next.js 应用。

## 命令
- `npm run dev` - 启动开发服务器
- `npm test` - 运行测试
- `npm run build` - 生产构建

## 结构
- `src/components/` - React 组件
- `src/lib/` - 实用函数
- `src/app/` - Next.js 应用路由页面

当您在该工作目录下开始对话时,Agent 会自动读取此文件。

工作目录 vs 来源#

方面工作目录来源
访问方式直接使用 SDK 工具(ReadWriteBashMCP 工具(mcp__slug__toolname
范围单个本地文件夹多个服务/路径
身份验证不需要OAuth、API 密钥、令牌
权限控制SDK 权限模式每个来源的 permissions.json
项目上下文CLAUDE.md 注入guide.md 指令
典型用途编码、本地文件外部服务、远程数据

何时使用各项#

在以下情况下使用工作目录:

  • 编写与编辑代码
  • 运行构建脚本和测试
  • Git 操作(提交、分支、差异)
  • 阅读项目文件与配置
  • 任何涉及本地文件的任务

使用来源时:

  • 访问外部服务(GitHub、Linear、Slack)
  • 从远程 API 读取
  • 连接云数据库
  • 通过 MCP 文件系统服务器访问其他位置的文件
  • 任何需认证的外部服务任务

同时结合使用

许多工作流程会结合使用:

  • 从 Linear(来源)拉取问题,然后在代码(工作目录)中修复
  • 从 Web API(来源)读取文档,然后在代码(工作目录)中编写实现
  • 从数据库(来源)获取数据,然后在本地(工作目录)生成报告

最佳实践#

保持 CLAUDE.md 更新#

一个维护良好的 CLAUDE.md 文件可帮助 Agent 了解您的项目结构、约定和常见任务。随着项目发展,请更新它。

使用特定目录#

不要将主目录设置为工作目录,而要指向您正在处理的具体项目。这样可以使 Agent 更专注并提升性能。

利用 git 集成#

当您的工作目录是 git 仓库时,Agent 可以看到当前分支并有效使用 git 命令。使用探索模式在提交前安全地查看更改。

结合本地文件夹使用#

需要访问多个位置的文件?可以将工作目录用于主要项目,同时添加本地文件夹以获取偶尔参考的其他目录。