Skip to content

右侧面板 ​

工作区右边缘的这块面板,装着与你所在对话有关、却又不是对话本身的一切:它的详情、智能体的计划和一张你的消息地图、项目的文件、你尚未提交的变更和历史,以及——从 0.37.0 起——项目的自动化、待办任务、议题和拉取请求。每一样都是一个标签页,这些标签页沿着面板的右边缘排成一条标签栏。

它旁边的对话见对话;两者外围的窗口见工作区。

打开和关闭它 ​

用窗口右上角的切换辅助面板按钮打开它,或者按 ⌘E / Ctrl+E——也就是设置 → 快捷键里的切换右侧面板,你可以在那里重新绑定它。这两种方式也能再把它关上,而从 0.37.0 起,点一下已经选中的那个标签页也可以。点其他标签页只会切换过去;按下后变成拖动、右键点击,以及在获得焦点的标签页上按 Enter 或 Space,都不会关掉面板,所以用键盘时要靠快捷键来关。再次打开时,它停在你离开时的那个标签页上。

拖动它左边缘的分隔线可以调整宽度,最窄 200 px——在 Windows 和 Linux 的桌面应用里是 260 px——最宽 900 px;初始宽度是 320。它是开是关、有多宽都会被记住。显示的是哪个标签页则不会:新打开或重新加载的窗口,总是从会话详情开始。

整页视图——待办任务、自动化、仓库面板、Token 用量和画布——显示期间会把它收起来,等你回到对话时,它会原样回来。

在手机上,或者在任何窄于 768 px 的窗口里,这块面板是一个从右侧滑入的抽屉,标签页变成横贯顶部的一排图标,顺序不变。点一下选中的标签页就能关掉它,滑动、点一下它留出的那条页面、或者返回手势也都可以。从文件打开一个文件、从自动化打开某次运行的对话,或者在项目标签页里点在完整页面中打开,同样会关掉它。从消息导航跳到某条消息则不会:对话记录是在抽屉后面移动的。

标签栏 ​

从 0.36.0 起,这些标签页立在面板右边缘一条竖排的图标栏上,横贯顶部的那一条则写着你当前所在标签页的名字。它们以前是顶部的一排,面板一变窄就会折叠成一个下拉菜单。一共八个:

标签页里面有什么
会话详情对话的详情、智能体的计划和消息导航——见下文
文件项目树,点开后进入编辑器和预览——见下文
变更你的工作树:diff、快速提交、储藏——见下文
提交历史时间线、分支和远程仓库——见下文
自动化这个项目的自动化及其运行——见下文
待办任务这个项目的待办看板
议题这个项目在其 forge 上的议题
拉取请求它的拉取请求——远程仓库在 GitLab 上时是合并请求

文件夹对话总是八个都有;当这个文件夹没有可对接的 forge 时,议题和拉取请求标签页会在里面自己说明原因。聊天模式的对话没有项目,所以面板里只有会话详情,标签栏也不显示。既没有打开文件夹对话、也没有打开聊天时,那个按钮和快捷键都不起作用。

按你的顺序排列标签页。 在标签栏上把一个标签页往上或往下拖,或者让它获得焦点后按 Alt+↑ 或 Alt+↓——Mac 上是 ⌥——把它挪一格;单按 ↑ 和 ↓ 则在标签页之间移动。这个顺序按设备保存——浏览器则按服务器地址各存一份——任何一处改动,所有打开的窗口都会立刻跟上。没有重置:把标签页拖回原来的顺序,Codeg 就会忘掉自定义的那一份,于是以后版本新增的标签页会落在它内置的位置上。如果你在 0.36.0 里调整过顺序,0.37.0 新来的四个标签页会作为一组,紧跟在提交之后,无论你把它放在了哪里。Alt+↑/↓ 是固定的——它不在设置 → 快捷键的绑定里——而且只属于桌面版的标签栏:手机上那排标签页无法调整顺序。

会话详情 ​

