Skip to content
FunCoding

Search

Search docs, Skills and MCP

Canvas 扩展

创建可由人和代理共同操作的工作界面,并选择项目或个人保存范围。

This page has not been translated into English yet. The original Chinese version is shown below.

Canvas 是承载具体工作成果的交互界面,例如任务板、计划、发布检查表、仪表盘、浏览器或文档。人可以操作控件,代理也能调用 Canvas 提供的能力,双方作用于同一份共享状态。

发现并打开 Canvas

进入 Customize → Canvas 浏览推荐项。某些 Canvas 随插件提供,需要先 Install plugin,再 New session。已安装的可用内容也能在 Installed 中查看。

创建自己的界面

在会话中输入 /create-canvas,说明工作流、用户能做的动作,以及代理应可调用的能力。例如,让任务板支持创建、分配和移动卡片,并向代理开放相应操作。

创建时选择保存范围:

范围路径用途
Project.github/extensions提交到仓库,与团队共享
User~/.copilot/extensions本机个人 Canvas

构建完成后,Canvas 在应用右侧面板打开。后续可要求修改界面、共享状态或可调用能力,也能直接操作按钮、卡片和筛选器。

常见文件结构

每个 Canvas 位于自己的目录,通常包含 package.json 元数据与依赖、例如 extension.mjs 的入口,以及可选的 JSON 持久化资料,如 artifacts 下的状态文件。

这些是官方列举的常见结构,不是所有 Canvas 都必须拥有同名状态文件的固定 schema。Canvas 也可以作为插件的一部分,与 Skills 和 MCP 一起分发。

适用工作

对于需要反复检查与修正的工作,Canvas 可以把进度直接呈现在任务板或文档中。Markdown Canvas 可汇集日程、优先事项与会话入口;文档类 Canvas 可承载文档、表格和演示内容。

只有当代理生成或插件提供了相应能力后,它才能调用这些动作;示例中的 get_board、add_card、move_card 是能力设计示例,不是每个 Canvas 内置的通用工具名。