公开统计
482热度分
74消息量
4,771世界书字符
1,810固定设定字符
以下状态来自本地公开导出字段;样式与模板仅提供安全预览/下载,不在本站自动执行。
cover: dsusvxvrwpr03bacwionoq03.webpbackground: oqskeoqr39zmawnrlyzqhu05.webp导出中只有文件名引用,未包含实际图片二进制资源。
{
"renderTemplate": null,
"assistantRegexReplace": [
{
"enabled": false,
"applyMode": "all",
"messageRole": "all",
"regex": "",
"replaceString": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes\" />\n <title>牧神记 · 命运抉择</title>\n <link href=\"https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=Noto+Serif+SC:wght@300;400;700&display=swap\" rel=\"stylesheet\" />\n <style>\n /* ===== 基础样式 ===== */\n * { margin: 0; padding: 0; box-sizing: border-box; }\n body {\n min-height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n background: #0b0818;\n font-family: 'Noto Serif SC', serif;\n padding: 16px;\n }\n .card {\n max-width: 440px;\n width: 100%;\n background: rgba(14, 10, 28, 0.88);\n backdrop-filter: blur(16px);\n border-radius: 28px;\n padding: 24px;\n border: 1px solid rgba(200, 170, 100, 0.25);\n box-shadow: 0 20px 60px rgba(0,0,0,0.7);\n color: #d4c8b0;\n }\n .status-bar {\n display: flex;\n justify-content: space-between;\n font-size: 13px;\n color: rgba(210,195,175,0.6);\n padding-bottom: 12px;\n border-bottom: 1px solid rgba(200,170,100,0.1);\n margin-bottom: 16px;\n }\n .title {\n font-family: 'Ma Shan Zheng', cursive;\n font-size: 34px;\n color: #e8d08a;\n text-shadow: 0 0 20px rgba(200,170,80,0.15);\n letter-spacing: 4px;\n }\n .title small {\n font-size: 18px;\n color: rgba(200,170,100,0.35);\n font-weight: 300;\n margin-left: 6px;\n }\n .title-line {\n width: 60px;\n height: 2px;\n background: linear-gradient(90deg, #c9a84c, transparent);\n margin: 6px 0 16px 0;\n }\n .step-indicator {\n display: flex;\n gap: 10px;\n font-size: 12px;\n color: rgba(200,170,100,0.3);\n margin-bottom: 14px;\n }\n .step-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: rgba(200,170,100,0.15);\n transition: 0.3s;\n }\n .step-dot.active { background: #c9a84c; box-shadow: 0 0 12px rgba(200,170,80,0.3); }\n .step-dot.done { background: rgba(200,170,100,0.4); }\n .step-label { margin-right: 4px; }\n .step-label.active { color: rgba(200,170,100,0.6); }\n\n .choice-section { margin-bottom: 12px; }\n .choice-label {\n font-size: 13px;\n color: rgba(210,195,175,0.5);\n margin-bottom: 8px;\n display: flex;\n gap: 8px;\n align-items: center;\n }\n .badge {\n font-size: 10px;\n background: rgba(200,170,100,0.08);\n padding: 1px 10px;\n border-radius: 20px;\n color: rgba(200,170,100,0.3);\n }\n .choice-grid {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n .choice-btn {\n background: rgba(200,170,100,0.04);\n border: 1px solid rgba(200,170,100,0.08);\n border-radius: 12px;\n padding: 10px 14px;\n color: rgba(210,195,180,0.7);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n text-align: left;\n }\n .choice-btn:hover {\n border-color: rgba(200,170,100,0.25);\n background: rgba(200,170,100,0.06);\n transform: translateX(3px);\n }\n .choice-btn.selected {\n border-color: #c9a84c;\n background: rgba(200,170,100,0.08);\n color: #e8d08a;\n }\n .choice-btn .icon { font-size: 18px; width: 28px; opacity: 0.5; }\n .choice-btn.selected .icon { opacity: 1; }\n .choice-btn .tag {\n font-size: 10px;\n color: rgba(200,170,100,0.15);\n background: rgba(200,170,100,0.04);\n padding: 1px 8px;\n border-radius: 20px;\n margin-left: auto;\n }\n\n .result-box {\n padding: 14px 18px;\n border-radius: 14px;\n background: rgba(200,170,100,0.03);\n border: 1px solid rgba(200,170,100,0.06);\n margin-top: 4px;\n }\n .result-box .r-title {\n color: #e8d08a;\n font-size: 15px;\n display: flex;\n gap: 8px;\n align-items: center;\n margin-bottom: 6px;\n }\n .result-box .r-desc {\n font-size: 13px;\n line-height: 1.8;\n color: rgba(210,195,180,0.65);\n }\n .footer {\n margin-top: 16px;\n padding-top: 14px;\n border-top: 1px solid rgba(200,170,100,0.07);\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n .btn-reset {\n background: rgba(200,170,100,0.04);\n border: 1px solid rgba(200,170,100,0.06);\n border-radius: 20px;\n padding: 4px 16px;\n color: rgba(200,170,100,0.2);\n font-size: 12px;\n cursor: pointer;\n }\n .btn-reset:hover {\n border-color: rgba(200,170,100,0.15);\n color: rgba(200,170,100,0.4);\n }\n .hidden { display: none !important; }\n /* 移动端适配 */\n @media (max-width: 420px) {\n .title { font-size: 28px; }\n .title small { font-size: 14px; }\n .choice-btn { font-size: 13px; padding: 8px 12px; }\n }\n </style>\n</head>\n<body>\n<div class=\"card\">\n <!-- 状态栏 -->\n <div class=\"status-bar\">\n <span>中国联通</span>\n <span>2:26 100%</span>\n </div>\n\n <!-- 标题 -->\n <div class=\"title\">牧神记 <small>· 大世界</small></div>\n <div class=\"title-line\"></div>\n\n <!-- 步骤指示器 -->\n <div class=\"step-indicator\" id=\"stepIndicator\">\n <span class=\"step-dot active\" id=\"dot1\"></span><span class=\"step-label active\" id=\"label1\">角色</span>\n <span style=\"color:rgba(200,170,100,0.1);\">—</span>\n <span class=\"step-dot\" id=\"dot2\"></span><span class=\"step-label\" id=\"label2\">抉择</span>\n <span style=\"color:rgba(200,170,100,0.1);\">—</span>\n <span class=\"step-dot\" id=\"dot3\"></span><span class=\"step-label\" id=\"label3\">结局</span>\n </div>\n\n <!-- 步骤1:选择角色 -->\n <div class=\"choice-section\" id=\"step1\">\n <div class=\"choice-label\">✦ 选择你的视角 <span class=\"badge\">角色</span></div>\n <div class=\"choice-grid\">\n <button class=\"choice-btn\" data-role=\"custom\" onclick=\"selectRole('custom')\">\n <span class=\"icon\">⚔️</span> 自定义角色 <span class=\"tag\">自创</span>\n </button>\n <button class=\"choice-btn\" data-role=\"qinmu\" onclick=\"selectRole('qinmu')\">\n <span class=\"icon\">🐉</span> 秦牧 <span class=\"tag\">主角</span>\n </button>\n <button class=\"choice-btn\" data-role=\"lingyuxiu\" onclick=\"selectRole('lingyuxiu')\">\n <span class=\"icon\">🌸</span> 灵毓秀 <span class=\"tag\">女主</span>\n </button>\n </div>\n </div>\n\n <!-- 步骤2:剧情选项(动态渲染) -->\n <div class=\"choice-section hidden\" id=\"step2\">\n <div class=\"choice-label\">✦ 选择你的道路 <span class=\"badge\" id=\"roleBadge\">自定义</span></div>\n <div class=\"choice-grid\" id=\"plotOptions\"></div>\n </div>\n\n <!-- 步骤3:结局展示 -->\n <div class=\"choice-section hidden\" id=\"step3\">\n <div class=\"result-box\" id=\"resultBox\">\n <div class=\"r-title\"><span id=\"resultIcon\">📜</span> <span id=\"resultTitle\">命运已定</span></div>\n <div class=\"r-desc\" id=\"resultDesc\">你的选择将改变大世界的走向……</div>\n </div>\n </div>\n\n <!-- 底部 -->\n <div class=\"footer\">\n <span style=\"font-size:11px; color:rgba(180,165,145,0.2);\">一念因果</span>\n <button class=\"btn-reset\" onclick=\"resetAll()\">⟳ 重开</button>\n </div>\n</div>\n\n<script>\n // ============================================================\n // 数据 —— 完全按照您的需求\n // ============================================================\n const PLOT_DATA = {\n custom: {\n label: '自定义角色',\n icon: '⚔️',\n options: [\n { id: 'custom_brother', label: '与秦牧成为兄弟', icon: '🤝', desc: '你与秦牧在大墟中相识,肝胆相照,共同破局。从此世间多了一对并肩抗天的兄弟。' },\n { id: 'custom_enemy', label: '与秦牧反目成仇', icon: '💥', desc: '因理念分歧,你与秦牧刀剑相向。昔日知己,今朝死敌,天道棋局因你们而更加混沌。' },\n { id: 'custom_dark', label: '堕入魔道,强行掳走灵毓秀', icon: '🌑', desc: '你被心魔吞噬,以滔天魔威掳走灵毓秀。秦牧怒发冲冠,正邪对决席卷三界。' }\n ]\n },\n qinmu: {\n label: '秦牧',\n icon: '🐉',\n options: [\n { id: 'qinmu_normal', label: '正常发展剧情', icon: '⚡', desc: '秦牧循着命运轨迹前行,从大墟走出,揭开天道真相,最终成为打破棋局的关键之人。' }\n ]\n },\n lingyuxiu: {\n label: '灵毓秀',\n icon: '🌸',\n options: [\n { id: 'lingyuxiu_empress', label: '正常发展,成为女皇', icon: '👑', desc: '灵毓秀历经磨难,以智慧与仁德统御四方,终成一代女皇,开创盛世。' },\n { id: 'lingyuxiu_exile', label: '未经允许出门挑衅塞外,被留在塞外', icon: '🏜️', desc: '灵毓秀年少气盛,独自挑衅塞外势力,被困于茫茫大漠,命运从此偏离轨迹。' }\n ]\n }\n };\n\n // ============================================================\n // 状态与DOM操作\n // ============================================================\n let state = { role: null, plotId: null, step: 1 };\n\n const step1 = document.getElementById('step1');\n const step2 = document.getElementById('step2');\n const step3 = document.getElementById('step3');\n const plotOptions = document.getElementById('plotOptions');\n const roleBadge = document.getElementById('roleBadge');\n const resultIcon = document.getElementById('resultIcon');\n const resultTitle = document.getElementById('resultTitle');\n const resultDesc = document.getElementById('resultDesc');\n const dot1 = document.getElementById('dot1'), dot2 = document.getElementById('dot2'), dot3 = document.getElementById('dot3');\n const label1 = document.getElementById('label1'), label2 = document.getElementById('label2'), label3 = document.getElementById('label3');\n\n function updateSteps() {\n [dot1,dot2,dot3].forEach((d,i) => {\n d.className = 'step-dot';\n if (i+1 === state.step) d.classList.add('active');\n else if (i+1 < state.step) d.classList.add('done');\n });\n [label1,label2,label3].forEach((l,i) => {\n l.className = 'step-label';\n if (i+1 === state.step) l.classList.add('active');\n });\n }\n\n function selectRole(roleKey) {\n if (state.step === 3) return;\n state.role = roleKey;\n state.plotId = null;\n document.querySelectorAll('[data-role]').forEach(b => b.classList.toggle('selected', b.dataset.role === roleKey));\n state.step = 2;\n updateSteps();\n const data = PLOT_DATA[roleKey];\n roleBadge.textContent = data.label;\n plotOptions.innerHTML = '';\n data.options.forEach((opt, idx) => {\n const btn = document.createElement('button');\n btn.className = 'choice-btn';\n btn.innerHTML = `<span class=\"icon\">${opt.icon}</span> ${opt.label} <span class=\"tag\">${idx+1}</span>`;\n btn.onclick = () => selectPlot(opt.id, roleKey);\n plotOptions.appendChild(btn);\n });\n step1.classList.add('hidden');\n step2.classList.remove('hidden');\n step3.classList.add('hidden');\n }\n\n function selectPlot(plotId, roleKey) {\n if (state.step === 3) return;\n state.plotId = plotId;\n // 高亮选中的选项\n plotOptions.querySelectorAll('.choice-btn').forEach(b => b.classList.remove('selected'));\n const data = PLOT_DATA[roleKey];\n const opt = data.options.find(o => o.id === plotId);\n if (opt) {\n plotOptions.querySelectorAll('.choice-btn').forEach(b => {\n if (b.textContent.includes(opt.label)) b.classList.add('selected');\n });\n }\n state.step = 3;\n updateSteps();\n if (opt) {\n resultIcon.textContent = opt.icon;\n resultTitle.textContent = `${data.label} · ${opt.label}`;\n resultDesc.innerHTML = opt.desc;\n }\n step2.classList.add('hidden');\n step3.classList.remove('hidden');\n }\n\n function resetAll() {\n state = { role: null, plotId: null, step: 1 };\n document.querySelectorAll('[data-role]').forEach(b => b.classList.remove('selected'));\n plotOptions.innerHTML = '';\n step1.classList.remove('hidden');\n step2.classList.add('hidden');\n step3.classList.add('hidden');\n updateSteps();\n resultIcon.textContent = '📜';\n resultTitle.textContent = '命运已定';\n resultDesc.innerHTML = '你的选择将改变大世界的走向……';\n }\n\n updateSteps();\n</script>\n</body>\n</html>"
}
],
"enableMemorySchema": true,
"memorySchema": "{\"type\":\"object\",\"properties\":{\"秦牧剧情发展\":{\"type\":\"object\",\"description\":\"正常发展剧情\",\"properties\":{\"if\":{\"type\":\"object\",\"description\":\"遁入魔道\",\"properties\":{}},\"property2\":{\"type\":\"object\",\"description\":\"正常的剧情\"}},\"required\":[\"if\",\"property2\"]},\"灵毓秀发展剧情\":{\"type\":\"object\",\"properties\":{\"property1\":{\"type\":\"object\",\"description\":\"正常发展,成为女皇\"},\"property2\":{\"type\":\"object\",\"description\":\"未经允许出门挑衅塞外,被留在塞外\"}},\"required\":[\"property1\",\"property2\"]},\"角色视角\":{\"type\":\"object\",\"properties\":{\"property1\":{\"type\":\"object\",\"description\":\"自定义角色视角\"},\"property2\":{\"type\":\"object\",\"description\":\"秦牧视角\"},\"property3\":{\"type\":\"object\",\"description\":\"灵毓秀视角\"}},\"required\":[\"property1\",\"property2\",\"property3\"]},\"剧情发展:自定义角色视角\":{\"type\":\"object\",\"properties\":{\"property1\":{\"type\":\"object\",\"description\":\"与秦牧成为兄弟\"},\"property2\":{\"type\":\"object\",\"description\":\"与秦牧反目成仇\"},\"property3\":{\"type\":\"object\",\"description\":\"堕入魔道,强行掳走灵毓秀\"}},\"required\":[\"property1\",\"property2\",\"property3\"]}},\"required\":[\"秦牧剧情发展\",\"灵毓秀发展剧情\",\"角色视角\",\"剧情发展:自定义角色视角\"]}",
"introPage": "jjdp579xffnhj6klwu9uejj3.html",
"options": {
"items": [
{
"order": 0,
"label": "角色视角",
"type": "SET-INPUT",
"value": "1自定义角色视角\n2秦牧视角\n3灵毓秀视角"
},
{
"order": 1,
"label": "剧情发展:选择自定义角色视角",
"type": "SET-INPUT",
"value": "1与秦牧成为兄弟\n2与秦牧反目成仇\n3堕入魔道,强行掳走灵毓秀"
},
{
"order": 2,
"label": "剧情发展:选择秦牧视角",
"type": "SET-INPUT",
"value": "1正常发展剧情\n2遁入魔道"
},
{
"order": 3,
"label": "剧情发展:灵毓秀视角",
"type": "SET-INPUT",
"value": "1正常发展,成为女皇\n2未经允许出门挑衅塞外,被留在塞外"
}
]
},
"defaultModelSettings": {
"model": "cherry_claude_premium/claude-opus-4-8"
},
"cover": "dsusvxvrwpr03bacwionoq03.webp",
"background": "oqskeoqr39zmawnrlyzqhu05.webp"
}本页只展示本地导出中可核验的公开字段。下载 JSON 可查看完整原始记录。