codecamp

WorkBuddy 任务对话

任务创建后,您可以在对话区域与 WorkBuddy 持续交流,通过发送需求、补充要求和追问结果,逐步推进任务。您还可以上传文件、引用表格、组件为任务补充上下文,并随时查看任务的执行过程。

任务对话界面

认识任务对话界面

对话区顶部除了显示当前任务标题,还提供一些常用操作。

对话区顶部操作入口

从左到右依次是:

  1. 在 CodeBuddy 打开:用 CodeBuddy 打开当前任务的工作空间,继续代码开发(本地已安装 CodeBuddy 且任务为代码开发模式时显示)。
  2. 对话内搜索:输入关键词快速查找目标对话内容。
  3. 分享任务:自动生成公开链接,分享到任意渠道。
  4. 显示详情面板:打开右侧边栏,支持查看产物、全部文件、对话过程中的文件变更和内置浏览器。

对话右侧的提问导航

对话较长时,对话区右侧会出现一条竖向的刻度导航,每一条刻度对应你发出的一条提问,当前所在的提问刻度更长、颜色更深。它和顶部的 历史提问 作用相同,但不用点按钮,更容易在长对话中定位:

鼠标移到对话右侧的刻度导航上,展开提问列表

  • 鼠标移到刻度条上,会展开你发过的所有提问列表,只显示你的提问,不显示 WorkBuddy 的回复,过长的提问会被截断;
  • 点击列表中的任意一条提问(或直接点击刻度),对话区会定位到这一条;
  • 手动滚动对话区时,导航上的当前位置会同步变化。

什么时候显示

- 对话达到一定轮数后才会出现,提问很少时不显示;
- 对话区太窄时会自动隐藏,例如打开右侧详情面板后对话区被压窄,把面板收起或拉宽窗口后会重新出现;
- 仅在主窗口的本地任务中提供,独立窗口和云端任务不显示。

继续推进当前任务

在当前任务中,您可以基于已有对话补充要求、修改已有结果或继续追问。WorkBuddy 会结合当前对话上下文处理后续消息,无需重复描述已有背景。

常见场景

场景 说明 示例
补充任务要求 任务方向不变,需要增加内容、细化要求或补充限制条件。 再加一个饼图;把字体调大一点。
调整已有结果 已生成的结果不符合预期,需要修改或优化。 表格按销售额排序;报告增加执行摘要。
继续处理或深入分析 希望基于当前结果开展后续操作,或进一步分析已有内容。 帮我导出成 PDF;再分析一下环比变化。

执行中追加消息

模型正在执行任务时,您可以继续发送消息,无需等待上一轮回复结束。新消息会进入输入框上方的队列,等待当前一轮输出结束后依次处理。

执行中继续发送:消息进入输入框上方的队列

队列中的消息支持编辑、删除和拖动排序。点击发送按钮可立即发送消息,引导当前会话,但不会打断正在进行的模型输出。

当前一轮输出(包括工具调用)结束后,队列里的消息会按顺序依次交给模型接着处理。已经进入对话流的消息会显示发送时间,并支持复制,但不支持撤回或编辑。

任务后续提示词推荐

完成一轮对话后,WorkBuddy 会在输入框上方推荐下一步可执行的提示词,帮助您沿着当前任务继续探索或推进工作。

您可以直接使用推荐提示词,也可以根据需要更换推荐内容或关闭推荐:

  • 推使用推荐提示词:点击推荐提示词,即可将完整内容填入输入框,替换已有文字,但不会自动发送。您可以根据实际需求调整内容,确认后再发送。
  • 换一条:点击「换一条」,加载新的推荐内容。
  • 关闭推荐:如果暂时不需要推荐,可以主动关闭。关闭后,当前会话不再展示对话后推荐。发送新消息后,上一轮的推荐也会自动隐藏。

回退、编辑与刷新

对话完成后,可以对已发送的消息做三类操作:回退到某条消息之前、编辑某条消息后重新开始、刷新最后一条回复。这些操作会改变对话内容,并可能同时影响 WorkBuddy 已生成的产物,操作前会弹出确认框,请先看清再确认。

使用前提

- 任务正在执行时不能使用,等当前这一轮结束后再操作;
- 以下操作仅用于本地任务,云端任务和项目任务不提供。

回退到某条消息之前

鼠标悬停在你发送的某条消息上,消息下方会出现 复制、回退、编辑 三个按钮。点击 回退(悬停提示「将对话及产物回退到此消息前」),对话内容和产物会一起回到这条消息之前的状态,这条消息及之后的内容都会从对话中移除。

悬停在你发送的消息上,出现复制、回退、编辑按钮

回退不会让 WorkBuddy 重新生成内容,只是退回去。如果需要在退回后改写这条消息,请使用下面的「编辑」。

