Repository navigation
Open
Labels
area:agentAgent runtime, assistant chat and toolsAgent runtime, assistant chat and toolsarea:canvasCanvas, nodes and direct manipulationCanvas, nodes and direct manipulationhelp wantedExtra attention is neededExtra attention is neededtype:featNew capability or behaviourNew capability or behaviour
Description
Goal and scope
When an Agent references content on the canvas through a link in its reply, render a clickable hyperlink. Clicking it should locate the corresponding object on the canvas so the user can inspect and continue editing it.
Cover all canvas content, including text, images, video, audio, subjects, timelines, and groups. For example, clicking “Finished video” in a reply focuses the corresponding video node.
Example
An Agent creates a video, adds it to the canvas, and includes this link in its reply.
[download video](goodnight-head-replacement-assembled-768p.mp4)| Before | After |
|---|---|
The reply displays download video [blocked]. The user must find the video manually on the canvas. |
The reply displays download video as a clickable hyperlink. Clicking it selects and highlights the corresponding video node and moves the viewport to show it. |
The filename is resolved to the canvas object through the message's execution context and asset provenance.
User flow
- The Agent reads or modifies project objects and includes links to relevant canvas content in its reply.
- The chat renders each supported reference as a hyperlink using the Agent's display text.
- Clicking the link reveals the target, selects and highlights it, and moves the viewport to frame it at a usable zoom.
- The user can inspect or edit the focused object and continue the conversation.
Reference resolution
- Identify targets by stable project and canvas object IDs. Resolve the object's current position when clicked so moving, renaming, or grouping it does not invalidate the reference.
- Make the link format available through shared tool receipts, CLI guidance, and runtime instructions. Support OpenCode, OpenJiuwen, Codex, dsh, and Bundled.
- Support relative Markdown links such as
[Finished video](output.mp4)when the originating execution context and asset provenance resolve them to canvas content. Persist the resolved identity with the message. - When a referenced asset has several canvas representations, offer a target choice unless the message already identifies a specific canvas object. A filename alone must not silently select an unrelated object.
- Persist references with conversation history so links continue to work after reloading or reopening the project.
Interaction and errors
- Frame the target using its current geometry, including parent-group transforms. Keep the chat available after navigation.
- For an existing hidden object, offer an explicit reveal action through the shared canvas command and respect its current revision and permissions.
- If content exists as a project asset but has no canvas representation, offer to show it on the canvas through the existing business operation.
- Report deleted, missing, ambiguous, or inaccessible targets with clear English and Chinese messages.
- For references to another project, show the destination and require an explicit project-opening action before navigation.
- Preserve unsubmitted edits during navigation. Respect existing object locks and project access rules.
- Keep ordinary external links working through the existing link policy.
Implementation impact
- Extend assistant link rendering with a project-reference resolver and canvas navigation callback.
- Reuse project queries and existing canvas selection, viewport, highlighting, and reveal operations.
- Carry stable references and their originating context through persisted messages and runtime adapters.
- Render supported project references as navigation links through the shared resolver.
Acceptance criteria
- Agent links locate text, image, video, audio, subject, timeline, and group objects on the canvas.
- Clicking a link selects and highlights the correct object and frames it at a usable zoom.
- Links remain valid after moving, renaming, regrouping, reloading, and reopening the project.
- A relative file link resolves to its corresponding canvas object through recorded execution context and asset provenance.
- Duplicate filenames and multiple representations produce a clear choice when the target is ambiguous.
- Hidden objects and assets without a canvas representation provide the appropriate reveal action.
- Missing, deleted, inaccessible, and cross-project targets follow the defined interaction and error rules.
- Verify streamed and completed replies across supported runtimes, with English and Chinese UI evidence.
Metadata
Metadata
Assignees
Labels
area:agentAgent runtime, assistant chat and toolsAgent runtime, assistant chat and toolsarea:canvasCanvas, nodes and direct manipulationCanvas, nodes and direct manipulationhelp wantedExtra attention is neededExtra attention is neededtype:featNew capability or behaviourNew capability or behaviour
Activity
Xingkai98 commentedon Nov 15, 2026
Hi @FayeSpica, I'd like to take this one — could you assign it to me? Thanks!