> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myrmagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 画布工作区

> 基于 tldraw 的无限画布，用于视觉化头脑风暴、Agent 驱动的图表构建、以及你与 AI Agent 之间的实时协作。

# 画布工作区

Myrm 内置了基于 [tldraw](https://tldraw.dev) 的**无限画布**，为你提供一个自由的视觉工作空间，用于头脑风暴、绘制图表和视觉提示 —— 无需离开平台。

## 使用流程

<Steps>
  <Step title="创建画布">
    从侧边栏菜单导航到**画布**。点击**新建画布**创建一个全新的工作区。你可以管理多个画布 —— 随时重命名、切换或删除。
  </Step>

  <Step title="绘制和标注">
    完整的 tldraw 工具集可用：手绘、形状、文字、箭头、便签等。所有内容通过防抖自动保存 —— 无需手动保存。
  </Step>

  <Step title="Agent 交互">
    你的 AI Agent 可以读取画布状态、查看你选中的内容、并插入新元素。这实现了**视觉提示** —— 画一个草图，选中它，然后让 Agent 去完善或实现它。
  </Step>

  <Step title="实时同步">
    当 Agent 通过 MCP 工具修改画布时，变更会通过 SSE（服务端推送事件）即时显示。多个浏览器标签页保持同步。
  </Step>
</Steps>

## 启用画布工具

让 Agent 与你的画布交互：

1. 打开**聊天配置面板**（点击发送按钮旁的展开按钮）
2. 点击**内置工具**
3. 开启**无限画布**
4. 导航到或打开一个画布 —— Agent 会自动绑定当前活跃画布

启用后，Agent 获得三个画布操作能力：

| 工具                          | 功能说明                                 |
| --------------------------- | ------------------------------------ |
| **canvas\_get\_state**      | 读取完整的 tldraw 快照 —— Agent 能看到画布上的所有内容 |
| **canvas\_get\_selection**  | 读取你当前选中的图形 —— Agent 知道你的关注点          |
| **canvas\_insert\_element** | 向画布添加新图形（文字、便签、矩形、箭头等）               |

这使得以下工作流成为可能：

* 画一个线框图 → 让 Agent 根据它生成代码
* 选中一个图表 → 让 Agent 解释或改进它
* 让 Agent 可视化一个概念 → 它直接在你的画布上绘制
* 粘贴会议笔记 → 让 Agent 在画布上创建思维导图

## 多画布管理

与单画布工具不同，Myrm 支持**多个独立画布**：

* 为不同的项目或头脑风暴会议创建画布
* 重命名画布以便识别
* 删除不再需要的画布
* 画布元数据存储在 SQLite 中；快照以 JSON 文件持久化

## 安全性

* **路径遍历防护**：画布 ID 在任何文件系统操作前都会验证为合法 UUID
* **非阻塞 I/O**：所有文件读写使用 `asyncio.to_thread`，避免阻塞事件循环
* **SSE 断线重连**：如果事件流断开，自动 3 秒退避重连

## 国际化

画布 UI 完整支持**英文**和**中文**本地化，包括所有标签、按钮、空状态和确认对话框。
