大多数工具给你一套固定的界面,要求你把工作塞进它们的框架里。但如果你能反过来,从自己想要的工作流出发,让界面围绕它自然成形,会怎样?
这正是 GitHub Copilot 应用中的 canvas 背后的理念。canvas,也叫 canvas 扩展,是一种你和智能体共享的可定制界面。它可以是一块看板、一块 issue 分诊板、一份发布清单、一个仪表盘、一张表单,甚至是一张电子表格:一个按照你的工作方式塑造的 UI。
由于 canvas 是双向的,智能体可以在工作时更新它,你也可以通过按钮、卡片、筛选器和其他控件来做出更改。就像使用一块实时共享的白板一样。
让我们来创建一个吧。
使用 /create-canvas 创建 canvas
要创建一个 canvas,你无需手动编写任何代码或进行任何设计。只需打开一个智能体会话,输入 /create-canvas 技能,然后用大白话描述你想要什么。
确保你的提示词涵盖三件事:
- canvas 应支持的工作流。
- 你在界面中应该能够做什么。
- 智能体应该能够做什么。
例如,你可以输入:
/create-canvas Create a release notes canvas for tracking new feature work completed across GitHub Copilot app sessions. Include controls for reviewing and organizing entries and allow the agent to add and update them. 随后,智能体会构建该界面并在右侧面板中打开它,你无需编写文件或处理布局。一段描述就能变成一个可直接使用的自定义工具。
围绕你的工作流塑造画布
由于界面是根据你的描述生成的,你的第一个版本只是一个起点,你可以不断优化,直到满意为止。
你可以让智能体添加一列或一个筛选器、拉取你未关闭的 pull request,或者把整个画布变成你一天的待办清单。智能体会相应地修改画布。虽然没有固定的布局菜单,但只要能描述出一个工作流,你大概率就能把它变成一个画布。
创建后,你的画布会保存为一个扩展,因此你可以再次使用它。你可以将它保留在项目中供团队共享,也可以将其保存为仅供你个人使用的个人扩展。
即时协作,而非下达命令后等待
画布真正的强大之处在于,你和智能体可以同时持续工作。
当你点击按钮、更新字段或移动卡片时,画布的共享状态会立即改变。智能体会看到同样的更新,无需单独的发送或同步步骤。
反过来也一样。你可以让智能体使用画布自身的能力——也就是你能使用的那些相同操作——来添加一条发布说明或移动一张卡片,然后看着这一改动出现在界面中。你不再只是发送一条命令然后等待响应,而是在与它共同推进工作。
带走这些要点
创建一个有用的画布,从三个简单的问题开始:
- 我想看到哪些信息?
- 我想直接改动什么?
- 智能体应该能够更新或执行什么?
不确定从哪里开始?社区已经通过 Awesome Copilot 分享了现成的画布扩展,包括发布说明工具、看板、issue 分诊工作流等等。安装一个与你需求接近的,然后让智能体按照你的工作流来定制它,就像你会对自己创建的画布进行完善一样。
从小处着手:打开一个会话,运行 /create-canvas,并为你当前正在做的某件事描述一个简单的看板或清单。
Most tools give you a fixed set of screens and ask you to fit your work into them. But what if you could start with the workflow you want instead and have the interface take shape around it?
That’s the idea behind canvases in the GitHub Copilot app. A canvas, also called a canvas extension, is a customizable interface that you and the agent share. It can be a kanban board, an issue triage board, a release checklist, a dashboard, a form, or even a spreadsheet: a UI shaped to how you work.
Because the canvas is bidirectional, the agent can update it as it works, and you can use buttons, cards, filters, and other controls to make changes too. Just like using a live shared whiteboard.
Let’s create one.
Creating a canvas with /create-canvas
To create a canvas, you don’t have to do any coding or design by hand. Just open an agent session, enter the /create-canvas skill, and describe what you want in plain English.
Make sure your prompt covers three things:
- The workflow the canvas should support.
- What you should be able to do in the interface.
- What the agent should be able to do.
For example, you could enter:
/create-canvas Create a release notes canvas for tracking new feature work completed across GitHub Copilot app sessions. Include controls for reviewing and organizing entries and allow the agent to add and update them. Then, the agent will build the interface and open it in the right-side panel without you having to write files or mess with the layout. One description becomes a custom tool that’s ready to use.
Shaping the canvas around your workflow
Because the interface is generated from your description, your first version is just a starting point, and you can keep refining until you’re happy.
You could ask the agent to add a column or filter, pull in your open pull requests, or turn the entire canvas into a checklist for your day. The agent will revise the canvas to match. While there isn’t a fixed menu of layouts, if you can describe a workflow, you can likely turn it into a canvas.
Once created, your canvas is saved as an extension, so you can use it again. You can keep it with the project for your team to share or save it as a personal extension just for you.
Instant collaboration, not command and wait
The real power of a canvas is that you and the agent can both keep working at the same time.
When you click a button, update a field, or move a card, the canvas’ shared state changes immediately. The agent sees the same update without a separate send or sync step.
It works the other way, too. You can ask the agent to use the canvas’ own capabilities—the same actions available to you—to add a release note or move a card, then watch that change appear in the interface. Instead of sending a command and waiting for a response, you’re steering the work together.
Take this with you
Creating a useful canvas starts with three simple questions:
- What information do I want to see?
- What do I want to change directly?
- What should the agent be able to update or do?
Not sure where to begin? The community has shared ready-made canvas extensions through Awesome Copilot, including release notes tools, kanban boards, issue triage workflows, and more. Install one that’s close to what you need, then ask the agent to customize it for your workflow in the same way you would refine a canvas you created yourself.
Start small: open a session, run /create-canvas, and describe a simple board or checklist for something you’re working on now.