diff --git a/muse-studio/src/pages/MarketAssetDetailPage.tsx b/muse-studio/src/pages/MarketAssetDetailPage.tsx
index 514576d9..3e719faf 100644
--- a/muse-studio/src/pages/MarketAssetDetailPage.tsx
+++ b/muse-studio/src/pages/MarketAssetDetailPage.tsx
@@ -99,6 +99,30 @@ export default function MarketAssetDetailPage() {
navigate(`/handoff/land/knowledge?${params.toString()}`);
}
+ // 发起跨空间交接到 content(asset_use):同款一次性 token 流,目标 content 空间记录"作品使用市场资产作参考/AI 上下文"。
+ // asset_use 不依赖资产物化(sourceAssetId=真实 asset id),故来源侧发起入口完整可用(P3 完整闭环)。
+ async function startContentHandoff() {
+ if (!assetId || !targetWorkId || !precheck?.authorizationSummaryId) return;
+ const returnPath = `/market/assets/${assetId}`;
+ const res = await createHandoff.mutateAsync({
+ assetId,
+ targetOwner: 'content',
+ targetAction: 'asset_use',
+ targetWorkId: Number(targetWorkId),
+ authorizationSummaryId: precheck.authorizationSummaryId,
+ returnUrl: `${window.location.origin}${returnPath}`,
+ });
+ if (!res.handoffToken) return;
+ const params = new URLSearchParams({
+ token: res.handoffToken,
+ assetId,
+ targetWorkId,
+ action: 'asset_use',
+ returnUrl: returnPath,
+ });
+ navigate(`/handoff/land/content?${params.toString()}`);
+ }
+
return (
@@ -271,6 +295,16 @@ export default function MarketAssetDetailPage() {
{createHandoff.isPending ? '发起交接中…' : '前往绑定(进入知识空间)'}
)}
+ {precheck?.handoffReady && (
+
+ )}
{createHandoff.isError && (
发起交接失败:{createHandoff.error.message}