会话详情讲的是你所在的那个对话——也就是活动的标签页,composer 作用的那一个——没有的时候它显示暂无活动会话。从 0.37.0 起,它从上到下分成三部分。

摘要卡片。 标题单独占一行,最多两行,没有标题时是未命名会话;它下面是智能体和对话的状态;再往下是模型、Git 分支、会话 ID 和扩展 ID,子智能体的对话还有父会话,由助手运行的对话还有助手。模型按智能体自己的选择器里的叫法显示。分支是记录在对话上的那一个——Codeg 创建这个对话时检测到的,或者导入的会话记录里写下的——而不是现在检出的分支。会话 ID 是 Codeg 自己给这个对话的编号,扩展 ID 则是智能体的会话 id,太长时会被截短、保留最后八个字符,完整的 id 在提示里。能复制的就是这两个字段:把指针悬停在那一行上或让它获得焦点,复制按钮就会出现。

计划任务 ​

当智能体维护着一份计划时,计划任务会把它画成一条每步一段的进度条——绿色是已完成,蓝色是进行中,灰色是还没开始——旁边是一个 done/total 计数,然后列出各个步骤:已完成的划掉,进行中的那一步标成蓝色,每一步的完整文字、状态和优先级都在它的提示里。把这一节折叠起来,它仍保留进度条和进行中的那一步,只把其余的藏起来,于是面板保持紧凑,又不会丢掉智能体走到了哪一步。它显示的是正在运行的那条回复的计划,否则就是对话里最新的一份计划;完全没有计划时,这一节就不出现。回复里面的那张计划卡片保持不变。

消息导航 ​

消息导航列出你发出的每一条消息——带编号,每条一行——在收起的行上,还会标出那一轮涉及了几个子智能体和几个文件。它覆盖整个对话,包括还没加载的历史;拉取期间,顶部会显示正在加载更早的消息…。

  • 它跟着你的阅读走。 对话记录视野顶端的那条消息,会在列表里高亮显示。当那一行滚出面板时,会出现一枚 当前消息 #n 胶囊,带一个指向它的箭头;点一下这枚胶囊,就能把那一行带回视野。
  • 点一条消息,就跳过去并展开它。 对话记录会跳到那里——如果它还没加载,就先加载——这一行则展开成那一轮的子智能体和改动过的文件。子智能体显示为一张卡片,带着它的智能体或助手、状态徽标和任务,点开会在层叠的查看器里打开那个子智能体的对话。文件会带着它的 +/− 计数:点这一行可以就地查看它的 diff,内联或并排都行;点文件名会打开这个文件;点查看差异则在文件标签页里打开完整的 diff。同一时间只展开一条消息——在你选别的之前是最新的那条——收起会把它合上。

两节都可以从各自的标题处折叠。每一节是开是合,以及面板里的 diff 是内联(默认)还是并排显示,都会跨窗口记住——这个 diff 选择是面板自己的,和其他 diff 预览上的那个开关互不相干。

搬到这里的东西。 在 0.37.0 之前,计划、消息导航和一枚子智能体胶囊都浮在对话记录的左上角;那个角落现在空了。画布卡片和只读查看器——子智能体的对话、待办任务的会话记录——旁边没有右侧面板,所以它们仍显示计划和子智能体胶囊,只是没有导航。

Token 用量和时间都在对话框里

从 0.37.0 起,这个标签页不再显示 token 用量、时长,以及创建和更新时间。会话详情对话框里仍然有:从对话头部的 ⋮ 菜单打开它,或者右键点击对话,或者在侧边栏里右键点击它那一行。它带着同样的那些标识,然后是 Token 用量——总计、输入、输出、缓存写入和读取、上下文窗口用了多少,以及时长——还有创建时间和更新时间。

处理文件——编辑器、diff 与预览 ​