说明

首条消息之前没有任何内容,所以第一条消息上不显示回退按钮。

点击回退后,一定会弹出确认框,内容取决于这条消息之后是否涉及产物:

情况 确认框标题 结果
涉及产物 将对话及以下产物版本回退到此消息前? 列出受影响的产物及处理方式,确认后对话和产物一起回退
整个对话没有产物版本 当前对话无产物版本,回退将仅回退对话内容 只回退对话内容,产物保持不变
其他情况 将对话回退到此消息前? 回退对话内容

回退确认框:将对话回退到此消息前

确认框列出产物时,每个产物后面会标明处理方式:

标注 含义
回退至 月日/时:分 版本 产物回到这条消息之前的那个版本
回退至历史版本 产物会回到之前的版本,但无法显示具体时间
将被删除 这个产物是在这条消息之后才生成的,回退后会被删除
历史版本已被删除,将保持当前版本 之前的版本已经找不到,产物保持现状
不回退版本 这个产物没有更早的版本,回退后文件仍保留在目录里

部分标注旁会有提示图标,悬停可查看说明,例如「此消息前的版本已被删除,仅可回退至后面生成的版本」。

注意

回退暂不支持部分类型的文件。确认框里无法回退的产物会如实标出,请在确认前核对。

如果回退失败,页面顶部会提示「对话回退失败,请稍后重试。」,对话和产物保持回退前的状态。

编辑某条消息后重新开始

点击消息下方的 编辑,消息会变成可编辑状态,输入框下方提示「编辑后将从此处重新开始对话,产物也将回退至此信息前版本」。修改内容后点击 发送,WorkBuddy 会从这条消息开始重新处理;点击 取消 则放弃修改。

悬停在消息上,点击编辑按钮

编辑状态:输入框下方提示,修改后点击发送

编辑框下方的提示是通用说明,点击 发送 之前不会弹出任何确认框。点击发送后,WorkBuddy 会先检查这条消息之后是否改动过产物:只有改动过,才会弹出「是否回退产物历史版本?」,说明为「选择回退产物,将基于本条消息前的版本进行修改;不选择回退,则从最新版开始编辑」。确认框里会列出受影响的产物及状态,状态含义同上表。你可以选择:

按钮 效果
取消 不编辑,保持原样
不回退 产物保持最新版本,基于最新版本继续修改
回退 产物回到这条消息之前的版本,再基于该版本修改

如果这条消息之后没有改动过任何产物,没有产物需要处理,点击 发送 后会直接重新开始,不会弹出确认框。

编辑失败时,页面顶部提示「对话编辑失败,请稍后重试。」,你修改过的内容会保留在编辑框里,可以直接再试一次。

刷新最后一条回复

对最后一条回复不满意时,可以让 WorkBuddy 重新生成。鼠标悬停在最后一条回复下方,点击 刷新(悬停提示「点击将重新生成会话和产物,请谨慎操作」)。

最后一条回复下方的刷新按钮

  • 只有最后一条回复有这个按钮,之前的回复和执行过程中的内容没有;
  • 刷新会重新生成这条回复及其产物;如果这一轮改动过产物,同样会弹出「是否回退产物历史版本?」,可选择 取消、不回退 或 回退,含义同「编辑」;没有改动过产物时直接重新生成;
  • 刷新失败时,页面顶部提示「对话重发失败,请稍后重试。」,原来的回复和产物保持不变。

补充任务上下文

WorkBuddy 会基于之前的对话上下文继续处理,无需重复描述背景。

上传文件和图片

当任务需要参考已有资料、分析文件内容,或根据截图识别信息、排查问题时,您可以上传相关文件或图片,为 WorkBuddy 提供必要的任务上下文。

  • 上传文件:点击上传按钮,或将文件直接拖拽到输入框区域。
  • 粘贴图片:使用 Ctrl/Cmd + V 粘贴剪贴板中的图片。

支持 PDF、Word、TXT、Markdown、RTF、Excel、CSV、TSV、PPT、JPG、PNG、GIF、BMP、ZIP、RAR 及常见代码文件。

上传失败时,请检查文件格式和网络连接;大文件可尝试压缩或拆分后重新上传。

隐私授权边界

- 所有文件处理默认在本地完成,原始数据不上传云端。
- 服务端仅处理数据片段,用后即弃,不保存也不用于模型训练。
- WorkBuddy 只能访问你主动勾选授权的文件夹,系统敏感目录自动拦截,高危操作需二次确认。

如需将音频文件转成文字,请参见音频转文字。

引用模型输出

想针对模型回复中的某段结论、某张表格或某个组件继续追问、修正时,可以直接把它添加到对话,不用手动复制粘贴,输入框会生成对应的引用。

