diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 8424b00b..dfde091e 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -1181,10 +1181,21 @@ export default function Home() { } async function shareSession(session: ChatSession) { + const sharePayload = { + share_payload_version: 1, + exported_at: new Date().toISOString(), + title: session.title, + theme: session.theme, + message_count: session.messages.length, + messages: session.messages.map((message) => ({ role: message.role, text: message.text })), + }; const transcript = [ `Jyotisha 对话:${session.title}`, "", ...session.messages.map((message) => `${message.role === "user" ? "我" : "Jyotisha"}:${message.text}`), + "", + "---- JSON 分享包 ----", + JSON.stringify(sharePayload, null, 2), ].join("\n"); try { await navigator.clipboard.writeText(transcript); diff --git a/tests/test_session_management_entrypoints.py b/tests/test_session_management_entrypoints.py index 722f6b25..e592fbec 100644 --- a/tests/test_session_management_entrypoints.py +++ b/tests/test_session_management_entrypoints.py @@ -13,6 +13,8 @@ def test_chat_history_management_actions_are_exposed() -> None: "toggleArchivedSession", "showArchivedSessions", "shareSession", + "share_payload_version", + "messages.map", "onContextMenu", "session-menu-trigger", 'role="menu"',