文件标签页是你的项目树,以工作区为根;点击任意文件即可在中间的文件窗格中打开它。拖动某个条目可以重排项目或投喂智能体:把一个文件或文件夹拖放到另一个文件夹(或工作区根目录)上可在磁盘上移动它,或把它拖入 composer 可将它附加为下一条消息的文件引用——由拖放的目标决定是哪一种,无需任何修饰键。这棵树也支持键盘操作:↑/↓ 移动,→ 展开文件夹或进入其中,← 收起它或跳到父级,Home/End 跳到首尾,Enter 打开文件或展开/收起文件夹。每一行都带着一个 ⋯ 按钮,点开的是右键和长按同样会打开的那份菜单 —— 在触屏上它是一个看得见的入口,毕竟每一行同时还能拖拽,长按有时会含混。

  • 复制——路径,或者文件本身。 行的右键菜单里有一个 复制 子菜单:相对路径(写提示词或敲 git 时要的那个)、绝对路径(给别的应用用的那个),以及 文件本身——目录行上则是 文件夹本身——它把这个条目放进系统剪贴板,于是在访达或资源管理器里粘贴出来的是一份真正的副本。0.31.2 新增,文件行、文件夹行和工作区根目录行都有。第三项仅限桌面:在浏览器里、以及连接到远程工作区的桌面窗口里,文件都在另一台机器上,复制会落到那台机器的剪贴板,所以那里不提供它。
  • 编辑。 文件会在完整的编辑器中打开。这里没有保存按钮——Codeg 会在你按下 ⌘/Ctrl+S、编辑器失去焦点时,以及你停止输入几秒后自动保存;未保存的文件会在其标签页中显示一个 *。用 ⌘L 可将一个文件或仅选中的内容发送给智能体。
  • Diff。 智能体的编辑会以只读 diff 的形式打开——并排(HEAD ↔ 工作树)或作为内联的统一 diff,一次一个文件,带有更改计数和上一处/下一处导航。Diff 用于审阅;你通过 git 面板(见下文)提交,而不是逐行接受更改。
  • 那些小的 diff 卡片也能并排看了。 那些紧凑的预览——回复里的 diff、权限询问在你批准一次编辑前给你看的那份、待办任务的变更文件,以及作为独立标签页打开的查看差异——在 0.28.2 里,右上角多了一个内联 ⇄ 并排开关。默认仍是内联,而这个选择会被记住并共享:在一处设好,其余每一份预览都跟着走。纯粹是新增的文件保持单栏,因为它没有旧的一侧可展示。
  • 实时预览在同一个窗格中打开:Office 文档(.docx、.xlsx、.pptx)会随着智能体编辑而渲染并刷新;Markdown 和 HTML 提供预览 ⇄ 编辑源码切换(HTML 仅在你选择启用时才运行脚本);图片可缩放和平移。→ Office 文档
  • PDF 有了自己的查看器。 从 0.35.2 起,它出现在文件标签页里、出现在待办任务或画布卡片的对话记录旁边用来打开文件的那个侧面板里,也出现在画布的文件卡片上。它的工具栏可以放大和缩小——⌘/Ctrl+滚轮和双指捏合也行——可以让页面适合宽度、跳到指定页,还能查找文字并显示匹配数;焦点在查看器里时,按 ⌘/Ctrl+F 也能查找。文字可以选中,链接的打开方式和应用里任何链接一样,受密码保护的文件会请你输入密码。PDF 是只读的,最大 100 MB;工作区文件夹里的 PDF 在磁盘上发生变化时会就地重新加载,并保留你所在的页码和缩放;从所有文件夹之外打开的 PDF 不受监视,要看新版本就重新打开它。
  • 从头部下载。 从 0.35.2 起,在浏览器里,以及在连接到远程工作区的桌面窗口里,文件标签页的头部在它的 ⋮ 旁边多了一个下载文件按钮——工作区文件夹之外的文件也能下载,比如智能体输出到 /tmp 里的东西。浏览器会经由它自己的下载功能保存;远程工作区窗口则会问你保存到哪里。

合并冲突拥有专属的编辑器

解决冲突会打开一个三栏合并编辑器——本地、结果、远程——在这里你可以逐块接受更改。这是唯一提供逐块控制的地方;在其他任何地方,diff 都保持只读。

审阅与提交 ​

