Document Canvas 用于在 OpenCode 中展示 Markdown 文档,支持可选的文本选择与差异高亮,适合展示文档、邮件,或让用户选中文本进行编辑。
主要能力:渲染 Markdown(标题、粗体、斜体、行内与围栏代码、链接、列表、引用);差异高亮(新增绿色背景、删除红色背景);在 edit 场景下可点击拖拽选择文本,关闭时返回选区。
使用方式:高层工具推荐 canvas_display_document(只读展示,可传 content、title、可选 diffs)和 canvas_edit_document(编辑/选择,传 content、title)。低层可用 canvas_spawn,指定 kind: "document"、scenario(display、edit 或 email-preview)及 config。生成后可用 canvas_get_selection 获取选区、canvas_get_content 获取全文、canvas_update 更新内容或配置、canvas_close 关闭画布。
场景:display 为只读视图,可滚动但不可选文本;edit 为交互视图,可拖拽选择文本并在关闭时返回;email-preview 为邮件内容专用展示格式。
配置:DocumentConfig 含 content(Markdown 内容)、title(标题)、diffs(差异标记数组)、readOnly(禁用选择)。DocumentDiff 含 startOffset、endOffset、type(added、removed、modified)。选区结果 DocumentSelection 含 selectedText、startOffset、endOffset、startLine、endLine、startColumn、endColumn。
控制:鼠标点击拖拽选择文本(edit 场景);上下键或滚动浏览;q 或 Esc 关闭/取消。
限制:资料未提供收费、价格、平台支持范围及性能等细节。