Skip to main content

在 GitHub Copilot 应用中使用画布扩展

使用 GitHub Copilot 应用 中的画布来构建共享的、由代理驱动的成果和界面,以支持人与代理协作。

谁可以使用此功能?

GitHub Copilot 应用 适用于所有付费 Copilot 计划。
Sign up for Copilot

关于画布扩展

画布扩展是用于工作成果(如计划、分类看板、浏览器会话、发布检查清单、仪表盘、事件或电子表格)的共享交互界面。

虽然聊天可用于定义意向和讨论任务,但大多数工作发生在工作图面(如终端、浏览器、文档或仪表板)中。 通过画布,您可以直接在这些工作界面中与智能体进行协作。

画布是双向的:智能体可以在工作过程中更新画布,而你也可以在同一画布上进行编辑。 创建画布时,代理会根据提示和工作流生成功能。 在迭代过程中,你可以要求它添加、删除或修改这些功能。 创建后,画布会在应用右侧面板中打开。

例如,您可以创建一个智能体驱动的看板画布,用户可通过 UI 控件创建或移动卡片,并要求智能体添加可供智能体调用的能力,例如 get_boardadd_cardmove_card。 这使人员和智能体能够通过一个共享看板来协调工作。

为何使用画布

当任务或工作流需要结构、迭代和验证并且聊天不够时,画布非常有用。 您可以使用聊天向代理发出指令,并针对存在歧义之处进行推理,然后使用画布直接检查、引导和验证已呈现的工作内容,而不必仅依赖提示词。

画布提供两种价值:它们通过向双方提供一个共享图面来改进人机合作关系,并让你自定义该图面以匹配工作流。

需要以下条件时,画布非常有用:

  • 将智能体的工作融入符合您工作流的实际成果或环境中。
  • 直接在共享界面上指导或修正工作,然后让智能体根据这些更改继续处理。
  • 将进度和结果视为对共享成果物的可见更改,而不只是聊天回复。
  • 确保工作在轮次、会话和交接之间保持连续性。

示例用例

可以根据你或你的团队在各种场景下的需求自定义 Canvas 扩展。 例如:

  •           **智能体看板:** 允许人类和智能体添加卡片、移动工作项并启动任务。
    
  • 问题会审委员会: 汇总存储库的首要问题、定期主题和用户痛点。
  • Markdown 画布: 构建一个持久 markdown 文件,用于规划一天、确定问题和拉取请求的优先级、启动和监视代理会话,并将相关工作保留在一个可编辑的图面中。
  • 文档画布: 直接在应用中打开、编辑和协作处理文档、电子表格、演示文稿及其他内容。

创建画布

你可以在会话中使用 /create-canvas 技能创建一个新的画布。

  1. 打开或启动代理会话。

  2. 在提示框中,键入 /create-canvas,然后描述希望画布支持的工作流和功能,包括用户应能够执行的操作以及代理应能够执行的操作。 例如,可以要求代理:

    • Create an agentic kanban canvas with actions to create, assign, and move cards.
    • Create a markdown canvas that combines my meetings with prioritized issues and pull requests, then lets me launch and track agent sessions from that canvas.
  3. 您可以选择画布是与团队共享,还是仅供个人使用:

    • 项目范围:.github/extensions适用于已提交到存储库的团队共享画布。
    •           **用户范围:**`~/.copilot/extensions`用于您设备上的个人画布。
      

智能体将构建画布,并在完成后将其在右侧面板中打开。 之后,可以通过要求代理更改接口、共享状态和功能来继续迭代。

画布扩展的结构

每个画布扩展位于其自己的目录中 .github/extensions (项目范围)或 ~/.copilot/extensions (用户范围)。

尽管实现可能有所不同,但画布扩展通常包括:

  • 用于扩展元数据和依赖项的 package.json 文件。
  • 定义画布行为和功能的扩展条目文件,例如 extension.mjs
  • 用于持久化的画布数据和状态的可选 JSON 产物(例如 artifacts 目录下的文件)。

当画布在应用端面板中打开时,人员和代理通过 UI 操作和代理可调用的功能与同一共享状态进行交互。

在画布上工作

画布打开后,您可以与智能体快速迭代。

  • 添加或修改画布的功能。
  • 使用画布控件(如按钮、卡片或筛选器)直接更新图面。
  • 要求代理调用画布公开的功能以更新数据或采取措施。

延伸阅读