工作区
三区域外壳、创建基于 worktree 的工作区、Files 编辑器、Git 面板与笔记本。
在日常工作中,你在一个工作区里进行操作。本页介绍应用外壳、如何导入项目、如何创建与切换工作区,以及你最常用的项目工具——Files、Git 与笔记本。关于项目、工作区与代码目标背后的模型,见 核心概念。
导入项目
Cordy 在本地 Git 仓库上工作。可从左侧栏的 Add repository(添加仓库) 操作添加一个,或将仓库文件夹拖拽到侧边栏上。导入一个已有仓库会带来引导式的首次运行,并创建一个项目——即拥有你的工作区以及 Files 与 Git 工具的仓库级容器。
三区域外壳
Cordy 的窗口由三个稳定区域构成,它们不会在你眼前挪来挪去:
| 区域 | 名称 | 承载内容 |
|---|---|---|
| 左 | Project / Workspace 导航 | 你的项目及其工作区 |
| 中 | 工作区画布 | 终端、智能体、笔记本,以及编辑器/diff 标签页 |
| 右 | Project Tools(项目工具) | Files、Changes(Git)与 Graph |
左:导航
左侧栏列出你的工作内容:
- 一个 Workspaces(工作区) 概览按钮,打开跨所有项目的全部工作区的网格;
- 每个项目一个分组,展开后是它的工作区——每个工作区行都带有状态徽章,包括其中任何智能体的运行状态;以及
- 一个页脚,含 Add repository(添加仓库)、Settings(设置)、主题切换与 About(关于)。
当你需要更多空间时,它可收起为一条窄栏,并接受拖入的仓库文件夹以导入。
中:工作区画布
中央区域是你真正工作的地方。它显示 Workspaces 概览 网格,或当前工作区界面。一个工作区界面承载:
- 终端与智能体面板,可分屏;
- 一个笔记本面板;以及
- 编辑器与 diff 标签页。
少量最近使用过的工作区会保持常驻(保持挂载),因此在它们之间切换是即时的,其终端也不会漏掉任何输出。
右:Project Tools
右侧栏有三个标签页——Files、Changes 与 Graph。它们归属于项目,但其展示内容跟随当前工作区的 CodeTarget:切换到一个绑定了某 worktree 的工作区,Files 与 Git 便会重新指向那个 worktree。
创建与切换工作区
创建工作区
New workspace(新建工作区) 对话框提供三种把工作区绑定到代码的方式:
- Project root(项目根目录)——直接在仓库根目录中工作。
- Existing worktree(已有 worktree)——从仓库现有的 Git worktree 中选择。
- New worktree(新建 worktree)——输入一个分支名,Cordy 会为它创建一个全新的 worktree。
新建 worktree 这一选项正是解锁并行智能体的关键:每个任务都拥有自己的分支与目录。为何这很重要,见 核心概念。
切换工作区
点击侧边栏中的工作区即可切换过去——对已打开的工作区这是即时的;已关闭的会先被重新打开。Workspaces 概览 列出跨所有项目的每个工作区及其名称、状态、目标与最后更新时间,并带搜索。键盘驱动的切换(跳转到编号、上一个/下一个、第一个/最后一个)见 快捷键。
你此前处于活跃状态的工作区会在重启与托盘恢复之间被记住,因此你会回到离开时所在的位置——而不是最近创建的那个工作区。
关闭还是删除
关闭一个工作区会把它(及其 worktree)保留下来以备后用;删除则是一个独立的、需确认的破坏性操作,还会移除该工作区的笔记。基于 worktree 的工作区还会进一步区分"删除记录"与"删除记录及其 worktree"。完整模型见 工作区生命周期。
Files 与编辑器
Files 标签页是当前工作区代码路径的文件树。它的工具栏有 New file(新建文件)、New folder(新建文件夹)、Refresh(刷新) 与 Collapse all(全部折叠),每一行都显示实时的 Git 状态标记(已修改、已添加、已删除、已重命名、未跟踪等)。
点击文件会在中央画布中以带语法高亮的编辑器标签页打开它(而不是在侧边栏)。该编辑器:
- 根据文件扩展名选择语言;
- 用
Cmd/Ctrl+S保存(见 快捷键); - 防止更新丢失——若某文件在你打开后于磁盘上发生变化(某个智能体或某次 Git 操作编辑了它),保存时会提示你 Reload(重新加载) 或 Overwrite(覆盖),从而绝不悄悄覆盖智能体的工作成果;以及
- 以只读方式打开非 UTF-8 文件以避免损坏其字节,并把二进制或超大文件视为不可编辑。
Git diff 也以同样方式打开——作为中央画布中的标签页。
Git
Changes 与 Graph 标签页让你无需离开 Cordy 即可完成完整的提交循环。
Changes(改动)
Changes 面板把你的工作树分组为 Staged Changes(已暂存)、Changes(改动) 与 Untracked Files(未跟踪),并在工具栏中显示一个动态的 +/− 汇总。对每个文件,你都可以打开其 diff、暂存或取消暂存、或丢弃它。打开一个 diff 会带来更精细的控制:
- 逐块(hunk)暂存——暂存、取消暂存或丢弃单个 hunk,而不只是整个文件;
- 一个内联提交表单;以及
- 与逐块操作并存的整文件操作。
一个专门的提交表单接受摘要与可选的描述,并显示已暂存的文件数。工具栏还有 fetch、pull 与 push,并在当前分支旁显示领先/落后计数。
Graph(提交图)
Graph 标签页是当前分支的只读提交历史——一个线性列表,显示每个提交的摘要、哈希、作者、日期,以及任何分支或标签标记。它用于审阅历史,而非分支操作。
笔记本
每个工作区都有自己的笔记本——一个记录笔记、计划、发现与可复用上下文的地方,这些内容归属于该任务。笔记本:
- 是按工作区划分的(默认标题为"Notes"),在工作区画布中的富文本面板里编辑;
- 通过笔记操作或 Focus notes(聚焦笔记) 快捷键(
Cmd/Ctrl+Right,见 快捷键)切换显示;以及 - 会自动保存并随工作区一同持久化,因此当你重新打开该工作区时——即便是在重启之后——一条笔记会连同其面板是否曾打开一起回来。
由于笔记本随其工作区一同流转,它是承载长时间运行的智能体任务相关上下文的天然去处。笔记在磁盘上的存储位置见 隐私。