fix(canvas): 图片引用编号 - 同步提示词中的媒体引用 (#441)

* fix(media): 对象存储参考素材 - 协议支持 URL 时优先发送签名链接

开启对象存储后,支持 URL 的上游协议优先发送 OSS/COS/七牛/S3 签名链接;必须传字节的协议仍走 Base64 或 multipart。本地资源回退字节,签发失败直接报错,不自动重发生成。

* fix(canvas): 图片引用清理 - 取消引用时同步移除提示词引用

* fix(canvas): 图片引用编号 - 同步提示词中的媒体引用
This commit is contained in:
Rou
2026-09-08 16:59:00 +08:00
committed by GitHub
parent 5bda548fe9
commit 95b004ec0f
2 changed files with 18 additions and 1 deletions

View File

@@ -133,7 +133,11 @@ function removeCanvasMentionToken(value: string, token: string) {
function replaceCanvasMentionToken(value: string, token: string, replacement: string) {
if (!token) return value;
const escapedToken = token.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
return value.replace(new RegExp(`${escapedToken}(?=${CANVAS_RESOURCE_MENTION_BOUNDARY.source})`, "gu"), replacement);
// Numbered media mentions can touch Chinese prose or another mention, but not a longer number.
const boundary = /^@(图片|视频|音频|文本)\d+$/.test(token)
? "(?![0-9])"
: token.startsWith("@[node:") ? "" : `(?=${CANVAS_RESOURCE_MENTION_BOUNDARY.source})`;
return value.replace(new RegExp(`${escapedToken}${boundary}`, "gu"), replacement);
}
function compactRemovedCanvasMentionPrompt(value: string) {