两个标签页让版本控制触手可及:

  • 变更列出你工作树中的编辑——已跟踪和未跟踪的,附带每个文件的行数统计。你可以从这里打开某个文件的 diff、放弃某项编辑(回滚),或开始一次提交。
  • 提交是你的完整历史记录,呈现为一条会随滚动加载更多内容的时间线。两个筛选胶囊可以缩小范围——分支和作者——而且 Codeg 会按项目记住这两者。点击某个提交即可展开:完整的提交信息、它改动的文件及其 +/− 计数(点击某个文件可查看它的 diff),以及包含它的分支。右键可使用查看差异、新建分支...、重置到此处或推送...

分支胶囊一开始就停在 HEAD 上——也就是你当前所在的分支,它的名字就标在旁边——它会在每次查询时重新解析,因此历史会随着你的每一次检出跟着走,即便处于分离 HEAD 状态也照常可用。指定一个分支名会把视图钉在那个分支上;用胶囊上的 ✕ 把它清除,则会一次显示全部分支;无论你选哪种,都会为那个文件夹记住。在 0.32.3 之前,这个标签页一打开显示的是全部分支。

变更标签页本身就能提交:在它的工具栏里写一条消息按回车,即可对已跟踪的改动做一次快速提交;也可以打开完整的提交窗口,精确勾选你想要的文件,写一条消息,然后选择提交或提交并推送。它的菜单里还有拉取、获取、推送、储藏与恢复储藏。切换分支、合并和 worktree 则是分支标签的活。

使用 worktree 的并行开发、远程账户以及完整的 git 工作流程另有专页介绍。→ Git 与 Worktree

项目的自动化、待办任务、议题和拉取请求 ​

从 0.37.0 起,最后四个标签页把整页视图搬进了面板,针对的是你所在对话的项目——它的文件夹;如果是 worktree,则是它所属的那个仓库,即便那个仓库在侧边栏里是关着的。每个标签页头部的右端都有在完整页面中打开,打开的完整视图已经收窄到这个项目——对议题和拉取请求来说,前提是这个项目自己的文件夹在侧边栏里开着;完整的仓库面板只能显示一个打开着的项目,所以对于一个仓库已被关掉的 worktree,它会转而打开另一个开着的项目(如果有的话),否则会请你选择项目文件夹。没有项目可依据时,它们会显示暂无打开的文件夹。

  • 自动化列出这个项目的自动化——挂在它根目录上的,以及挂在它各个 worktree 上的——并标出每一个下次何时运行,或上次何时运行过。一行的 ⋯ 可以立即运行它、启用或停用它,或者删除它。点一行就地查看它的详情——计划与目标、提示词,以及运行历史,其中的每次运行都能打开对应的对话——点返回回到列表。新建和编辑要到完整页面上去:新建自动化会打开它的模板库并预选这个项目,编辑则在那里打开编辑器。
  • 待办任务是这个项目的看板,排成上下叠放的四段——等你处理、进行中、待办,以及一开始折叠着的已完成——带一个搜索框,还有新建任务,它会就地打开任务编辑器。卡片就是看板自己的卡片,在那里有的每个操作和对话框这里都有:开始、合并、继续处理、以后处理、查看会话。在列之间拖动、列表视图、文件夹选择器和任务设置则留在完整页面上。
  • 议题和拉取请求是仓库面板的列表,锁定在这个项目的 origin 远程和一种工作项上:搜索、开启中 / 已关闭 / 全部筛选、指派给我、标签,以及议题标签页上的新建议题。点一行会打开和完整页面相同的详情面板,处理也在里面,用来把这一项交给智能体。切换文件夹、在议题和拉取请求之间切换、每页条数,以及面板的设置——自动处理也在其中——都留在完整页面上。如果文件夹没有 Codeg 认得出的 forge 远程,或者没有对应主机的账号,标签页里会说明,能靠它解决时还会附上添加账号。两个标签页隐藏时都不会向 forge 请求任何东西。

后续步骤 ​

基于 Apache-2.0 许可证发布。