引用文本

  1. 在模型回复中选中要引用的文本,选区上方会出现操作栏; 选中文本后,选区上方出现操作栏,提供「复制」与「添加到对话」
  2. 点击添加到对话,选中的内容会作为一条引用加入输入框;
  3. 此时选中内容旁会出现批注输入框(选填),可以写下想让 WorkBuddy 怎么改,也可以不写、直接在输入框里继续补充; 点击后可在选区旁填写批注(选填),确认即加入输入框
  4. 鼠标悬停在引用上,可以查看被引用的完整原文(有批注时一并显示)。

引用表格与组件

  • 表格:鼠标悬停在表格上,右上角出现添加到对话图标,点击后输入框新增一条表格引用;
  • 组件(Widget):组件顶部同样提供添加到对话图标,点击后原位置提示「已添加到对话」,输入框新增对应的引用。

TIP

使用建议:

- 可以连续添加多个引用,文本、表格、组件可混在同一条消息里;
- 每条引用上都带删除入口,删除后正文中对应的引用标识会一并取消;
- 只发引用、不补充文字也可以直接发送;发送后,引用的原文与批注会一起交给模型。

保存与复制组件

对话中生成的组件(Widget,如图表、可视化页面)右上角有三个入口:

组件右上角的操作:添加到对话、下载到本地和更多操作菜单

  • 添加到对话:把组件加入输入框作为引用,详见上文「引用表格与组件」;
  • 下载到本地:直接保存组件文件;
  • 更多操作(⋯):依次提供 复制为图片、保存为图片、复制代码 和 查看代码。
操作 说明
复制为图片 把组件当前显示的内容作为图片复制到剪贴板,可直接粘贴到其他应用;成功后提示「图片已复制」,失败提示「图片复制失败」
保存为图片 把组件保存成图片文件,成功后提示「图片已保存」
复制代码 复制组件的源代码
查看代码 切换为显示组件代码,再点同一位置的 显示 UI 可切回组件界面

组件还在生成中、内容没有加载完成时,复制为图片 和 保存为图片 暂时不可用,等加载完成后再操作;这两项在移动端暂不支持。

查看执行进度与控制任务

查看执行过程

WorkBuddy 在执行任务时,会把关键步骤和结果展示在对话区中,方便您随时了解进展。

您通常会看到以下内容:

  • WorkBuddy 的回复内容
  • 执行中的阶段说明(如"正在分析数据"、"正在生成报告")
  • 已生成的结果摘要
  • 可展开查看的中间步骤

这样做的好处是,您不需要离开当前任务,就能在同一处持续查看输入、过程和输出。

执行过程中的阶段说明与消耗展示

MCP 服务加载

会话需要连接 MCP 服务时,对话流会给出连接进度,避免等待时误以为卡住:

  • 加载中会显示「正在连接 MCP 服务」以及已连接数 / 服务总数,连接成功会实时更新;
  • 可以展开查看明细,按已连接与未连接分组列出服务名称,连接成功的服务会自动移入「已连接」;
  • 全部连接完成后,展示「所有 MCP 服务已就绪」;
  • 这段进度只在加载阶段临时出现,加载完成后就会从对话流中消失,不作为历史消息保留。

MCP 服务连接进度,显示已连接数与服务总数

并非所有 MCP 服务都提供交互界面,仅返回文字或文件结果的服务仍按原方式使用。

使用 MCP 应用界面

在桌面端任务中,如果已接入的 MCP 应用提供交互界面,WorkBuddy 可以在对话或右侧产物区域展示该界面,而不只是返回文字结果。

  • 查看应用:发起相关任务后,在对话中查看应用界面;以产物形式展示时,点击对应产物即可在右侧打开。
  • 直接操作:在应用提供的界面中选择选项、填写内容或提交操作,继续完成当前任务,具体功能以该应用提供的界面为准。
  • 无法打开时:先检查对应服务是否已连接,再重新发起任务。

对话中直接显示网址的链接,在获取到网页信息后会展示标题和图标,方便辨认;获取不到时仍保留原链接,不影响点击。

中断与继续

如果任务正在执行,输入框区域会显示停止入口,您可以随时中断当前执行。

中断后,您仍然可以:

  • 继续补充新的说明
  • 调整需求后重新发送
  • 基于已有内容继续推进任务

重点是保持连续对话,而不是每次都重新开始。

查看对话与任务结果

对话中出现的文件与链接,会在右侧结果区统一展示,具体查看与操作方式见结果查看。

声明

本节说明,构成服务协议和隐私保护指引的组成部分,具有同等法律效力。如有不一致之处,以前述协议原文为准。

WorkBuddy 任务管理
WorkBuddy 结果查看
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

WorkBuddy 支持

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }