跳至文档内容

单个 Node 已经有用;图让工作成为系统。

Kavor 不要求你放弃喜欢的 coding agent、隐藏终端,或把每个决定都变成新的聊天。它把参与者、工具和上下文放在同一个 Canvas 上,让你看清谁在工作、使用什么资源,以及受哪些边界约束。

Canvas 上的每个一等元素都是 Node。CodingAgent 是 Node,Specification 也是。Sticky Note、Terminal、File 和 Trigger 共享同一空间,因为它们都能参与工作,只是各自承担不同责任。

Node 单独存在时已经有价值。创建 Connection 后,这种价值会成为明确的能力。多条 Connections 形成图后,上下文、 执行、记忆和协作便不再散落在相互隔离的窗口与会话中。

模型如下:

Node → Connection → 图 → 人的决定

这个顺序描述工作如何获得结构。Connections 不是持久化的箭头,也不是自动执行下一个方框的流程;它们是 Nodes 之间 可见的关系。

一个 Canvas 可以同时承载持久意图、共享记忆、执行、文件和定时触发原因,并保持参与者及其 Connections 清晰可见。

Connection 真正改变了什么

Connection 回答一个实际问题:这两个 Nodes 能一起做什么?

根据组合不同,它可以让 CodingAgent 使用 Specification、写入 Sticky Note、操作 Terminal、把 File 作为明确范围,或与 另一个 CodingAgent 对话。它也可以把 File 的规范路径提供给 Terminal,或在指定时间唤醒已有活动会话的 CodingAgent。

同时,Connection 也建立边界:

  • Canvas 上相邻的 Nodes 不会因此互相获得访问权;
  • 在消息中提到一个 Node 不会授予能力;
  • 并非所有 Node 组合都受支持;
  • Guardrail 可以限制 Connection 已授予的能力;
  • 图让上下文可达,但不会自动批准操作。

结果少了“魔法”,却更加实用:你能在工作前、工作中和工作后检查结构。

七种 Nodes

CodingAgent:让你喜欢的 harness 成为图中的参与者

CodingAgent 是你已经使用的原生 provider,运行在它自己的终端界面中。Kavor 不用通用聊天替代 Claude Code、Codex 或 Google Antigravity,而是保留各 harness 的原生体验,并把它放到 Canvas 上。

每个 CodingAgent 都可以有清晰角色。只要 harness 支持,它就保留原生的 provider、模型和 effort 选项。你可以让 Spec Writer 专注问题和决策,让 Builder 专注实现,让 Reviewer 负责质疑结果。

相连的 CodingAgents 可以交换异步消息。你仍能在 Messages 面板查看对话并在需要时介入。把它们连接到 Specifications、 Files、Sticky Notes 和 Terminals 后,图会明确展示哪些资源参与了这项工作。

还是同一个 harness,只是上下文和能力变得可见。

Specification:跨越会话的意图

Specification 用持久 Markdown 记录决策、范围、限制和验收标准。它可以描述架构基础、集成、领域建模、feature、模块, 或一组边界明确的修复。

你可以手动编写,也可以与 CodingAgent 共同完成。面对困难主题,在实现前投入最好的推理能力通常值得:此时深入思考, 往往比后来消除歧义更便宜。

Specifications 具有 lifecycle。Draft 用于调查和决策;Ready 表示合同可以实现;In progress、Blocked 和 Done 让工作状态保持可见。只有真正满足验收标准后,Done 才有意义。

把同一 Specification 连接到承担不同角色的 agents,就能分别指导编写、实现和评审,而不依赖某一次对话的记忆。

Sticky Note:共享工作记忆

Sticky Note 是 Canvas 上的便利贴。你可以像使用普通速记一样记录问题、假设、临时决定、findings 和后续步骤。

连接 CodingAgent 后,它多了一双手。Agent 可以与你共同维护内容:在形成 Specification 时汇总待定决定;在实现过程中 记录需要你关注的事项;或回答“已经做了什么、正在做什么、接下来做什么”,而不把状态埋进聊天历史。

Sticky Notes 适合作为非正式、可见的记忆。当一项决定成为实现和未来维护所需的持久合同,应把它提升为 Specification, 而不是永远留在便签里。

共享上下文不代表智能体可以自行整理你或其他参与者的笔记。请明确它应维护哪张便签、保留哪些内容; 规则和示例见Sticky Note 指南。

Terminal:始终可见的执行

Terminal 把 shell 保留在同一个可视 Workspace 中。你可以在多个终端之间切换、观察日志、运行检查,或保持与远程机器的 连接,而不离开周围的 Canvas。

连接 CodingAgent 后,你们可以在同一个 Terminal 中工作。Agent 能检查 output、在允许时运行命令、跟踪关联执行并协助 诊断。人的输入始终优先,Guardrail 也可以让 Connection 保持只读。

Files 和 Specifications 还能通过环境变量把路径提供给 Terminal。Trigger 可以把定时命令直接送到活动的 shell 会话。

Terminal 不会把执行藏在不透明的自动化背后;进程、命令和结果始终可见。

File:参与 Canvas 的文件

File 就是文件。价值在于让它的规范来源在图中变得可见而明确。

连接 CodingAgent 后,它可以界定要读取、评审或修改的文件。在 Canvas 上,你也可以保持文本、图片或 PDF 可见,同时组织 其他工作。

连接 Terminal 后,File 的绝对路径可以通过环境变量暴露。这样就能直观地把脚本、SQL 文件、配置或其他材料作为命令输入, 无需在窗口之间复制路径。

File 不会变成一次性 attachment;它仍是 filesystem 中的真实来源。

WebBrowser:向人与智能体开放的 Web

WebBrowser 把真实 Chromium 页面放到 Canvas 上。你可以浏览、保留标签页并跟踪页面变化,而不必离开 Workspace。

连接到 CodingAgent 后,它不再只是视觉参考。智能体可以观察并操作你看到的同一实时页面:导航、点击、 填写字段、等待状态并捕获证据。Connection 让浏览器可达;它不会绕过身份验证、权限或人的决定。

浏览器 profile 专供 Kavor 使用,并由其 WebBrowsers 共享。删除 Node 后,cookies 和会话仍可能保留,直到你在 Settings 中清除浏览器数据。为了支持开发,此 profile 接受自签名、过期和私有证书。因此恶意网络可以向它 提供任意证书;尤其在登录服务时,请明确意识到这种暴露。

在同一窗口切换 Workspace 时,Kavor 会保留实时页面。返回后,WebBrowser 无需重新加载即可恢复显示,连接的 CodingAgent 在 Workspace 不可见时也能继续操作该状态。关闭标签页、删除 Node 或结束会话会终止这种连续性。

WebBrowser 在 Kavor Canvas 上连接到 CodingAgent (在新标签页中打开)

查看人与 CodingAgent 如何在同一页面上协作 → (在新标签页中打开)

Trigger:可见的活动起因

Trigger 在时间上安排一个操作。它可以像操作系统 cron 一样把命令交给 Terminal,也可以向已有活动会话的 CodingAgent 发送清晰 prompt。

当目标已连接其他 Nodes 时,Trigger 的价值更大。它可以唤醒一个 agent:检查 File、在 Terminal 中运行验证、把报告写入 Sticky Note,并请求另一个 CodingAgent 做独立评审。

这样,一个日历时刻就能启动小型自治或半自治系统。Trigger 发起活动;图提供上下文、工具、记忆和协作。

Trigger 不会自行决定什么值得做,不会扩大权限,也不会启动你关闭的会话。它只有一个直接目标:CodingAgent 或 Terminal。

当 Nodes 形成图

当每个 Node 都有明确责任,每条 Connection 都表达真实需求时,Canvas 的价值才会显现。下面三个图展示这种递进。

从意图到评审

Specification → Builder → Reviewer → 人的决定

Specification 保存合同,Builder 实现,Reviewer 按验收标准核对结果。Sticky Note 保存 findings 和工作决定;Terminal 提供 tests 和检查等证据。

Connections 不会自动执行这个顺序。它们让所需参与者和能力在同一个图中可达。

定时维护

Trigger → Maintainer

Maintainer 连接到包含输入数据的 File、用于检查的 Terminal、记录报告的 Sticky Note,以及提供独立判断的 Reviewer。

Kavor 运行且目标会话处于活动状态时,Trigger 会在配置时间送达 prompt。CodingAgent 使用原有上下文和边界工作。你回到 Workspace 后可以查看结果、消息和证据。

受监督的运维命令

Trigger → Terminal

包含 SQL 或脚本的 File 通过环境变量把路径提供给 Terminal。Trigger 把定时命令送到活动会话。连接 Terminal 的 CodingAgent 可以协助分析结果,而你始终能看到整个过程。

这个图自动化的是“原因”和“执行”,不会假装系统能自行理解成功的含义。

复用图,而不必重建每个 Node

一个有效的小组合,例如 Builder、Reviewer 和 Sticky Note,可以复制到另一项任务,也可以移动到另一个 Workspace。 请选择所有应一起转移的 Nodes:只捕获所选 Nodes 之间的 Connections。

复制或移动

  1. 在 Canvas 上选择 Nodes,将焦点移出编辑器、Terminal 和 WebBrowser 页面。
  2. macOS 使用 ⌘C 复制,Windows/Linux 使用 Ctrl+C;移动使用 ⌘X 或 Ctrl+X。 上下文菜单也提供 Copy Node / Copy Nodes 和 Cut Node / Cut Nodes。
  3. 留在同一 Canvas,或打开目标 Workspace,也可以在另一个 Kavor 窗口中打开。
  4. 将指针放在希望出现组合的位置,使用 ⌘V 或 Ctrl+V。如果 Canvas 中没有指针位置, 则粘贴到可见区域中心。通过上下文菜单粘贴时使用菜单打开的位置。
  5. 继续工作前,检查目标中的 Nodes、Connections 和资源。

相对布局保持不变。复制可以多次粘贴;剪切在移动完成后消耗。剪切并不立即删除组合: 尚未粘贴时,在源 Canvas 按 Esc 可以取消。已完成的粘贴支持 Undo/Redo,但如果 Nodes 随后被修改, Kavor 可能拒绝会覆盖这些修改的撤销。

结构不是会话,也不是备份

图剪贴板只存在于当前运行的 Kavor 进程中。应用重启会丢失捕获,其他复制替换剪贴板也可能使其失效。 它不是用于跨机器共享的导出格式。

  • 外部 Connections: 不复制指向选择范围外 Nodes 的连接。移动到另一个 Workspace 时, 源端这些连接会被移除;请确保选中了需要的全部上下文。
  • CodingAgent 和 Terminal: 复制不会克隆对话、进程或执行历史。跨 Workspace 移动会关闭源会话。 CodingAgent 不带走 Git/worktree 关联,而是在目标 Workspace 的上下文中开始;工作前请检查目录和配置。
  • File: 粘贴引用同一个实体文件,不复制其字节。如果目标已经有该文件的实体化 Node,就复用它。 修改源仍会影响同一个文件。
  • 另一个 Workspace 中的 Specification: Markdown 显示为 File,而不是具有相同 lifecycle 的新 Specification。Specification 和元数据仍属于原来的 Workspace。
  • Trigger: 复制的 Trigger 初始为暂停状态。使用 Resume 前检查目标和 payload。 尚有未解决 delivery 的 Trigger 不能移到另一个 Workspace;等到最终状态后再试。

如果粘贴失败是因为剪切的选择发生变化,或源已不存在,请检查源端并重新捕获。 复制了图不等于证明智能体已经完成工作。

要把文件或图像粘贴到会话输入中,而不是把 Nodes 粘贴到 Canvas,请使用 Terminal 操作步骤。

从工作出发,而不是追求 Node 数量

更大的 Canvas 不一定更好。先建立能让结果可验证的最小结构:

  1. 定义必须发生的事情;
  2. 当决策、范围或标准需要长期保留时,加入 Specification;
  3. 选择 CodingAgent 并赋予清晰角色;
  4. 当具体范围必须明确时,连接 File;
  5. 当任务需要执行或证据时,连接 Terminal;
  6. 当人和 agent 需要共享工作记忆时,使用 Sticky Note;
  7. 当工作需要观察或操作实时页面时,连接 WebBrowser;
  8. 当独立评审或并行工作确实改善结果时,加入另一个 CodingAgent;
  9. 当时间确实是活动起因时,最后加入 Trigger。

目标不是填满 Canvas,而是建立一个足够小、易于理解,同时足够完整、能保留意图、执行、证据和决定的系统。

继续阅读

最后审核 2026年10月8日验证版本 Kavor 1.7.0分享文档反馈