@customize-agent/server 4.10.3 → 4.10.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/chunks/1102.js +119 -0
- package/.next/server/chunks/1936.js +3 -3
- package/.next/server/chunks/4680.js +5 -5
- package/.next/server/chunks/5284.js +13 -13
- package/.next/server/chunks/8661.js +2 -2
- package/.next/server/chunks/9227.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/api/assets/generated/preview.js +1 -1
- package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
- package/.next/server/pages/api/assets/generated.js +1 -1
- package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
- package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
- package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/export.js +1 -1
- package/.next/server/pages/api/documents/export.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generate.js +2 -2
- package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id].js +1 -1
- package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated.js +1 -1
- package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
- package/.next/server/pages/api/documents/templates.js +1 -1
- package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
- package/.next/server/pages/asset-library.html +1 -1
- package/.next/server/pages/document-roles.html +1 -1
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages/template-references.html +1 -1
- package/.next/server/pages-manifest.json +30 -30
- package/.next/static/chunks/pages/documents-66057ee3c8ffff6d.js +1 -0
- package/.next/static/chunks/pages/guide-139f55bcc9c6548b.js +1 -0
- package/.next/static/css/3854c6b3c59c0c44.css +1 -0
- package/.next/static/{go7kKGo8dH6ivTNMXfyqi → g3K4vEIdUTpMyPKFRf5HZ}/_buildManifest.js +1 -1
- package/package.json +1 -1
- package/.next/server/chunks/1675.js +0 -102
- package/.next/static/chunks/pages/documents-b8aa16aa5a2cfdb8.js +0 -1
- package/.next/static/chunks/pages/guide-a73d8eea2cba97e1.js +0 -1
- package/.next/static/css/db2515737185f431.css +0 -1
- /package/.next/static/{go7kKGo8dH6ivTNMXfyqi → g3K4vEIdUTpMyPKFRf5HZ}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><link rel="preload" href="/_next/static/css/db2515737185f431.css" as="style"/><link rel="stylesheet" href="/_next/static/css/db2515737185f431.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3e8b35112a00821a.js" defer=""></script><script src="/_next/static/chunks/717-743b697a417dd5ee.js" defer=""></script><script src="/_next/static/chunks/69-34d57b77fd2eed20.js" defer=""></script><script src="/_next/static/chunks/700-5d29b0475311f590.js" defer=""></script><script src="/_next/static/chunks/787-c18af810af3433f6.js" defer=""></script><script src="/_next/static/chunks/102-881dcc464f983c89.js" defer=""></script><script src="/_next/static/chunks/195-2c0168eacab722d2.js" defer=""></script><script src="/_next/static/chunks/564-30bfcb28e1d2c309.js" defer=""></script><script src="/_next/static/chunks/pages/template-references-e0ab1466f28cc4fc.js" defer=""></script><script src="/_next/static/go7kKGo8dH6ivTNMXfyqi/_buildManifest.js" defer=""></script><script src="/_next/static/go7kKGo8dH6ivTNMXfyqi/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/template-references"><div class="sidebarItem sidebarItemActive"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library-big"><rect width="8" height="18" x="3" y="3" rx="1"></rect><path d="M7 3v18"></path><path d="M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"></path></svg><span class="sidebarLabel">模板参考</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div class="p-6 max-w-7xl mx-auto"><div class="space-y-6 animateFadeIn"><div class="flex flex-col lg:flex-row lg:items-end justify-between gap-5 pb-1"><div class="max-w-3xl"><h1 class="text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2.5 flex items-center gap-2.5"><span class="w-11 h-11 rounded-2xl flex items-center justify-center text-2xl bg-[var(--colorFillSecondary)]" style="color:var(--colorAccent)"><span role="img" aria-label="profile" class="anticon anticon-profile"><svg viewBox="64 64 896 896" focusable="false" data-icon="profile" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM492 400h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM340 368a40 40 0 1080 0 40 40 0 10-80 0zm0 144a40 40 0 1080 0 40 40 0 10-80 0zm0 144a40 40 0 1080 0 40 40 0 10-80 0z"></path></svg></span></span>模板参考库</h1><p class="text-sm text-[var(--colorTextSecondary)] leading-relaxed">上传优秀入围施组文件作为质量对标基准。系统自动解析质量画像(参数密度、工序链、结构等),生成文档后按工程类型对标。参考文件仅用于质量对标与结构参考,绝不作为项目事实材料参与生成。</p></div><div class="flex items-center gap-3 flex-wrap shrink-0"><div class="flex items-center gap-2.5 rounded-xl border border-[var(--colorBorderSecondary)] bg-[var(--colorBgElevated)] px-4 py-2.5"><span class="w-2 h-2 rounded-full shrink-0" style="background:#1677ff"></span><div class="leading-tight"><div class="text-lg font-bold text-[var(--colorText)]">0</div><div class="text-[11px] text-[var(--colorTextTertiary)]">有效样本</div></div></div><div class="flex items-center gap-2.5 rounded-xl border border-[var(--colorBorderSecondary)] bg-[var(--colorBgElevated)] px-4 py-2.5"><span class="w-2 h-2 rounded-full shrink-0" style="background:#16a34a"></span><div class="leading-tight"><div class="text-lg font-bold text-[var(--colorText)]">0</div><div class="text-[11px] text-[var(--colorTextTertiary)]">覆盖类型</div></div></div></div></div><div class="ant-card ant-card-bordered rounded-2xl css-1pi45l5 css-var-_R_16_"><div class="ant-card-body" style="padding:24px"><div class="flex flex-col gap-4"><div class="flex items-center justify-between gap-3 flex-wrap"><div class="flex items-center gap-2.5"><span role="img" aria-label="upload" class="anticon anticon-upload text-[var(--colorAccent)]"><svg viewBox="64 64 896 896" focusable="false" data-icon="upload" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"></path></svg></span><span class="font-semibold text-[var(--colorText)]">上传参考文件</span></div><span class="inline-flex items-center gap-1.5 text-xs text-[var(--colorTextTertiary)]"><span role="img" aria-label="check-circle" style="color:var(--colorOk)" class="anticon anticon-check-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="check-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"></path></svg></span>参考文件独立存储,永不进入知识库检索、永不作为生成事实材料。</span></div><div class="flex flex-wrap gap-2"><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer text-white shadow-sm scale-[1.03]" style="background:#6366f1;border-color:#6366f1">不选则自动分类</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#1677ff14;border-color:#1677ff33;color:#1677ff">房建</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#16a34a14;border-color:#16a34a33;color:#16a34a">市政</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#ea580c14;border-color:#ea580c33;color:#ea580c">公路</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#dc262614;border-color:#dc262633;color:#dc2626">桥梁与隧道</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#0891b214;border-color:#0891b233;color:#0891b2">水利水电</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#ca8a0414;border-color:#ca8a0433;color:#ca8a04">电力</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#7c3aed14;border-color:#7c3aed33;color:#7c3aed">机电安装</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#c026d314;border-color:#c026d333;color:#c026d3">装饰装修</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#65a30d14;border-color:#65a30d33;color:#65a30d">园林绿化</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#4f46e514;border-color:#4f46e533;color:#4f46e5">铁路</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#b4530914;border-color:#b4530933;color:#b45309">港口与航道</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#db277714;border-color:#db277733;color:#db2777">矿山冶金</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#64748b14;border-color:#64748b33;color:#64748b">其他</button></div><span class="ant-upload-wrapper !rounded-xl css-1pi45l5 css-var-_R_16_"><div class="css-1pi45l5 ant-upload ant-upload-drag"><span tabindex="0" class="ant-upload ant-upload-btn" role="button"><input type="file" style="display:none" accept=".pdf,.docx,.doc" name="file"/><div class="ant-upload-drag-container"><p class="ant-upload-drag-icon"><span role="img" aria-label="inbox" class="anticon anticon-inbox"><svg viewBox="0 0 1024 1024" focusable="false" data-icon="inbox" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0060.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z"></path></svg></span></p><p class="ant-upload-text">点击或拖拽上传参考文件</p><p class="ant-upload-hint">支持 PDF / Word 文档,可上传多份不同类型的入围文件累积沉淀</p></div></span></div></span></div></div></div><div class="ant-card ant-card-bordered rounded-2xl css-1pi45l5 css-var-_R_16_"><div class="ant-card-head"><div class="ant-card-head-wrapper"><div class="ant-card-head-title"><div class="flex items-center gap-2.5"><span role="img" aria-label="rise" class="anticon anticon-rise text-[var(--colorAccent)]"><svg viewBox="64 64 896 896" focusable="false" data-icon="rise" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M917 211.1l-199.2 24c-6.6.8-9.4 8.9-4.7 13.6l59.3 59.3-226 226-101.8-101.7c-6.3-6.3-16.4-6.2-22.6 0L100.3 754.1a8.03 8.03 0 000 11.3l45 45.2c3.1 3.1 8.2 3.1 11.3 0L433.3 534 535 635.7c6.3 6.2 16.4 6.2 22.6 0L829 364.5l59.3 59.3a8.01 8.01 0 0013.6-4.7l24-199.2c.7-5.1-3.7-9.5-8.9-8.8z"></path></svg></span><span>类型画像</span><span class="text-xs font-normal text-[var(--colorTextTertiary)]">类型级累积画像,随参考文件持续沉淀</span></div></div></div></div><div class="ant-card-body" style="padding:24px"><div class="ant-spin ant-spin-spinning ant-spin-section css-1pi45l5 css-var-_R_16_" aria-live="polite" aria-busy="true"><span class="ant-spin-dot-holder"><span class="ant-spin-dot ant-spin-dot-spin"><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i></span></span></div></div></div><div class="ant-card ant-card-bordered rounded-2xl css-1pi45l5 css-var-_R_16_"><div class="ant-card-head"><div class="ant-card-head-wrapper"><div class="ant-card-head-title"><div class="flex items-center gap-2.5"><span role="img" aria-label="file-text" class="anticon anticon-file-text text-[var(--colorAccent)]"><svg viewBox="64 64 896 896" focusable="false" data-icon="file-text" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"></path></svg></span><span>文件库</span><span class="text-xs font-normal text-[var(--colorTextTertiary)]">0<!-- --> / <!-- -->0</span></div></div></div></div><div class="ant-card-body" style="padding:24px"><div class="flex flex-wrap gap-2 mb-5"><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer text-white shadow-sm scale-[1.03]" style="background:#6366f1;border-color:#6366f1">全部 · 0</button></div><div class="ant-spin ant-spin-spinning ant-spin-section css-1pi45l5 css-var-_R_16_" aria-live="polite" aria-busy="true"><span class="ant-spin-dot-holder"><span class="ant-spin-dot ant-spin-dot-spin"><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i></span></span></div></div></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/template-references","query":{},"buildId":"go7kKGo8dH6ivTNMXfyqi","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><link rel="preload" href="/_next/static/css/3854c6b3c59c0c44.css" as="style"/><link rel="stylesheet" href="/_next/static/css/3854c6b3c59c0c44.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4224e970a97a4a86.js" defer=""></script><script src="/_next/static/chunks/framework-161be364fd69a7ce.js" defer=""></script><script src="/_next/static/chunks/main-91fb767ebd74c9c1.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3e8b35112a00821a.js" defer=""></script><script src="/_next/static/chunks/717-743b697a417dd5ee.js" defer=""></script><script src="/_next/static/chunks/69-34d57b77fd2eed20.js" defer=""></script><script src="/_next/static/chunks/700-5d29b0475311f590.js" defer=""></script><script src="/_next/static/chunks/787-c18af810af3433f6.js" defer=""></script><script src="/_next/static/chunks/102-881dcc464f983c89.js" defer=""></script><script src="/_next/static/chunks/195-2c0168eacab722d2.js" defer=""></script><script src="/_next/static/chunks/564-30bfcb28e1d2c309.js" defer=""></script><script src="/_next/static/chunks/pages/template-references-e0ab1466f28cc4fc.js" defer=""></script><script src="/_next/static/g3K4vEIdUTpMyPKFRf5HZ/_buildManifest.js" defer=""></script><script src="/_next/static/g3K4vEIdUTpMyPKFRf5HZ/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar"><a href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><div><div class="sidebarItem sidebarParent"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span><span class="sidebarChevron"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></span></div></div><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/document-roles"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">角色配置</span></div></a><a href="/documents"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-files"><path d="M20 7h-3a2 2 0 0 1-2-2V2"></path><path d="M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"></path><path d="M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"></path></svg><span class="sidebarLabel">工作流模版库</span></div></a><a href="/template-references"><div class="sidebarItem sidebarItemActive"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-library-big"><rect width="8" height="18" x="3" y="3" rx="1"></rect><path d="M7 3v18"></path><path d="M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"></path></svg><span class="sidebarLabel">模板参考</span></div></a><a href="/asset-library"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span class="sidebarLabel">生成资源</span></div></a><a href="/system/logs"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bug"><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path></svg><span class="sidebarLabel">系统日志</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav><div class="sidebarCollapseWrapper"><button class="sidebarCollapseBtn" aria-label="收起侧边栏"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button></div></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div class="p-6 max-w-7xl mx-auto"><div class="space-y-6 animateFadeIn"><div class="flex flex-col lg:flex-row lg:items-end justify-between gap-5 pb-1"><div class="max-w-3xl"><h1 class="text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2.5 flex items-center gap-2.5"><span class="w-11 h-11 rounded-2xl flex items-center justify-center text-2xl bg-[var(--colorFillSecondary)]" style="color:var(--colorAccent)"><span role="img" aria-label="profile" class="anticon anticon-profile"><svg viewBox="64 64 896 896" focusable="false" data-icon="profile" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM492 400h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM340 368a40 40 0 1080 0 40 40 0 10-80 0zm0 144a40 40 0 1080 0 40 40 0 10-80 0zm0 144a40 40 0 1080 0 40 40 0 10-80 0z"></path></svg></span></span>模板参考库</h1><p class="text-sm text-[var(--colorTextSecondary)] leading-relaxed">上传优秀入围施组文件作为质量对标基准。系统自动解析质量画像(参数密度、工序链、结构等),生成文档后按工程类型对标。参考文件仅用于质量对标与结构参考,绝不作为项目事实材料参与生成。</p></div><div class="flex items-center gap-3 flex-wrap shrink-0"><div class="flex items-center gap-2.5 rounded-xl border border-[var(--colorBorderSecondary)] bg-[var(--colorBgElevated)] px-4 py-2.5"><span class="w-2 h-2 rounded-full shrink-0" style="background:#1677ff"></span><div class="leading-tight"><div class="text-lg font-bold text-[var(--colorText)]">0</div><div class="text-[11px] text-[var(--colorTextTertiary)]">有效样本</div></div></div><div class="flex items-center gap-2.5 rounded-xl border border-[var(--colorBorderSecondary)] bg-[var(--colorBgElevated)] px-4 py-2.5"><span class="w-2 h-2 rounded-full shrink-0" style="background:#16a34a"></span><div class="leading-tight"><div class="text-lg font-bold text-[var(--colorText)]">0</div><div class="text-[11px] text-[var(--colorTextTertiary)]">覆盖类型</div></div></div></div></div><div class="ant-card ant-card-bordered rounded-2xl css-1pi45l5 css-var-_R_16_"><div class="ant-card-body" style="padding:24px"><div class="flex flex-col gap-4"><div class="flex items-center justify-between gap-3 flex-wrap"><div class="flex items-center gap-2.5"><span role="img" aria-label="upload" class="anticon anticon-upload text-[var(--colorAccent)]"><svg viewBox="64 64 896 896" focusable="false" data-icon="upload" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"></path></svg></span><span class="font-semibold text-[var(--colorText)]">上传参考文件</span></div><span class="inline-flex items-center gap-1.5 text-xs text-[var(--colorTextTertiary)]"><span role="img" aria-label="check-circle" style="color:var(--colorOk)" class="anticon anticon-check-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="check-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"></path></svg></span>参考文件独立存储,永不进入知识库检索、永不作为生成事实材料。</span></div><div class="flex flex-wrap gap-2"><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer text-white shadow-sm scale-[1.03]" style="background:#6366f1;border-color:#6366f1">不选则自动分类</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#1677ff14;border-color:#1677ff33;color:#1677ff">房建</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#16a34a14;border-color:#16a34a33;color:#16a34a">市政</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#ea580c14;border-color:#ea580c33;color:#ea580c">公路</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#dc262614;border-color:#dc262633;color:#dc2626">桥梁与隧道</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#0891b214;border-color:#0891b233;color:#0891b2">水利水电</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#ca8a0414;border-color:#ca8a0433;color:#ca8a04">电力</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#7c3aed14;border-color:#7c3aed33;color:#7c3aed">机电安装</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#c026d314;border-color:#c026d333;color:#c026d3">装饰装修</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#65a30d14;border-color:#65a30d33;color:#65a30d">园林绿化</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#4f46e514;border-color:#4f46e533;color:#4f46e5">铁路</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#b4530914;border-color:#b4530933;color:#b45309">港口与航道</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#db277714;border-color:#db277733;color:#db2777">矿山冶金</button><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer hover:-translate-y-0.5 hover:shadow-sm" style="background:#64748b14;border-color:#64748b33;color:#64748b">其他</button></div><span class="ant-upload-wrapper !rounded-xl css-1pi45l5 css-var-_R_16_"><div class="css-1pi45l5 ant-upload ant-upload-drag"><span tabindex="0" class="ant-upload ant-upload-btn" role="button"><input type="file" style="display:none" accept=".pdf,.docx,.doc" name="file"/><div class="ant-upload-drag-container"><p class="ant-upload-drag-icon"><span role="img" aria-label="inbox" class="anticon anticon-inbox"><svg viewBox="0 0 1024 1024" focusable="false" data-icon="inbox" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0060.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z"></path></svg></span></p><p class="ant-upload-text">点击或拖拽上传参考文件</p><p class="ant-upload-hint">支持 PDF / Word 文档,可上传多份不同类型的入围文件累积沉淀</p></div></span></div></span></div></div></div><div class="ant-card ant-card-bordered rounded-2xl css-1pi45l5 css-var-_R_16_"><div class="ant-card-head"><div class="ant-card-head-wrapper"><div class="ant-card-head-title"><div class="flex items-center gap-2.5"><span role="img" aria-label="rise" class="anticon anticon-rise text-[var(--colorAccent)]"><svg viewBox="64 64 896 896" focusable="false" data-icon="rise" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M917 211.1l-199.2 24c-6.6.8-9.4 8.9-4.7 13.6l59.3 59.3-226 226-101.8-101.7c-6.3-6.3-16.4-6.2-22.6 0L100.3 754.1a8.03 8.03 0 000 11.3l45 45.2c3.1 3.1 8.2 3.1 11.3 0L433.3 534 535 635.7c6.3 6.2 16.4 6.2 22.6 0L829 364.5l59.3 59.3a8.01 8.01 0 0013.6-4.7l24-199.2c.7-5.1-3.7-9.5-8.9-8.8z"></path></svg></span><span>类型画像</span><span class="text-xs font-normal text-[var(--colorTextTertiary)]">类型级累积画像,随参考文件持续沉淀</span></div></div></div></div><div class="ant-card-body" style="padding:24px"><div class="ant-spin ant-spin-spinning ant-spin-section css-1pi45l5 css-var-_R_16_" aria-live="polite" aria-busy="true"><span class="ant-spin-dot-holder"><span class="ant-spin-dot ant-spin-dot-spin"><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i></span></span></div></div></div><div class="ant-card ant-card-bordered rounded-2xl css-1pi45l5 css-var-_R_16_"><div class="ant-card-head"><div class="ant-card-head-wrapper"><div class="ant-card-head-title"><div class="flex items-center gap-2.5"><span role="img" aria-label="file-text" class="anticon anticon-file-text text-[var(--colorAccent)]"><svg viewBox="64 64 896 896" focusable="false" data-icon="file-text" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z"></path></svg></span><span>文件库</span><span class="text-xs font-normal text-[var(--colorTextTertiary)]">0<!-- --> / <!-- -->0</span></div></div></div></div><div class="ant-card-body" style="padding:24px"><div class="flex flex-wrap gap-2 mb-5"><button type="button" class="px-3 py-1.5 rounded-full text-xs font-medium border transition-all duration-150 cursor-pointer text-white shadow-sm scale-[1.03]" style="background:#6366f1;border-color:#6366f1">全部 · 0</button></div><div class="ant-spin ant-spin-spinning ant-spin-section css-1pi45l5 css-var-_R_16_" aria-live="polite" aria-busy="true"><span class="ant-spin-dot-holder"><span class="ant-spin-dot ant-spin-dot-spin"><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i></span></span></div></div></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/template-references","query":{},"buildId":"g3K4vEIdUTpMyPKFRf5HZ","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1,68 +1,68 @@
|
|
|
1
1
|
{
|
|
2
|
+
"/api/assets/generated/preview": "pages/api/assets/generated/preview.js",
|
|
2
3
|
"/_app": "pages/_app.js",
|
|
3
|
-
"/_error": "pages/_error.js",
|
|
4
4
|
"/api/assets/generated": "pages/api/assets/generated.js",
|
|
5
|
-
"/api/assets/generated/preview": "pages/api/assets/generated/preview.js",
|
|
6
5
|
"/api/config/embedding/healthCheck": "pages/api/config/embedding/healthCheck.js",
|
|
7
6
|
"/api/config/models": "pages/api/config/models.js",
|
|
8
|
-
"/api/config/web-access": "pages/api/config/web-access.js",
|
|
9
7
|
"/api/documents/drafts": "pages/api/documents/drafts.js",
|
|
10
|
-
"/
|
|
8
|
+
"/_error": "pages/_error.js",
|
|
11
9
|
"/api/documents/generate": "pages/api/documents/generate.js",
|
|
10
|
+
"/api/documents/chapter/regenerate": "pages/api/documents/chapter/regenerate.js",
|
|
12
11
|
"/api/documents/generated": "pages/api/documents/generated.js",
|
|
12
|
+
"/api/config/web-access": "pages/api/config/web-access.js",
|
|
13
|
+
"/api/health": "pages/api/health.js",
|
|
13
14
|
"/api/documents/templates": "pages/api/documents/templates.js",
|
|
14
|
-
"/api/documents/roles": "pages/api/documents/roles.js",
|
|
15
|
-
"/api/jobs": "pages/api/jobs.js",
|
|
16
|
-
"/api/jobs/[id]": "pages/api/jobs/[id].js",
|
|
17
15
|
"/api/kb/categories": "pages/api/kb/categories.js",
|
|
18
|
-
"/api/health": "pages/api/health.js",
|
|
19
16
|
"/api/kb/duplicates": "pages/api/kb/duplicates.js",
|
|
20
|
-
"/api/
|
|
17
|
+
"/api/jobs/[id]": "pages/api/jobs/[id].js",
|
|
21
18
|
"/api/kb/evaluate": "pages/api/kb/evaluate.js",
|
|
19
|
+
"/api/kb/features": "pages/api/kb/features.js",
|
|
20
|
+
"/api/documents/roles": "pages/api/documents/roles.js",
|
|
22
21
|
"/api/kb/files/open": "pages/api/kb/files/open.js",
|
|
23
|
-
"/api/
|
|
22
|
+
"/api/jobs": "pages/api/jobs.js",
|
|
24
23
|
"/api/kb/files/detail": "pages/api/kb/files/detail.js",
|
|
25
|
-
"/api/kb/files/reindex": "pages/api/kb/files/reindex.js",
|
|
26
|
-
"/api/kb/ignore": "pages/api/kb/ignore.js",
|
|
27
24
|
"/api/kb/files/search": "pages/api/kb/files/search.js",
|
|
25
|
+
"/api/kb/files/reindex": "pages/api/kb/files/reindex.js",
|
|
26
|
+
"/api/kb/operations": "pages/api/kb/operations.js",
|
|
28
27
|
"/api/kb/files/tree": "pages/api/kb/files/tree.js",
|
|
29
|
-
"/api/kb/
|
|
30
|
-
"/api/kb/tags": "pages/api/kb/tags.js",
|
|
28
|
+
"/api/kb/ignore": "pages/api/kb/ignore.js",
|
|
31
29
|
"/api/kb/reindex": "pages/api/kb/reindex.js",
|
|
32
30
|
"/api/kb/search": "pages/api/kb/search.js",
|
|
33
31
|
"/api/kb/stats": "pages/api/kb/stats.js",
|
|
34
|
-
"/api/kb/
|
|
35
|
-
"/api/kb/
|
|
32
|
+
"/api/kb/files": "pages/api/kb/files.js",
|
|
33
|
+
"/api/kb/intelligence": "pages/api/kb/intelligence.js",
|
|
36
34
|
"/api/kb/upload/progress": "pages/api/kb/upload/progress.js",
|
|
37
|
-
"/api/
|
|
38
|
-
"/api/
|
|
35
|
+
"/api/kb/tags": "pages/api/kb/tags.js",
|
|
36
|
+
"/api/kb/upload/complete": "pages/api/kb/upload/complete.js",
|
|
39
37
|
"/api/system/stats": "pages/api/system/stats.js",
|
|
38
|
+
"/api/system/logs": "pages/api/system/logs.js",
|
|
39
|
+
"/api/prompt": "pages/api/prompt.js",
|
|
40
40
|
"/document-roles": "pages/document-roles.html",
|
|
41
|
-
"/documents": "pages/documents.html",
|
|
42
41
|
"/asset-library": "pages/asset-library.html",
|
|
43
|
-
"/guide": "pages/guide.html",
|
|
44
42
|
"/": "pages/index.html",
|
|
45
|
-
"/knowledge": "pages/knowledge.html",
|
|
46
|
-
"/knowledge/files": "pages/knowledge/files.html",
|
|
47
43
|
"/knowledge/file-detail": "pages/knowledge/file-detail.html",
|
|
48
|
-
"/
|
|
44
|
+
"/documents": "pages/documents.html",
|
|
45
|
+
"/knowledge/files": "pages/knowledge/files.html",
|
|
46
|
+
"/guide": "pages/guide.html",
|
|
49
47
|
"/knowledge/manage": "pages/knowledge/manage.html",
|
|
50
|
-
"/overview": "pages/overview.html",
|
|
51
48
|
"/settings": "pages/settings.html",
|
|
52
49
|
"/prompt": "pages/prompt.html",
|
|
50
|
+
"/knowledge": "pages/knowledge.html",
|
|
51
|
+
"/models": "pages/models.html",
|
|
52
|
+
"/overview": "pages/overview.html",
|
|
53
53
|
"/system/logs": "pages/system/logs.html",
|
|
54
|
-
"/
|
|
55
|
-
"/api/config/providers": "pages/api/config/providers.js",
|
|
54
|
+
"/template-references": "pages/template-references.html",
|
|
56
55
|
"/api/config/embedding": "pages/api/config/embedding.js",
|
|
56
|
+
"/api/config/providers/[provider]": "pages/api/config/providers/[provider].js",
|
|
57
57
|
"/api/config/healthCheck": "pages/api/config/healthCheck.js",
|
|
58
|
-
"/api/
|
|
58
|
+
"/api/config/providers": "pages/api/config/providers.js",
|
|
59
59
|
"/api/documents/generated/[id]": "pages/api/documents/generated/[id].js",
|
|
60
|
-
"/api/
|
|
61
|
-
"/
|
|
60
|
+
"/api/kb/files/preview-pdf-page": "pages/api/kb/files/preview-pdf-page.js",
|
|
61
|
+
"/_document": "pages/_document.js",
|
|
62
62
|
"/api/kb/upload": "pages/api/kb/upload.js",
|
|
63
63
|
"/api/documents/refine": "pages/api/documents/refine.js",
|
|
64
|
+
"/api/prompt/chat": "pages/api/prompt/chat.js",
|
|
64
65
|
"/api/template-references": "pages/api/template-references.js",
|
|
65
|
-
"/_document": "pages/_document.js",
|
|
66
66
|
"/api/documents/export": "pages/api/documents/export.js",
|
|
67
67
|
"/404": "pages/404.html"
|
|
68
68
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[298],{16403:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/documents",function(){return r(19562)}])},19562:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>eh});var s=r(65321),l=r(97109),a=r(26171),n=r(7576),o=r(35292),i=r(33442),c=r(17807),d=r(63455),u=r(11702),p=r(85114),x=r(88762),m=r(58569),h=r(84253),g=r(34052),v=r(68787),j=r(55122),f=r(99605),y=r(42700),w=r(2256),b=r(38770),A=r(38332),S=r(76506),k=r(50883),N=r(23718),C=r(23216),I=r(26619),T=r(8263),z=r(16285),R=r(8579),M=r(75548),_=r(7851),E=r(84742),F=r(29071),B=r(63552),D=r(26631),P=r(7225),L=r(83914),W=r(58209),G=r(38762),q=r(8470),H=r(92783),O=r(54746),K=r(93051),U=r(82930),V=r(64068),Q=r(64629),X=r(1310),J=r(67547),Y=r(76830),Z=r(14568),$=r(37799),ee=r(6578),et=r(47085);let{TextArea:er}=n.A,{Text:es}=o.A,el=a.A;function ea(e){let{type:t="info",title:r,children:l,style:a}=e,n="error"===t?"var(--colorError)":"warning"===t?"var(--colorWarning)":"success"===t?"var(--colorSuccess)":"var(--colorInfo)";return(0,s.jsxs)("div",{style:{border:"1px solid ".concat(n),background:"error"===t?"var(--colorErrorBg)":"warning"===t?"var(--colorWarningBg)":"success"===t?"var(--colorSuccessBg)":"var(--colorInfoBg)",borderRadius:8,padding:"9px 12px",...a},children:[(0,s.jsx)(es,{strong:!0,style:{color:n},children:r}),l&&(0,s.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12},children:l})]})}function en(e){let{children:t,gap:r=12,style:l}=e;return(0,s.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:r,...l},children:t})}let eo=null;function ei(){null==eo||eo.listeners.forEach(e=>e())}let ec={role_binding:(0,s.jsx)(C.A,{}),knowledge_retrieval:(0,s.jsx)(I.A,{}),file_understanding:(0,s.jsx)(T.A,{}),fact_extraction:(0,s.jsx)(z.A,{}),chapter_generation:(0,s.jsx)(R.A,{}),asset_generation:(0,s.jsx)(M.A,{}),validation:(0,s.jsx)(_.A,{}),formatting:(0,s.jsx)(E.A,{}),llm_review:(0,s.jsx)(F.A,{}),export_ready:(0,s.jsx)(B.A,{}),reference:(0,s.jsx)(M.A,{})},ed={施工组织设计:(0,s.jsx)(_.A,{}),投标文件:(0,s.jsx)(B.A,{}),技术方案:(0,s.jsx)(z.A,{}),报告:(0,s.jsx)(D.A,{}),自定义:(0,s.jsx)(R.A,{})};function eu(e){return[...new Set(e.map(e=>e.trim()).filter(Boolean))]}function ep(e){return e.map(e=>({key:e.key,value:e.key,rawTitle:e.title,title:e.isFolder?(0,s.jsxs)("div",{className:"flex items-center justify-between w-full pr-4",children:[(0,s.jsxs)(i.A,{size:4,children:[(0,s.jsx)(P.A,{style:{color:"#faad14"}}),(0,s.jsx)("span",{children:e.title})]}),(0,s.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:[e.fileCount||0," 项"]})]}):(0,s.jsx)("span",{title:e.key,children:e.title}),isFolder:e.isFolder,fileCount:e.fileCount||+!e.isFolder,isLeaf:e.isLeaf}))}let ex={role_binding:"角色配置绑定",knowledge_retrieval:"知识库检索",file_understanding:"多模态文件理解",fact_extraction:"LLM 事实抽取",chapter_generation:"LLM 章节生成",asset_generation:"多模态资源生成",validation:"规则校验",formatting:"格式化排版",llm_review:"LLM 审查优化",export_ready:"导出就绪",reference:"参考资源处理"},em={"knowledge-base":"知识库","document-readiness":"生成准备度检查","quality-repair":"质量补写","export-gate":"导出门禁","context-memory":"项目上下文","final-format":"正式排版","multimodal-files":"多模态文件理解",tender_announcement:"招标公告"};function eh(){var e,t,r,a,o,M,P,eh,eg,ev,ej;let ef=(0,et.Vr)(),{message:ey}=c.A.useApp(),[ew]=d.A.useForm(),eb=(0,l.useRef)(null),[eA,eS]=(0,l.useState)([]),[ek,eN]=(0,l.useState)("construction-organization-design"),[eC,eI]=(0,l.useState)([]),[eT,ez]=(0,l.useState)([]),[eR,eM]=(0,l.useState)([]),[e_,eE]=(0,l.useState)([]),[eF,eB]=(0,l.useState)(!1),[eD,eP]=(0,l.useState)(!0),[eL,eW]=(0,l.useState)(!1),[eG,eq]=(0,l.useState)(null),[eH,eO]=(0,l.useState)(""),[eK,eU]=(0,l.useState)([]),[eV,eQ]=(0,l.useState)(null),[eX,eJ]=(0,l.useState)(null),[eY,eZ]=(0,l.useState)(""),[e$,e0]=(0,l.useState)(!1),[e1,e2]=(0,l.useState)("idle"),[e6,e5]=(0,l.useState)(null),[e4,e8]=(0,l.useState)(null),[e3,e7]=(0,l.useState)({start:0,end:0}),[e9,te]=(0,l.useState)([]),[tt,tr]=(0,l.useState)(!1),[ts,tl]=(0,l.useState)(!1),[ta,tn]=(0,l.useState)({}),[to,ti]=(0,l.useState)(null),tc=(0,l.useRef)({}),td=(0,l.useRef)(new Map),[tu,tp]=(0,l.useState)(0),[tx,tm]=(0,l.useState)([]),th=(0,l.useMemo)(()=>{var e,t,r;return(null==(e=eR.find(e=>e.selected))?void 0:e.projectRoot)||(null==(t=eR.find(e=>e.isCurrent))?void 0:t.projectRoot)||(null==(r=eR[0])?void 0:r.projectRoot)||""},[eR]),[tg,tv]=(0,l.useState)([]),[tj,tf]=(0,l.useState)(null),[ty,tw]=(0,l.useState)(null),[tb,tA]=(0,l.useState)("templates"),[tS,tk]=(0,l.useState)(!1),[tN,tC]=(0,l.useState)("workflow"),[tI,tT]=(0,l.useState)(new Set),[tz,tR]=(0,l.useState)(!1),[tM,t_]=(0,l.useState)(!1),[tE,tF]=(0,l.useState)(null),tB=(0,l.useRef)(new Map),tD=(0,l.useRef)(""),tP=(0,l.useRef)(null),tL=(0,l.useRef)(0),tW=(0,l.useMemo)(()=>"activeGenDocId:".concat(th||"default"),[th]),tG=async()=>{try{eU((await (0,ee.cQ)(th||void 0)).documents)}catch(e){eU([])}};(0,l.useEffect)(()=>{let e=()=>{eo&&(tv(eo.flowSteps),tf(eo.activeFlowKey),eW(eo.loading),eo.documentId&&eQ(eo.documentId),eo.draft&&eq(eo.draft),void 0!==eo.content&&eO(eo.content))},t=eo;return null==t||t.listeners.add(e),e(),()=>{null==t||t.listeners.delete(e)}},[]),(0,l.useEffect)(()=>{eP(!0),Promise.all([(0,ee.Dl)().then(e=>{var t,r;eS(e.templates),eN(null!=(r=null==(t=e.templates[0])?void 0:t.id)?r:"construction-organization-design")}),(0,ee.lv)().then(e=>{eI(e.roles),ez(e.configs)}),(0,ee.dx)().then(e=>eM(e))]).catch(()=>ey.error(ef("common.error"))).finally(()=>eP(!1))},[ey,ef]),(0,l.useEffect)(()=>{if(0===eA.length||!th)return;let e=!1;return(async()=>{let t=await Promise.all(eA.map(async e=>{try{let{validation:t}=await (0,ee.SM)(e.id,th);return[e.id,t]}catch(e){return null}}));if(e)return;let r={};for(let e of t)e&&(r[e[0]]=e[1]);tn(r)})(),()=>{e=!0}},[eA,th]),(0,l.useEffect)(()=>{th&&(localStorage.removeItem("activeGenDocId"),tG())},[th]),(0,l.useEffect)(()=>{if(0===eK.length)return;let e=localStorage.getItem(tW);if(!e)return;if(!eK.find(t=>t.id===e&&"generating"===t.status))return void localStorage.removeItem(tW);let t=setInterval(()=>{(async()=>{try{let{document:r}=await (0,ee.v7)(e,!1,th||void 0);if(!r)return;await tG(),"generating"!==r.status&&(localStorage.removeItem(tW),clearInterval(t))}catch(e){clearInterval(t)}})()},3e3);return()=>clearInterval(t)},[eK]);let tq=(0,l.useMemo)(()=>eA.find(e=>e.id===ek),[eA,ek]),tH=eT.map(e=>({label:e.name,value:e.id})),tO=Math.max(0,tg.findIndex(e=>e.key===tj)),tK=e=>{var t;return e?(null==(t=eC.find(t=>t.id===e))?void 0:t.name)||em[e]||"未知角色":""},tU=e=>e.subtitle||e.roleName||tK(e.roleId)||ex[e.type]||e.type,tV=e=>{var t,r,s;return e.promptName||((t=e.promptId)?(null==(r=eR.find(e=>e.id===t))?void 0:r.projectName)||(null==(s=eC.find(e=>e.id===t))?void 0:s.name)||em[t]||"未知提示词":"")},tQ=()=>{tL.current+=1,eZ(""),e5(null),e8(null),te([]),tr(!1),e0(!1),e2("idle")},tX=async e=>{eQ(e.id),eN(e.templateId);let t=tJ(e.status);if(t||"failed"===e.status||"aborted"===e.status){tQ(),tw(e),eq(null),eO(""),eW(t),tC("workflow"),tk(!0);try{let{document:t}=await (0,ee.v7)(e.id,!1,e.projectRoot||th||void 0);if(!t)throw Error("文档记录不存在");t0(t),tJ(t.status)?t4(t.id,t.projectRoot||e.projectRoot||th||void 0):await tG()}catch(t){t0(e)}return}tC("editor"),tv([]),tf(null),tQ();try{let{document:t}=await (0,ee.v7)(e.id,!1,e.projectRoot||th||void 0);if(!t)throw Error("文档记录不存在");eq(t.draft||null),eO(t.editedMarkdown||t.markdown),tm(t.exportReports||[])}catch(e){ey.error(ef("common.error"))}tk(!0)},tJ=e=>"completed"!==e&&"completed_with_issues"!==e&&"warning"!==e&&"failed"!==e&&"aborted"!==e,tY=e=>{var t,r,s,l,a,n;return!!e&&("failed"===e.status||"aborted"===e.status||"completed_with_issues"===e.status||"warning"===e.status&&!!(null==(t=e.checkpointChapters)?void 0:t.length)&&/继续生成|重新生成|中断|卡住|未完成|门禁|阻断/u.test(e.error||(null==(r=e.warningIssues)?void 0:r.join(";"))||(null==(a=e.draft)||null==(l=a.exportGate)||null==(s=l.blockingIssues)?void 0:s.map(e=>e.message).join(";"))||"")||!!((null==(n=e.draft)?void 0:n.exportGate)&&!1===e.draft.exportGate.passed))},tZ=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eL;(null==eo?void 0:eo.loading)&&(eo.flowSteps=e,eo.activeFlowKey=t,eo.loading=r,ei())},t$=e=>{var t,r,l,a,n;let o=e.executionStages||(null==(t=e.draft)?void 0:t.executionStages)||[];if(o.length>0){let t=o.map((t,r)=>{var l;let a,n=("failed"===e.status||"aborted"===e.status)&&"running"===t.status||"failed"===(a=t.status)?"error":"running"===a?"process":"finish";return{key:"".concat(t.type,"-").concat(r),title:t.title||ex[t.type]||t.type,subtitle:tU(t),description:t.message||"",status:n,icon:"role_binding"===(l=t.type)?(0,s.jsx)(C.A,{}):"knowledge_retrieval"===l?(0,s.jsx)(I.A,{}):"file_understanding"===l?(0,s.jsx)(T.A,{}):"fact_extraction"===l?(0,s.jsx)(z.A,{}):"chapter_generation"===l?(0,s.jsx)(R.A,{}):"llm_review"===l?(0,s.jsx)(F.A,{}):"validation"===l?(0,s.jsx)(_.A,{}):"formatting"===l?(0,s.jsx)(E.A,{}):"export_ready"===l?(0,s.jsx)(B.A,{}):(0,s.jsx)(D.A,{}),subSteps:((e,t,r)=>{let s=Array.isArray(e.details)?e.details.filter(Boolean):[],l=e.progress?"".concat(e.progress.label||"进度",":").concat(e.progress.current,"/").concat(e.progress.total):"",a=[...l?[l]:[],...s];return 0===a.length?[{key:"stage-".concat(r),title:tV(e)?"提示词:".concat(tV(e)):tU(e),status:t}]:a.map((e,s)=>({key:"stage-".concat(r,"-").concat(s),title:e,status:"process"===t&&0===s?"process":"error"===t&&0===s?"error":"warning"===t?"warning":"process"===t?"finish":t}))})(t,n,r)}});"generating"===e.status&&t.length>0&&(null==(r=t.at(-1))?void 0:r.status)==="finish"&&(t[t.length-1]={...t[t.length-1],status:"process"});let i="generating"===e.status?(null==(l=t.at(-1))?void 0:l.key)||"prepare":"failed"===e.status||"aborted"===e.status?(null==(a=t.find(e=>"error"===e.status))?void 0:a.key)||(null==(n=t.at(-1))?void 0:n.key)||"prepare":"done";return{steps:t,activeKey:i}}return{steps:[],activeKey:null}},t0=e=>{let t=e.executionStages||[],r="".concat(e.id,"|").concat(e.updatedAt,"|").concat(e.status,"|").concat(e.error||"","|").concat(t.length,"|").concat(t.map(e=>{var t,r,s,l;return"".concat(e.status,":").concat(null!=(s=null==(t=e.progress)?void 0:t.current)?s:0,"/").concat(null!=(l=null==(r=e.progress)?void 0:r.total)?l:0)}).join(","));if(tD.current===r)return;tD.current=r,tw(e);let{steps:s,activeKey:l}=t$(e);t1(s),tv(s),tf(l),eW(tJ(e.status)),tZ(s,l,tJ(e.status)),("failed"===e.status||"aborted"===e.status)&&tC("workflow"),("completed"===e.status||"completed_with_issues"===e.status||"warning"===e.status)&&e.draft&&(eq(e.draft),eO(e.editedMarkdown||e.markdown),tC("editor"),tv([]),tf(null),tm(e.exportReports||[]))},t1=e=>{let t=Date.now();for(let r of e){let e=td.current.get(r.key);"process"!==r.status||e?("finish"===r.status||"error"===r.status||"warning"===r.status)&&e&&!e.endedAt&&td.current.set(r.key,{...e,endedAt:t}):td.current.set(r.key,{startedAt:t})}},t2=e=>{let t=Math.max(0,Math.round(e/1e3));if(t<60)return"".concat(t," 秒");let r=Math.floor(t/60);return r<60?"".concat(r," 分 ").concat(t%60," 秒"):"".concat(Math.floor(r/60)," 小时 ").concat(r%60," 分")},t6=(e,t)=>"percent"===t?"".concat((100*e).toFixed(1),"%"):"perKChars"===t?"".concat(e.toFixed(1),"/千字"):String(Math.round(e)),t5=e=>{let t=tB.current.get(e);t&&(clearInterval(t),tB.current.delete(e))},t4=(e,t)=>{t5(e);let r=setInterval(()=>{(async()=>{try{let{document:r}=await (0,ee.v7)(e,!0,t||th||void 0);if(!r)return;t0(r),await tG(),tJ(r.status)||(t5(e),localStorage.removeItem(tW))}catch(e){}})()},2e3);tB.current.set(e,r)};(0,l.useEffect)(()=>()=>{for(let e of tB.current.values())clearInterval(e);tB.current.clear(),tP.current&&(clearTimeout(tP.current),tP.current=null)},[]),(0,l.useEffect)(()=>{if(!eL||!tj)return;let e=window.setInterval(()=>tv(e=>{let t=e.map(e=>{if(e.key!==tj||"process"!==e.status)return e;let t=e.subSteps.findIndex(e=>"process"===e.status),r=t<0?0:Math.min(t+1,e.subSteps.length-1);return{...e,subSteps:e.subSteps.map((e,t)=>t<r?{...e,status:"finish"}:t===r?{...e,status:"process"}:{...e,status:"wait"})}});return tZ(t,tj),t}),1400);return()=>window.clearInterval(e)},[tj,eL]),(0,l.useEffect)(()=>{if(!eL)return;let e=window.setInterval(()=>tp(e=>e+1),1e3);return()=>window.clearInterval(e)},[eL]);let t8=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";eB(!0);try{let t=await (0,ee.Fi)(e,th||void 0);eE(ep(t.nodes))}catch(e){ey.error("知识库文件加载失败")}finally{eB(!1)}},t3=async e=>{var t;let r=String(null!=(t=e.key)?t:"");if(r)try{let e=await (0,ee.Fi)(r,th||void 0),t=ep(e.nodes),s=e=>e.map(e=>e.key===r?{...e,children:t}:e.children?{...e,children:s(e.children)}:e);eE(e=>s(e))}catch(e){ey.error("加载子文件夹失败")}},t7=e=>{let t=null!=e?e:{id:"tpl-".concat(Date.now()),name:"",description:"",category:"自定义",outputTitle:"",projectRoleConfigId:void 0,chapters:[],projectBindings:[]};ew.resetFields(),ew.setFieldsValue({...t,projectMaterialRoots:eu((t.projectBindings||[]).map(e=>e.materialRootPath).filter(Boolean))}),t8(),tl(!0)},t9=async()=>{try{await ew.validateFields();let e=ew.getFieldsValue(!0),t=eu(e.projectMaterialRoots||[]).map(e=>({materialRootPath:e})),{projectMaterialRoots:r,...s}=e,l={...s,chapters:[],projectBindings:t},a=await (0,ee.l2)(l);eS(a.templates),eN(a.template.id),tl(!1),await tG(),ey.success(ef("common.success"))}catch(e){e instanceof Error&&ey.error(e.message)}},re=async e=>{try{let t=await (0,ee.bV)(e);eS(t.templates),eN(t.template.id),ey.success(ef("common.success"))}catch(e){ey.error(ef("common.error"))}},rt=async e=>{try{var t,r;let s=await (0,ee.h0)(e);eS(s.templates),eN(null!=(r=null==(t=s.templates[0])?void 0:t.id)?r:""),ey.success(ef("common.success"))}catch(e){ey.error(ef("common.error"))}},rr=async e=>{tF(e),eN(e),eQ(null),eq(null),eO(""),tQ(),tC("workflow"),tk(!0),tA("drafts"),eW(!0),tf("prepare"),tv([{key:"prepare",title:"正在准备运行模板",description:"正在校验模板绑定的项目资料包、提示词配置和资料索引,校验通过后会自动开始生成。",status:"process",icon:(0,s.jsx)(L.A,{}),subSteps:[{key:"validate",title:"模板运行前检查",status:"process"},{key:"start",title:"准备生成任务",status:"wait"}]}]);try{let{validation:t}=await (0,ee.SM)(e,th||void 0);tn(r=>({...r,[e]:t}));let r=t.issues.filter(e=>"error"===e.level);if(r.length>0){ro.current=!0,eW(!1),tf("prepare"),tv([{key:"prepare",title:"模板运行前检查未通过",description:r.map(e=>e.message).join("\n"),status:"error",icon:(0,s.jsx)(G.A,{}),subSteps:[{key:"validate",title:"模板运行前检查",status:"error"},{key:"start",title:"准备生成任务",status:"wait"}]}]),ey.warning("模板运行前检查未通过,请先处理阻断项");return}t.issues.length>0&&ey.warning("模板存在非阻断警告,已继续运行"),tv([{key:"prepare",title:"模板检查通过,正在创建生成任务",description:"已确认模板绑定资源可用,正在启动后台生成任务。",status:"process",icon:(0,s.jsx)(L.A,{}),subSteps:[{key:"validate",title:"模板运行前检查",status:"finish"},{key:"start",title:"准备生成任务",status:"process"}]}]),await rn(e)}catch(t){ro.current=!0;let e=t instanceof Error?t.message:"模板运行前检查失败";eW(!1),tv([{key:"prepare",title:"模板运行准备失败",description:e,status:"error",icon:(0,s.jsx)(G.A,{}),subSteps:[{key:"validate",title:"模板运行前检查",status:"error"},{key:"start",title:"准备生成任务",status:"wait"}]}]),ey.error(e)}finally{tF(t=>t===e?null:t)}},rs=async e=>{try{await (0,ee.QG)(e.id,e.projectRoot||th||void 0),eV===e.id&&(eQ(null),eq(null),eO("")),await tG(),ey.success(ef("common.success"))}catch(e){ey.error(ef("common.error"))}},rl=async(e,t)=>{try{let r=new Set(e.chapters.map(e=>e.title.trim())),s=t.missingHeadings.filter(e=>!r.has(e.title.trim()));if(0===s.length)return void ey.info("建议章节已全部存在");let l=[...e.chapters,...s.map(t=>({id:"ch-ref-".concat(Date.now(),"-").concat(e.chapters.length),title:t.title,purpose:"",queries:[],requiredFacts:[]}))],a=await (0,ee.l2)({...e,chapters:l});eS(a.templates),tn(t=>{let r={...t};return delete r[e.id],r}),ey.success(ef("common.success"))}catch(e){e instanceof Error&&ey.error(e.message)}},ra=async(e,t)=>{let r=Date.now(),s=0,l=Date.now(),a=0;for(;;){let n;if(null==t?void 0:t.aborted)throw Error("用户中止");let o=new AbortController;t&&(t.pollController=o);try{({document:n}=await (0,ee.v7)(e,!0,th||void 0,o.signal,s||void 0)),a=0}catch(e){if((null==t?void 0:t.aborted)||e instanceof DOMException&&"AbortError"===e.name)throw Error("用户中止",{cause:e});if((a+=1)>=3)throw e instanceof Error?e:Error("生成进度获取失败");await new Promise(e=>window.setTimeout(e,2e3*a));continue}finally{(null==t?void 0:t.pollController)===o&&(t.pollController=void 0)}if(!n){if(Date.now()-r>75e5||Date.now()-l>96e4)throw Error("生成任务疑似卡住,请点击继续生成或重新生成");await new Promise(e=>window.setTimeout(e,1500));continue}if(t0(n),n.updatedAt!==s&&(s=n.updatedAt,l=Date.now()),("completed"===n.status||"completed_with_issues"===n.status||"warning"===n.status)&&n.draft)return n;if("failed"===n.status||"aborted"===n.status)throw Error(n.error||("aborted"===n.status?"生成已中止":"生成失败"));if(Date.now()-r>75e5||Date.now()-l>96e4)throw Error("生成任务疑似卡住,请点击继续生成或重新生成");await new Promise(e=>window.setTimeout(e,1500))}},rn=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ek;if(!e)return;if((null==eo?void 0:eo.aborted)&&(eo=null),null==eo?void 0:eo.loading){tv(eo.flowSteps),tf(eo.activeFlowKey),eW(!0);return}if(!th)return void ey.error("未识别当前项目,请先选择或打开项目后再生成文件");eW(!0);let t=tg.length>0?tg:[{key:"prepare",title:"正在创建生成任务",description:"系统正在创建后台生成任务,请稍候。",status:"process",icon:(0,s.jsx)(L.A,{}),subSteps:[{key:"start",title:"准备生成任务",status:"process"}]}],r=tj||"prepare";tv(t),tf(r);let l=(0,ee.OX)({templateId:e,projectRoot:th});eo={id:Date.now(),templateId:e,loading:!0,flowSteps:t,activeFlowKey:r,promise:l,listeners:new Set};let a=[];try{let e=await l;e.documentId&&(localStorage.setItem(tW,e.documentId),eQ(e.documentId),(null==eo?void 0:eo.promise)===l&&(eo.documentId=e.documentId)),await tG();let t=e.documentId?await ra(e.documentId,(null==eo?void 0:eo.promise)===l?eo:void 0):void 0,r=e.draft||(null==t?void 0:t.draft);if(!r)throw Error("生成结果为空");(e.documentId||(null==t?void 0:t.id))&&eQ(e.documentId||t.id),a.forEach(e=>window.clearTimeout(e)),eq(r),eO((null==t?void 0:t.editedMarkdown)||(null==t?void 0:t.markdown)||r.markdown),(null==eo?void 0:eo.promise)===l&&(eo.draft=r,eo.content=(null==t?void 0:t.editedMarkdown)||(null==t?void 0:t.markdown)||r.markdown);let s=t||{id:e.documentId||"draft-".concat(Date.now()),templateId:ek,title:r.title,requirement:r.requirement,projectRoot:r.projectRoot||th,projectId:r.projectId,markdown:r.markdown,status:r.validationIssues.some(e=>"error"===e.level||"warning"===e.level)||!r.exportGate.passed?"warning":"completed",draft:r,executionStages:r.executionStages,assets:r.assets||[],createdAt:r.generatedAt,updatedAt:Date.now()},{steps:n}=t$(s);tv(n),tZ(n,"done",!1),tf("done"),(null==eo?void 0:eo.promise)===l&&(eo.activeFlowKey="done",eo.loading=!1,ei(),eo=null),localStorage.removeItem(tW),await tG(),ey.success(ef("common.success")),window.setTimeout(()=>{var e;return null==(e=eb.current)?void 0:e.scrollIntoView({behavior:"smooth",block:"start"})},200)}catch(r){localStorage.removeItem(tW);let e=r instanceof Error?r.message:ef("common.error"),t=/用户中止|abort|aborted/i.test(e);t||tv(t=>{let r=t.map(t=>"process"===t.status?{...t,status:"error",description:e,subSteps:((e,t)=>{if("wait"===t)return e.subSteps.map(e=>({...e,status:"wait"}));if("finish"===t)return e.subSteps.map(e=>({...e,status:"finish"}));if("error"===t)return e.subSteps.map((e,t)=>({...e,status:0===t?"error":e.status}));let r=e.subSteps.findIndex(e=>"wait"===e.status);return e.subSteps.map((e,t)=>t<r||-1===r?{...e,status:"finish"}:t===r?{...e,status:"process"}:e)})(t,"error")}:t);return tZ(r,tj,!1),r}),(null==eo?void 0:eo.promise)===l&&(eo.loading=!1,eo.error=e,ei(),eo=null),await tG().catch(()=>void 0),t||ey.error(e)}finally{a.forEach(e=>window.clearTimeout(e)),eW(!1),(null==eo?void 0:eo.promise)===l&&(eo.loading=!1,ei())}},ro=(0,l.useRef)(!1);(0,l.useEffect)(()=>(tP.current&&(clearTimeout(tP.current),tP.current=null),!tS||"workflow"!==tN||tE||eV||ro.current||(null==eo?void 0:eo.loading)||null==tq||!tq.projectRoleConfigId||(ro.current=!0,tP.current=setTimeout(()=>{tP.current=null,tS&&"workflow"===tN&&!eV&&ek==ek&&rn()},300)),tS||(ro.current=!1),()=>{tP.current&&(clearTimeout(tP.current),tP.current=null)}),[tS,tN,tE,eV,tq,ek]);let ri=async e=>{try{eQ(e.id),eN(e.templateId),tC("workflow"),tk(!0),eW(!0);let t=await (0,ee.UQ)(e.id,e.projectRoot||th||void 0);localStorage.setItem(tW,t.documentId),await tG();let r=await ra(t.documentId);r.draft&&(eq(r.draft),eO(r.editedMarkdown||r.markdown||r.draft.markdown),tC("editor")),localStorage.removeItem(tW),await tG(),ey.success("已继续生成并完成")}catch(e){ey.error(e instanceof Error?e.message:"继续生成失败")}finally{eW(!1)}},rc=async e=>{if((null==eo?void 0:eo.loading)&&eo.documentId===e.id){var t;eo.aborted=!0,null==(t=eo.pollController)||t.abort(),eo.loading=!1,eo.error="用户中止",ei(),eo=null,eW(!1)}localStorage.removeItem(tW),t5(e.id);try{await (0,ee.r)(e.id,e.projectRoot||th||void 0),ey.success("已中止生成任务")}catch(e){ey.info("任务已不在运行,已刷新状态")}finally{await tG(),eV===e.id&&(eQ(null),tw(null),eq(null),eO(""))}},rd=async e=>{if(eG){eJ(e);try{eG.exportGate.passed||ey.warning("导出门禁存在风险项,已允许导出,请下载后人工复核。");let t={documentId:eV||void 0,title:eG.title,markdown:eH,format:e,enforceGate:!1,exportGate:eG.exportGate,useClientMarkdown:!0,projectRoot:eG.projectRoot||th||void 0},r=await (0,ee.UE)(t);if(((e,t,r)=>{let s=new Blob([e],{type:r}),l=URL.createObjectURL(s),a=document.createElement("a");a.href=l,a.download=t,a.target="_self",a.rel="noopener",a.style.display="none",document.body.appendChild(a),a.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),a.remove(),window.setTimeout(()=>URL.revokeObjectURL(l),1e3)})(r,"".concat(eG.title,".").concat("markdown"===e?"md":e),{markdown:"text/markdown;charset=utf-8",html:"text/html;charset=utf-8",pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}[e]),eV)try{let{document:e}=await (0,ee.v7)(eV,!1,eG.projectRoot||th||void 0);e&&tm(e.exportReports||[])}catch(e){}}catch(e){ey.error(e instanceof Error?e.message:ef("common.error"))}finally{eJ(null)}}},ru=async()=>{if(eG)try{if(eV)await (0,ee.a6)(eV,{editedMarkdown:eH,markdown:eH},eG.projectRoot||th||void 0);else{let e=await (0,ee.Af)({...eG,markdown:eH});eq(e.draft)}await tG(),ey.success(ef("common.success"))}catch(e){ey.error(ef("common.error"))}},rp=(e,t)=>{te(r=>[{id:"".concat(Date.now()),content:e,prompt:t,createdAt:Date.now()},...r].slice(0,12))},rx=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e&&eZ(""),e5(null),e8(null),e7({start:0,end:0})},rm=(e,t)=>{var r,s;return{title:(null==eG?void 0:eG.title)||"未命名文档",markdown:t,instruction:e,facts:null==eG||null==(r=eG.structuredFacts)?void 0:r.map(e=>"".concat(e.key,": ").concat(e.value)),chapters:null==eG||null==(s=eG.chapters)?void 0:s.map(e=>e.title),...(()=>{let e=e3.start,t=e3.end;return t>e?{selection:{start:e,end:t,text:eH.slice(e,t)},cursorOffset:e}:{cursorOffset:e}})()}},rh=async()=>{let e=eY.trim();if(!eG||!e||e$)return;let t=tL.current+1;tL.current=t,e0(!0),e2("planning"),e8(null);try{let r=await (0,ee.Gi)({mode:"plan",...rm(e,eH)});if(tL.current!==t||eV!=eV)return;if(!r.plan)throw Error("AI 未返回修改计划");e5(r.plan)}catch(e){tL.current===t&&ey.error(e instanceof Error?e.message:ef("common.error"))}finally{tL.current===t&&(e0(!1),e2("idle"))}},rg=async e=>{let t=eY.trim();if(!eG||!t||e$)return;let r=tL.current+1;tL.current=r,e0(!0),e2("applying");try{let s=await (0,ee.Gi)({mode:"apply",...rm(t,eH),plan:e});if(tL.current!==r||eV!=eV)return;if(!s.markdown)throw Error("AI 未返回修改结果");e8({plan:s.plan||e,markdown:s.markdown,beforeSnippet:s.beforeSnippet,afterSnippet:s.afterSnippet,summary:s.summary,changedChars:s.changedChars,prompt:t,before:eH})}catch(e){tL.current===r&&ey.error(e instanceof Error?e.message:ef("common.error"))}finally{tL.current===r&&(e0(!1),e2("idle"))}};if(eD)return(0,s.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,s.jsx)(x.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,s.jsx)(x.A,{active:!0,paragraph:{rows:2}}),(0,s.jsx)(x.A,{active:!0,paragraph:{rows:8}})]});let rv="workflow"===tN?"工作流:".concat((null==tq?void 0:tq.name)||"选择模板"):"编辑:".concat((null==eG?void 0:eG.title)||(null==tq?void 0:tq.outputTitle)||"文档");return(0,s.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4 pb-6 mb-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("h1",{className:"text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2.5 flex items-center gap-2",children:[(0,s.jsx)(C.A,{className:"text-[var(--colorAccent)]"}),ef("documents.title")]}),(0,s.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)]",children:ef("documents.description")})]}),(0,s.jsx)(p.Ay,{type:"primary",icon:(0,s.jsx)(O.A,{}),onClick:()=>t7(),className:"shadow-none rounded-lg",children:ef("documents.newTemplate")})]}),(0,s.jsxs)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl shadow-sm overflow-hidden",children:[(0,s.jsx)(m.A,{items:[{key:"templates",label:(0,s.jsxs)("span",{className:"px-4",children:["模板库 ",(0,s.jsx)(u.A,{className:"ml-2 border-0 bg-[var(--colorFillAlter)]",children:eA.length})]})},{key:"drafts",label:(0,s.jsxs)("span",{className:"px-4",children:["生成记录 ",(0,s.jsx)(u.A,{className:"ml-2 border-0 bg-[var(--colorFillAlter)]",children:eK.length})]})}],activeKey:tb,onChange:tA,className:"documents-tabs",size:"large",tabBarStyle:{margin:0,padding:"0 16px",background:"var(--colorBgHover)",borderBottom:"1px solid var(--borderColor)"}}),(0,s.jsx)("div",{className:"p-4 bg-[var(--colorFillAlter)] min-h-[500px]",children:"templates"===tb?0===eA.length?(0,s.jsx)("div",{className:"py-32 text-center border border-dashed border-[var(--borderColor)] rounded-2xl bg-[var(--colorBgContainer)]",children:(0,s.jsx)(h.A,{description:(0,s.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:ef("common.noData")})})}):(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4",children:eA.map(e=>(0,s.jsxs)("div",{ref:t=>{tc.current[e.id]=t},className:"group flex items-center p-4 rounded-2xl transition-all cursor-pointer ".concat(ek===e.id?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),onClick:()=>eN(e.id),children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0 pr-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-2 min-w-0",children:[function(e,t){let r=ed[e]||(0,s.jsx)(D.A,{});return(0,s.jsx)("span",{style:{color:t?"var(--colorAccent)":"var(--colorTextSecondary)",fontSize:16,marginTop:2,flexShrink:0},children:r})}(e.category,ek===e.id),(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate",children:e.name}),ek===e.id&&(0,s.jsx)(u.A,{color:"blue",className:"border-0 m-0 shrink-0",children:"当前选中"}),(0,s.jsx)(u.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0 shrink-0",children:e.category})]}),e.description&&(0,s.jsx)("div",{className:"text-sm text-[var(--colorTextSecondary)] line-clamp-2 leading-relaxed mb-3",children:e.description}),(e=>{let t=ta[e.id];if(!t)return null;let r=t.issues.filter(e=>"error"===e.level),l=t.issues.filter(e=>"warning"===e.level),a=to===e.id,n=t.roleDiagnostics||[],o=new Map;for(let e of t.promptDiagnostics){let t=o.get(e.roleId)||[];t.push(e),o.set(e.roleId,t)}let i=t.strategyPreview,c=(null==i?void 0:i.mode)==="strict"?"error":(null==i?void 0:i.mode)==="fast"?"blue":(null==i?void 0:i.mode)==="longform"?"purple":"green";return(0,s.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"flex flex-col items-start gap-2 w-full",children:[(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 p-1.5 px-3 rounded-lg border text-xs ".concat(r.length?"border-red-200 bg-red-50/50":l.length?"border-yellow-200 bg-yellow-50/50":"border-green-200 bg-green-50/50"),children:[(0,s.jsx)("span",{className:"font-medium",children:r.length?"检查未通过(".concat(r.length," 项阻断)"):l.length?"存在警告(".concat(l.length," 项)"):"检查通过"}),(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,s.jsxs)("span",{children:["项目资料 ",t.fileDiagnostics.length]}),(0,s.jsxs)("span",{children:["提示词 ",t.promptDiagnostics.length]}),(0,s.jsxs)("span",{children:["角色链路 ",n.length]}),i&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,s.jsxs)(u.A,{color:c,className:"border-0 m-0",children:[i.mode," 策略预估"]})]}),!r.length&&l.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,s.jsx)("span",{className:"text-blue-500 cursor-pointer hover:underline",onClick:()=>{rr(e.id)},children:"忽略警告并运行"})]}),(0,s.jsxs)("span",{className:"text-blue-500 cursor-pointer hover:underline",onClick:()=>ti(a?null:e.id),children:[a?(0,s.jsx)(q.A,{}):(0,s.jsx)(H.A,{}),a?"收起体检":"体检报告"]})]}),a&&(0,s.jsxs)("div",{className:"w-full flex flex-col gap-3 rounded-xl border border-[var(--borderColor)] bg-[var(--colorBgContainer)] p-3",children:[r.length>0&&(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"text-xs font-bold text-[var(--colorError)]",children:["阻断项(",r.length,")— 必须修复后才能运行"]}),r.map(t=>{var r;let l=(r=t.message,/资料包|项目资料|知识库|索引/u.test(r)?{label:"配置模板",onClick:()=>t7(e)}:/提示词|绑定/u.test(r)?{label:"提示词库",href:"/prompt"}:/项目角色配置/u.test(r)?{label:"角色配置",href:"/document-roles"}:void 0);return(0,s.jsxs)("div",{className:"flex items-start justify-between gap-2 rounded-lg border border-red-200 bg-red-50/40 px-2.5 py-1.5 text-xs",children:[(0,s.jsx)("span",{className:"text-[var(--colorText)]",children:t.message}),l&&(l.href?(0,s.jsxs)("a",{className:"shrink-0 text-red-500 hover:underline",href:l.href,children:[l.label," ›"]}):(0,s.jsxs)("span",{className:"shrink-0 text-red-500 cursor-pointer hover:underline",onClick:l.onClick,children:[l.label," ›"]}))]},t.message)})]}),l.length>0&&(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"text-xs font-bold text-[var(--colorWarning)]",children:["警告项(",l.length,")— 可忽略并继续运行"]}),l.map(e=>(0,s.jsx)("div",{className:"rounded-lg border border-yellow-200 bg-yellow-50/40 px-2.5 py-1.5 text-xs text-[var(--colorTextSecondary)]",children:e.message},e.message))]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"text-xs font-bold text-[var(--colorText)]",children:["绑定链路(",t.configName||"未绑定角色配置",")"]}),0===n.length?(0,s.jsx)("span",{className:"text-xs text-[var(--colorTextTertiary)]",children:"未配置提示词角色链路"}):(0,s.jsx)("div",{className:"flex flex-col gap-1.5",children:n.map(r=>{let l=o.get(r.roleId)||[];return(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-xs flex-wrap rounded-lg border border-[var(--borderColor)] bg-[var(--colorFillQuaternary)] px-2 py-1",children:[(0,s.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:e.name}),(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"→"}),(0,s.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:t.configName||"角色配置"}),(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"→"}),(0,s.jsx)("span",{className:"ok"===r.status?"text-[var(--colorText)]":"text-[var(--colorError)] font-medium",children:r.roleName||r.roleId}),(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"→"}),0===l.length?(0,s.jsx)(u.A,{color:"error",className:"border-0 m-0",children:"missing_resource"===r.status?"角色未绑定资源":"role_missing"===r.status?"角色不存在":"未绑定提示词"}):(0,s.jsx)("span",{className:"flex items-center gap-1 flex-wrap",children:l.map(e=>(0,s.jsx)(u.A,{color:e.exists&&e.contentLength>0?"success":e.exists?"warning":"error",className:"border-0 m-0",title:e.contentPreview||e.promptId,children:e.exists?"".concat(e.promptTitle||e.promptId," ").concat(e.contentLength,"字符"):"".concat(e.promptId," 已删除")},e.promptId))})]},r.roleId)})})]}),i&&(0,s.jsxs)("div",{className:"flex flex-col gap-1 rounded-lg border border-blue-200 bg-blue-50/40 px-2.5 py-2 text-xs",children:[(0,s.jsx)("span",{className:"font-bold text-[var(--colorText)]",children:"生成策略预估(生成前体检)"}),(0,s.jsxs)("span",{className:"text-[var(--colorTextSecondary)]",children:["约 ",i.chapterCount," 章 / 目标 ",i.targetWords>=1e4?"".concat((i.targetWords/1e4).toFixed(1)," 万字"):"".concat(i.targetWords," 字"),";全章节并行(",i.chapterConcurrency," 章同批);审查流水线 ",i.reviewConcurrency," 路;每章证据预算 ",Math.round(i.evidenceFloorChars/1e3),"k-",Math.round(i.evidenceCeilingChars/1e3),"k 字符;修复轮次预算 ",i.repairRoundBudget," 轮",i.globalReviewSamplingRate<1?";全局审查抽检 ".concat(Math.round(100*i.globalReviewSamplingRate),"%"):""]}),i.triggers.map(e=>(0,s.jsxs)("span",{className:"text-[var(--colorTextTertiary)]",children:["\xb7 ",e]},e))]}),(()=>{let r=t.referenceStructureSuggestion;return r&&0!==r.missingHeadings.length?(0,s.jsxs)("div",{className:"flex flex-col gap-1.5 rounded-lg border border-purple-200 bg-purple-50/40 px-2.5 py-2 text-xs",children:[(0,s.jsxs)("span",{className:"font-bold text-[var(--colorText)]",children:["参考库大纲建议(",r.projectType," \xb7 ",r.sourceCount," 份同类工程画像)"]}),(0,s.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:"以下章节出现于半数以上同类工程但当前模板缺失,仅建议、不影响运行:"}),(0,s.jsx)("span",{className:"flex items-center gap-1 flex-wrap",children:r.missingHeadings.map(e=>(0,s.jsxs)(u.A,{className:"border-0 m-0 bg-white",children:[e.title," \xb7 ",Math.round(100*e.ratio),"% 样本"]},e.title))}),(0,s.jsx)("span",{children:(0,s.jsx)(p.Ay,{size:"small",type:"primary",ghost:!0,icon:(0,s.jsx)(O.A,{}),onClick:()=>void rl(e,r),className:"rounded-md",children:"一键添加到模板"})})]}):null})()]})]})})(e)]}),(0,s.jsxs)("div",{className:"flex shrink-0 flex-nowrap items-center gap-2 whitespace-nowrap transition-opacity ".concat(ek===e.id?"opacity-100":"opacity-0 group-hover:opacity-100"),onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(p.Ay,{size:"small",onClick:t=>{t.stopPropagation(),t7(e)},className:"rounded-md",children:"配置"}),(0,s.jsx)(p.Ay,{size:"small",icon:(0,s.jsx)(K.A,{}),onClick:t=>{t.stopPropagation(),re(e.id)},className:"rounded-md"}),(0,s.jsx)(el,{title:ef("documents.deleteTemplateConfirm"),onConfirm:t=>{null==t||t.stopPropagation(),rt(e.id)},children:(0,s.jsx)(p.Ay,{size:"small",danger:!0,icon:(0,s.jsx)(W.A,{}),onClick:e=>e.stopPropagation(),className:"rounded-md"})}),(()=>{var t;let r=ta[e.id],l=null!=(t=null==r?void 0:r.issues.filter(e=>"error"===e.level).length)?t:0;return l>0?(0,s.jsxs)(p.Ay,{size:"small",danger:!0,icon:(0,s.jsx)(U.A,{}),disabled:!!tE&&tE!==e.id,onClick:t=>{var r;t.stopPropagation(),eN(r=e.id),ti(r),window.setTimeout(()=>{var e;return null==(e=tc.current[r])?void 0:e.scrollIntoView({behavior:"smooth",block:"center"})},50)},className:"min-w-[108px] rounded-md justify-center",children:["先修复 ",l," 个问题"]}):(0,s.jsx)(p.Ay,{size:"small",type:"primary",icon:tE===e.id?(0,s.jsx)(L.A,{}):(0,s.jsx)(V.A,{}),loading:tE===e.id,disabled:!!tE&&tE!==e.id,onClick:t=>{t.stopPropagation(),rr(e.id)},className:"min-w-[72px] rounded-md justify-center",children:tE===e.id?"准备中":"运行"})})()]})]},e.id))}):0===eK.length?(0,s.jsx)("div",{className:"py-32 text-center border border-dashed border-[var(--borderColor)] rounded-2xl bg-[var(--colorBgContainer)]",children:(0,s.jsx)(h.A,{description:(0,s.jsx)("span",{className:"text-[var(--colorTextSecondary)]",children:ef("common.noData")})})}):(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4",children:eK.slice(0,15).map((e,t)=>{var r,l,a,n,o,i,c,d,x,m;let h,g;return(0,s.jsxs)("div",{className:"group flex items-center gap-4 p-4 rounded-2xl transition-all cursor-pointer ".concat(eV===e.id?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),onClick:()=>{tX(e)},children:[(0,s.jsx)("div",{className:"mt-1",children:"completed"===e.status?(0,s.jsx)(E.A,{className:"text-xl text-[var(--colorOk)]"}):"failed"===e.status||"aborted"===e.status?(0,s.jsx)(G.A,{className:"text-xl text-[var(--colorDanger)]"}):"warning"===e.status||"completed_with_issues"===e.status?(0,s.jsx)(_.A,{className:"text-xl text-[var(--colorWarning)]"}):(0,s.jsx)(Q.A,{spin:!0,className:"text-xl text-blue-500"})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0 pr-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-2",children:[(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate",children:e.title}),(0,s.jsxs)(u.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0 shrink-0",children:["#",t+1]}),(0,s.jsx)(u.A,{color:"completed"===(h=e.status)?"success":"completed_with_issues"===h||"warning"===h?"warning":"failed"===h?"error":"aborted"===h?"default":"processing",className:"border-0 m-0 shrink-0",children:"completed"===(g=e.status)?"已完成":"completed_with_issues"===g?"已完成(待复核)":"warning"===g?"需复核":"failed"===g?"失败":"aborted"===g?"已中止":"生成中"})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-x-4 gap-y-2 text-xs text-[var(--colorTextSecondary)] mb-3",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(X.A,{})," ",new Date(e.updatedAt).toLocaleString()]}),(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,s.jsxs)("span",{children:["耗时 ",(e=>{let t=Math.max(0,Math.round(((e.completedAt||e.updatedAt)-e.createdAt)/1e3));if(t<60)return"".concat(t," 秒");let r=Math.floor(t/60),s=t%60;if(r<60)return s?"".concat(r," 分 ").concat(s," 秒"):"".concat(r," 分");let l=Math.floor(r/60),a=r%60;return a?"".concat(l," 小时 ").concat(a," 分"):"".concat(l," 小时")})(e)]}),e.partialChapters&&e.partialChapters.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,s.jsxs)("span",{children:["进度 ",e.partialChapters.filter(e=>"completed"===e.status).length,"/",e.partialChapters.length," 章"]}),(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,s.jsxs)("span",{children:["共 ",e.partialChapters.reduce((e,t)=>e+t.chars,0).toLocaleString()," 字"]})]})]}),("warning"===e.status||"failed"===e.status||"aborted"===e.status)&&(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 p-1.5 px-3 rounded-lg border text-xs ".concat("failed"===e.status||"aborted"===e.status?"border-red-200 bg-red-50/50":"border-yellow-200 bg-yellow-50/50"),children:[(0,s.jsx)("span",{className:"font-medium",children:"failed"===e.status?(null==(l=e.draft)||null==(r=l.exportGate)?void 0:r.passed)===!1?"门禁未通过":"生成失败":"aborted"===e.status?"已中止":"需复核"}),(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)]",children:"|"}),(0,s.jsx)("span",{className:"truncate max-w-[400px]",children:e.error||(null==(a=e.warningIssues)?void 0:a[0])||(null==(o=e.draft)||null==(n=o.validationIssues.find(e=>"error"===e.level||"warning"===e.level))?void 0:n.message)||(null==(d=e.draft)||null==(c=d.exportGate)||null==(i=c.checklist.find(e=>!e.passed))?void 0:i.label)||"需复核"})]})]}),(0,s.jsxs)("div",{className:"flex shrink-0 flex-nowrap items-center gap-2 whitespace-nowrap transition-opacity ".concat(eV===e.id?"opacity-100":"opacity-0 group-hover:opacity-100"),onClick:e=>e.stopPropagation(),children:[(0,s.jsx)(p.Ay,{size:"small",type:"primary",icon:tJ(e.status)?(0,s.jsx)(Q.A,{spin:!0}):(0,s.jsx)(V.A,{}),onClick:t=>{t.stopPropagation(),tX(e)},className:"min-w-[72px] rounded-md justify-center",children:"打开"}),tJ(e.status)&&(0,s.jsx)(el,{title:"确定中止此生成任务?",onConfirm:t=>{null==t||t.stopPropagation(),rc(e)},children:(0,s.jsx)(p.Ay,{size:"small",danger:!0,onClick:e=>e.stopPropagation(),className:"rounded-md",children:"中止"})}),("failed"===e.status||"aborted"===e.status||"warning"===e.status&&!!(null==(x=e.checkpointChapters)?void 0:x.length)&&/继续生成|重新生成|中断|卡住|未完成/u.test(e.error||(null==(m=e.warningIssues)?void 0:m.join(";"))||""))&&(0,s.jsx)(p.Ay,{size:"small",onClick:t=>{t.stopPropagation(),ri(e)},className:"rounded-md",children:"继续"}),(0,s.jsx)(el,{title:"确认删除?",onConfirm:t=>{null==t||t.stopPropagation(),rs(e)},children:(0,s.jsx)(p.Ay,{size:"small",danger:!0,icon:(0,s.jsx)(W.A,{}),onClick:e=>e.stopPropagation(),className:"rounded-md"})})]})]},e.id)})})})]}),(0,s.jsx)(g.A,{title:rv,open:tS,onClose:()=>{for(let e of(tk(!1),tB.current.values()))clearInterval(e);tB.current.clear()},size:"large",mask:{closable:!1},style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:eG?(0,s.jsxs)(i.A,{wrap:!0,children:[tY(ty)&&(0,s.jsx)(p.Ay,{icon:(0,s.jsx)(V.A,{}),disabled:e$||eL,onClick:()=>{ty&&ri(ty)},children:"继续生成"}),(0,s.jsx)(p.Ay,{icon:(0,s.jsx)(J.A,{}),disabled:e$,onClick:()=>{ru()},children:ef("documents.saveDraft")}),(0,s.jsx)(p.Ay,{icon:(0,s.jsx)(Y.A,{}),disabled:e$,loading:"markdown"===eX,onClick:()=>{rd("markdown")},children:"MD"}),(0,s.jsx)(p.Ay,{disabled:e$,loading:"html"===eX,onClick:()=>{rd("html")},children:"HTML"}),(0,s.jsx)(p.Ay,{disabled:e$,loading:"docx"===eX,onClick:()=>{rd("docx")},children:"DOCX"}),(0,s.jsx)(p.Ay,{type:"primary",disabled:e$,loading:"pdf"===eX,onClick:()=>{rd("pdf")},children:"PDF"})]}):tY(ty)?(0,s.jsx)(p.Ay,{type:"primary",icon:(0,s.jsx)(V.A,{}),loading:eL,onClick:()=>{ty&&ri(ty)},children:"继续生成"}):eL&&"workflow"===tN?(0,s.jsx)(p.Ay,{danger:!0,onClick:()=>{(async()=>{if(eV&&await (0,ee.r)(eV,th||void 0).catch(()=>void 0),eo){var e;eo.aborted=!0,null==(e=eo.pollController)||e.abort(),eo.loading=!1,eo.error="用户中止",ei(),eo=null}for(let e of(localStorage.removeItem(tW),tB.current.values()))clearInterval(e);tB.current.clear(),eW(!1),tv([]),tf(null),tk(!1),await tG(),ey.info("已中止生成任务")})()},children:"中止任务"}):void 0,children:(0,s.jsxs)(en,{style:{width:"100%"},gap:16,children:["workflow"===tN&&tg.length>0&&(0,s.jsx)(en,{gap:10,children:tg.map((e,t)=>{let r,l=tI.has(e.key),a=e.subSteps.length>8||e.description.length>240;return(0,s.jsxs)("div",{style:{display:"flex",gap:10,padding:10,border:"1px solid var(--colorBorderSecondary)",borderRadius:10,background:t===tO?"var(--colorFillAlter)":"var(--colorBgContainer)"},children:[(0,s.jsx)("span",{children:"process"===e.status?(0,s.jsx)(L.A,{}):"warning"===e.status?(0,s.jsx)(_.A,{style:{color:"var(--colorWarning)"}}):e.icon}),(0,s.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,s.jsxs)(i.A,{wrap:!0,children:[(0,s.jsx)(es,{strong:!0,children:e.title}),(0,s.jsx)(u.A,{color:"finish"===e.status?"success":"error"===e.status?"error":"warning"===e.status?"warning":"process"===e.status?"processing":"default",children:"warning"===(r=e.status)?"finish":r}),(e=>{var t;let r=td.current.get(e.key);if(!r)return null;let l=t2((null!=(t=r.endedAt)?t:Date.now())-r.startedAt);return(0,s.jsx)(u.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0",children:r.endedAt?l:"".concat(l,"(运行中)")})})(e)]}),(0,s.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12,whiteSpace:"pre-wrap"},children:((e,t)=>{let r=e.description.length>240,l=t?e.subSteps:e.subSteps.slice(0,8);return(0,s.jsxs)("div",{children:[e.subtitle&&(0,s.jsx)("div",{style:{marginBottom:4},children:(0,s.jsx)(u.A,{children:e.subtitle})}),(0,s.jsx)("div",{style:!t&&r?{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"}:void 0,children:e.description}),(0,s.jsx)("div",{style:{marginTop:4},children:l.map(e=>{var t;return(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,fontSize:12,color:"process"===e.status?"var(--colorPrimary)":"var(--colorTextSecondary)"},children:["process"===(t=e.status)?(0,s.jsx)(L.A,{}):"finish"===t?(0,s.jsx)(E.A,{}):"warning"===t?(0,s.jsx)(_.A,{style:{color:"var(--colorWarning)"}}):"error"===t?(0,s.jsx)(W.A,{}):(0,s.jsx)("span",{style:{display:"inline-block",height:6,width:6,borderRadius:"50%",background:"var(--colorTextTertiary)"}}),(0,s.jsx)("span",{children:e.title})]},e.key)})})]})})(e,l)}),a&&(0,s.jsx)(p.Ay,{size:"small",type:"link",style:{padding:0,height:"auto",marginTop:6},onClick:()=>{var t;return t=e.key,void tT(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},children:l?"收起":e.subSteps.length>8?"更多(".concat(e.subSteps.length," 条详情)"):"更多"})]})]},e.key)})}),"workflow"===tN&&(null==ty?void 0:ty.partialChapters)&&ty.partialChapters.length>0&&(0,s.jsx)(v.A,{size:"small",title:"章节进度",extra:(0,s.jsxs)(u.A,{color:"blue",children:[ty.partialChapters.filter(e=>"completed"===e.status).length,"/",ty.partialChapters.length]}),children:(0,s.jsx)(en,{gap:6,style:{width:"100%"},children:ty.partialChapters.map(e=>(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:8,fontSize:12},children:[(0,s.jsx)(es,{ellipsis:!0,style:{maxWidth:480},children:e.title}),(0,s.jsxs)(i.A,{size:6,children:[(0,s.jsx)(u.A,{color:"failed"===e.status?"error":"success",children:"failed"===e.status?"失败":"完成"}),(0,s.jsxs)(es,{type:"secondary",children:[e.chars.toLocaleString()," 字"]})]})]},e.id))})}),"workflow"===tN&&(null==ty||null==(t=ty.draft)||null==(e=t.exportGate)?void 0:e.passed)===!1&&(()=>{var e;let t=(null==(e=ty.draft.exportGate.blockingIssues)?void 0:e.map(e=>e.message))||ty.draft.exportGate.checklist.filter(e=>!e.passed).map(e=>e.label)||["存在阻断级校验错误"],r=tz?t:t.slice(0,6);return(0,s.jsx)(ea,{type:"error",title:"生成已完成,但导出门禁未通过",children:(0,s.jsxs)(i.A,{direction:"vertical",size:8,style:{width:"100%"},children:[(0,s.jsx)("span",{children:"阻断项:".concat(r.join(";")).concat(t.length>6&&!tz?"…(共 ".concat(t.length," 项)"):"","。可点击继续生成触发自动修复,或在“校验”页查看完整问题。")}),t.length>6&&(0,s.jsx)(p.Ay,{size:"small",type:"link",style:{padding:0,height:"auto",alignSelf:"flex-start"},onClick:()=>tR(e=>!e),children:tz?"收起":"查看全部 ".concat(t.length," 项")}),tY(ty)&&(0,s.jsx)(p.Ay,{type:"primary",size:"small",icon:(0,s.jsx)(V.A,{}),loading:eL,onClick:()=>{ri(ty)},children:"继续生成 / 自动修复"})]})})})(),"workflow"===tN&&(null==ty||null==(r=ty.reviewMetadata)?void 0:r.diagnostics)&&(0,s.jsx)(ea,{type:"info",title:"后台自动优化",children:"策略:".concat(ty.reviewMetadata.diagnostics.strategy.mode,";LLM 调用 ").concat(ty.reviewMetadata.diagnostics.llm.calls," 次;噪声过滤 ").concat((null==(a=ty.reviewMetadata.diagnostics.evidence)?void 0:a.filteredNoise)||0," 条;质量门禁 阻断").concat((null==(o=ty.reviewMetadata.diagnostics.quality)?void 0:o.blockingCount)||0,"/重要").concat((null==(M=ty.reviewMetadata.diagnostics.quality)?void 0:M.importantCount)||0,"/轻微").concat((null==(P=ty.reviewMetadata.diagnostics.quality)?void 0:P.minorCount)||0,";自动限流调整 ").concat(ty.reviewMetadata.diagnostics.llm.limitAdjustments," 次。审查与诊断信息仅用于系统修复,不会写入正文或导出文件。")}),"workflow"===tN&&(null==ty||null==(eh=ty.draft)?void 0:eh.promptRules)&&(()=>{let e=ty.draft.promptRules,t=e.executionSummary||[],r=Object.entries(e.ruleSources||{}).filter(e=>{let[,t]=e;return t.length>0}),l=r.length>0,a=tM?r:r.slice(0,3);return(0,s.jsx)(v.A,{size:"small",title:(0,s.jsxs)(i.A,{size:6,children:[(0,s.jsx)(_.A,{style:{color:"var(--colorAccent)"}}),"提示词规则生效报告",t.length>0&&(0,s.jsxs)(u.A,{style:{margin:0},children:[t.length," 条"]})]}),styles:{body:{padding:12}},children:(0,s.jsxs)(en,{gap:6,children:[t.length>0&&t.map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:6,fontSize:12,color:"var(--colorText)",lineHeight:1.6},children:[(0,s.jsx)(E.A,{style:{color:"var(--colorSuccess)",marginTop:4}}),(0,s.jsx)("span",{children:e})]},t)),l&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(j.A,{style:{margin:"4px 0"}}),(0,s.jsx)(es,{type:"secondary",style:{fontSize:12},children:"规则溯源(自动从以下提示词中抽取):"}),a.map(e=>{let[t,r]=e;return(0,s.jsxs)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)",lineHeight:1.6},children:[(0,s.jsx)(es,{strong:!0,style:{fontSize:12},children:t}),":",r.map(e=>"".concat(e.roleId,"「").concat(e.matchedText.length>24?"".concat(e.matchedText.slice(0,24),"…"):e.matchedText,"」")).join("、")]},t)}),r.length>3&&(0,s.jsx)(p.Ay,{size:"small",type:"link",style:{padding:0,height:"auto",alignSelf:"flex-start"},onClick:()=>t_(e=>!e),children:tM?"收起溯源":"查看全部溯源(".concat(r.length," 类)")})]}),!l&&0===t.length&&(0,s.jsx)(es,{type:"secondary",style:{fontSize:12},children:"未从提示词中识别到额外硬规则,使用系统默认质量规则。"})]})})})(),"workflow"===tN&&(null==ty||null==(ev=ty.draft)||null==(eg=ev.reviewMetadata)?void 0:eg.qualityBenchmark)&&(()=>{let e=ty.draft.reviewMetadata.qualityBenchmark;return(0,s.jsx)(v.A,{size:"small",title:(0,s.jsxs)(i.A,{size:6,children:[(0,s.jsx)(Z.A,{style:{color:"#faad14"}}),"质量对标",(0,s.jsxs)(u.A,{color:"gold",style:{margin:0},children:[e.projectType,"参考"]})]}),extra:(0,s.jsxs)(es,{strong:!0,style:{fontSize:15,color:e.overallScore>=80?"var(--colorSuccess)":"var(--colorWarning)"},children:[e.overallScore," 分"]}),styles:{body:{padding:12}},children:(0,s.jsxs)(en,{gap:8,children:[(0,s.jsxs)(es,{type:"secondary",style:{fontSize:12},children:["与模板参考库 ",e.referenceSourceCount," 份同类入围文件的质量画像对比:"]}),e.items.map(e=>(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,s.jsx)("div",{style:{width:86,fontSize:12,color:"var(--colorTextSecondary)",flexShrink:0},children:e.label}),(0,s.jsx)(f.A,{percent:Math.min(100,e.score),size:"small",status:e.passed?"normal":"exception",style:{flex:1,margin:0},showInfo:!1}),(0,s.jsxs)("div",{style:{width:96,fontSize:12,textAlign:"right",flexShrink:0,color:e.passed?"var(--colorSuccess)":"var(--colorWarning)"},children:[e.passed?(0,s.jsx)(E.A,{style:{marginRight:4}}):(0,s.jsx)($.A,{style:{marginRight:4}}),t6(e.generated,e.unit)]})]},e.key)),(0,s.jsxs)(es,{type:"secondary",style:{fontSize:12},children:["基准参考值:",e.items.map(e=>"".concat(e.label," ").concat(t6(e.reference,e.unit))).join(";")]})]})})})(),"workflow"===tN&&eL&&0===tg.length&&(0,s.jsxs)("div",{style:{textAlign:"center",padding:40},children:[(0,s.jsx)(y.A,{}),(0,s.jsx)("div",{style:{marginTop:12,color:"var(--colorTextSecondary)"},children:"正在准备生成…"})]}),"editor"===tN&&(null==eG||null==(ej=eG.reviewMetadata)?void 0:ej.qualityBenchmark)&&(()=>{var e;let t=eG.reviewMetadata.qualityBenchmark,r=null==(e=eG.reviewMetadata.diagnostics)?void 0:e.quality,l=(eG.executionStages||[]).filter(e=>"llm_review"===e.type||"quality-repair"===e.roleId).flatMap(e=>(e.details||[]).filter(e=>/修复|补写|补齐|改进|调整/u.test(e))).slice(0,8);return(0,s.jsx)(v.A,{size:"small",title:(0,s.jsxs)(i.A,{size:6,children:[(0,s.jsx)(Z.A,{style:{color:"#faad14"}}),"运行质量报告",(0,s.jsxs)(u.A,{color:"gold",className:"border-0 m-0",children:[t.projectType,"对标"]})]}),extra:(0,s.jsxs)(es,{strong:!0,style:{fontSize:15,color:t.overallScore>=80?"var(--colorSuccess)":"var(--colorWarning)"},children:[t.overallScore," 分"]}),styles:{body:{padding:12}},children:(0,s.jsxs)(en,{gap:8,children:[(0,s.jsxs)(i.A,{wrap:!0,size:6,children:[(0,s.jsxs)(u.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0",children:["对标库 ",t.referenceSourceCount," 份同类文件"]}),r&&(0,s.jsxs)(u.A,{color:r.blockingCount>0?"error":"success",className:"border-0 m-0",children:["审查修复 ",r.repairedCount," 项 / 问题 ",r.blockingCount+r.importantCount+r.minorCount," 项"]}),(0,s.jsxs)(u.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0",children:[t.items.filter(e=>e.passed).length,"/",t.items.length," 指标达标"]})]}),l.length>0&&(0,s.jsxs)("div",{className:"flex flex-col gap-1 rounded-lg border border-[var(--borderColor)] bg-[var(--colorFillQuaternary)] px-3 py-2",children:[(0,s.jsx)("span",{className:"text-xs font-medium text-[var(--colorText)]",children:"修复记录(审查阶段自动修复的内容)"}),l.map((e,t)=>(0,s.jsxs)("span",{className:"text-xs text-[var(--colorTextSecondary)]",children:["\xb7 ",e]},t))]}),(0,s.jsxs)(es,{type:"secondary",style:{fontSize:12},children:["基准参考值:",t.items.map(e=>"".concat(e.label," ").concat(t6(e.reference,e.unit))).join(";")]})]})})})(),"editor"===tN&&tx.length>0&&(0,s.jsx)(v.A,{size:"small",title:(0,s.jsxs)(i.A,{size:6,children:[(0,s.jsx)(Y.A,{}),"导出闭环报告",(0,s.jsx)(u.A,{className:"border-0 bg-[var(--colorFillSecondary)] m-0",children:tx.length})]}),styles:{body:{padding:12}},children:(0,s.jsx)(en,{gap:6,children:[...tx].reverse().map((e,t)=>(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-lg border border-[var(--borderColor)] bg-[var(--colorFillQuaternary)] px-3 py-2 text-xs",children:[(0,s.jsx)(es,{strong:!0,children:e.format.toUpperCase()}),(0,s.jsx)(u.A,{color:"blue",className:"border-0 m-0",children:new Date(e.exportedAt).toLocaleString()}),void 0!==e.durationMs&&(0,s.jsxs)("span",{className:"text-[var(--colorTextSecondary)]",children:["总用时 ",t2(e.durationMs)]}),void 0!==e.benchmarkScore&&(0,s.jsxs)("span",{className:"text-[var(--colorTextSecondary)]",children:["质量对标 ",e.benchmarkScore," 分"]}),void 0!==e.repairedCount&&(0,s.jsxs)("span",{className:"text-[var(--colorTextSecondary)]",children:["修复 ",e.repairedCount," 项",void 0!==e.blockingCount?"(阻断 ".concat(e.blockingCount,")"):""]}),e.ruleSummary&&e.ruleSummary.length>0&&(0,s.jsxs)("span",{className:"text-[var(--colorTextSecondary)]",children:["规则 ",e.ruleSummary.length," 条"]}),!1===e.gatePassed&&(0,s.jsx)(u.A,{color:"error",className:"border-0 m-0",children:"门禁未过"})]},"".concat(e.exportedAt,"-").concat(t)))})}),eG&&(0,s.jsx)("div",{ref:eb,children:(0,s.jsx)(m.A,{items:[{key:"edit",label:ef("documents.edit"),children:(0,s.jsxs)(en,{gap:16,style:{width:"100%"},children:[(0,s.jsx)(er,{rows:28,value:eH,disabled:e$,onSelect:e=>{var t,r,s;return e7({start:null!=(t=e.currentTarget.selectionStart)?t:0,end:null!=(s=null!=(r=e.currentTarget.selectionEnd)?r:e.currentTarget.selectionStart)?s:0})},onChange:e=>{var t,r,s;eO(e.target.value),e5(null),e8(null),e7({start:null!=(t=e.target.selectionStart)?t:0,end:null!=(s=null!=(r=e.target.selectionEnd)?r:e.target.selectionStart)?s:0})}}),(0,s.jsx)(v.A,{size:"small",style:{borderRadius:12,background:"linear-gradient(135deg, var(--colorFillAlter), var(--colorBgContainer))"},children:(0,s.jsxs)(en,{gap:16,style:{width:"100%"},children:[(0,s.jsxs)(i.A,{align:"start",style:{width:"100%",justifyContent:"space-between"},children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)(i.A,{size:6,children:[(0,s.jsx)(F.A,{style:{color:"var(--colorAccent)"}}),(0,s.jsx)(es,{strong:!0,children:"精准修改"}),(0,s.jsx)(u.A,{color:"blue",children:"AI 辅助"})]}),(0,s.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12},children:"针对当前编辑内容补充更具体的要求,AI 会保留文档结构并按你的提示细化修改。"})]}),(0,s.jsxs)(p.Ay,{size:"small",icon:(0,s.jsx)(X.A,{}),onClick:()=>tr(e=>!e),disabled:0===e9.length,children:["历史版本 ",e9.length>0?e9.length:""]})]}),(0,s.jsx)(ea,{type:"info",title:"系统只负责识别修改范围,不改写你的提示词;选中文字后优先只改选区,没有选区时按光标所在小节/章节定位。"}),(0,s.jsx)(er,{rows:4,value:eY,disabled:e$,onChange:e=>{eZ(e.target.value),e5(null),e8(null)},placeholder:"例如:写细一点;润色这段;第七章补充高处作业和临电安全措施;把安全检查频次改成每周一次。"}),(0,s.jsxs)(i.A,{wrap:!0,style:{width:"100%",justifyContent:"space-between"},children:[(0,s.jsx)(i.A,{wrap:!0,children:["写细一点","更专业","只润色选区","补充可执行措施"].map(e=>(0,s.jsx)(p.Ay,{size:"small",disabled:e$,onClick:()=>eZ(t=>t?"".concat(t,";").concat(e):e),children:e},e))}),(0,s.jsx)(p.Ay,{type:"primary",icon:(0,s.jsx)(F.A,{}),loading:e$&&"planning"===e1,disabled:!eY.trim()||e$,onClick:()=>{rh()},children:"识别修改范围"})]}),e6&&!e4&&(0,s.jsx)(v.A,{size:"small",style:{borderRadius:10,borderColor:"var(--colorAccent)"},children:(0,s.jsxs)(en,{gap:8,style:{width:"100%"},children:[(0,s.jsxs)(i.A,{wrap:!0,children:[(0,s.jsx)(u.A,{color:"purple",children:e6.scope}),(0,s.jsx)(u.A,{color:"blue",children:e6.action}),(0,s.jsxs)(u.A,{color:e6.confidence>=.8?"green":"orange",children:["置信度 ",Math.round(100*e6.confidence),"%"]}),e6.targetTitle&&(0,s.jsx)(es,{strong:!0,children:e6.targetTitle})]}),(0,s.jsx)(es,{children:e6.summary}),(0,s.jsx)(es,{type:"secondary",style:{fontSize:12},children:"将按你的原始提示词执行,不添加额外编辑任务。"}),(0,s.jsxs)(i.A,{children:[(0,s.jsx)(p.Ay,{type:"primary",loading:e$&&"applying"===e1,onClick:()=>{rg(e6)},children:"执行并预览"}),(0,s.jsx)(p.Ay,{disabled:e$,onClick:()=>e5(null),children:"取消"})]})]})}),e4&&(0,s.jsx)(v.A,{size:"small",style:{borderRadius:10,borderColor:"var(--colorSuccess)"},children:(0,s.jsxs)(en,{gap:8,style:{width:"100%"},children:[(0,s.jsxs)(i.A,{wrap:!0,children:[(0,s.jsx)(u.A,{color:"green",children:"修改预览"}),(0,s.jsx)(es,{children:e4.summary||e4.plan.summary}),(0,s.jsxs)(u.A,{children:[e4.changedChars&&e4.changedChars>0?"+".concat(e4.changedChars):e4.changedChars," 字符"]})]}),(0,s.jsxs)(w.A,{gutter:12,children:[(0,s.jsxs)(b.A,{span:12,children:[(0,s.jsx)(es,{strong:!0,children:"修改前"}),(0,s.jsx)("div",{style:{marginTop:6,maxHeight:180,overflow:"auto",padding:10,borderRadius:8,background:"var(--colorFillAlter)",whiteSpace:"pre-wrap",fontSize:12},children:e4.beforeSnippet||"无片段预览"})]}),(0,s.jsxs)(b.A,{span:12,children:[(0,s.jsx)(es,{strong:!0,children:"修改后"}),(0,s.jsx)("div",{style:{marginTop:6,maxHeight:180,overflow:"auto",padding:10,borderRadius:8,background:"var(--colorFillAlter)",whiteSpace:"pre-wrap",fontSize:12},children:e4.afterSnippet||"无片段预览"})]})]}),(0,s.jsxs)(i.A,{children:[(0,s.jsx)(p.Ay,{type:"primary",onClick:()=>{e4&&(rp(e4.before,e4.prompt),eO(e4.markdown),rx(!0),ey.success("已应用精准修改"))},children:"应用到文档"}),(0,s.jsx)(p.Ay,{onClick:()=>e8(null),children:"返回计划"}),(0,s.jsx)(p.Ay,{danger:!0,onClick:()=>{e5(null),e8(null)},children:"放弃"})]})]})}),tt&&(0,s.jsx)("div",{style:{borderTop:"1px solid var(--colorBorderSecondary)",paddingTop:12},children:(0,s.jsx)(A.A,{size:"small",dataSource:e9,locale:{emptyText:"暂无历史版本"},renderItem:e=>(0,s.jsx)(A.A.Item,{actions:[(0,s.jsx)(p.Ay,{size:"small",disabled:e$,onClick:()=>{rp(eH,"恢复前版本"),eO(e.content),rx(!0),ey.success("已恢复历史版本")},children:"恢复"},"restore")],children:(0,s.jsx)(A.A.Item.Meta,{title:(0,s.jsxs)(i.A,{children:[(0,s.jsx)(es,{children:new Date(e.createdAt).toLocaleString()}),(0,s.jsx)(u.A,{children:e.prompt})]}),description:(0,s.jsx)(es,{type:"secondary",ellipsis:!0,children:e.content.replace(/\s+/gu," ").slice(0,120)})})})})})]})})]})},{key:"chapters-facts",label:"章节与事实",children:(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[eG.chapters.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsxs)(es,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["章节 (",eG.chapters.length,")"]}),(0,s.jsx)(A.A,{size:"small",dataSource:eG.chapters,renderItem:e=>(0,s.jsx)(A.A.Item,{children:(0,s.jsx)(A.A.Item.Meta,{title:e.title,description:"证据: ".concat(e.evidence.length," \xb7 缺失: ").concat(e.missingFacts.length)})})})]}),eG.structuredFacts.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsxs)(es,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["结构化事实 (",eG.structuredFacts.length,")"]}),(0,s.jsx)(S.A,{size:"small",column:1,bordered:!0,children:eG.structuredFacts.map((e,t)=>(0,s.jsxs)(S.A.Item,{label:e.key,children:[(0,s.jsx)("span",{children:e.value}),(0,s.jsx)(u.A,{style:{marginLeft:8},children:e.confidence.toFixed(2)}),(0,s.jsx)(es,{type:"secondary",style:{fontSize:11,marginLeft:8},children:e.sourceFile})]},t))})]})]})},{key:"sources-missing",label:"来源与缺失",children:(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)(es,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["引用来源 (",eG.sources.length,")"]}),0===eG.sources.length?(0,s.jsx)(h.A,{description:"暂无"}):(0,s.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:eG.sources.map(e=>(0,s.jsxs)(u.A,{color:"blue",children:[e.filePath," (",e.count,")"]},e.filePath))})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)(es,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["缺失项 (",eG.missingItems.length,")"]}),0===eG.missingItems.length?(0,s.jsx)(h.A,{description:"无缺失"}):(0,s.jsx)(A.A,{size:"small",dataSource:eG.missingItems,renderItem:e=>(0,s.jsx)(A.A.Item,{children:e})})]})]})},{key:"validation",label:"校验 (".concat(eG.validationIssues.length,")"),children:0===eG.validationIssues.length?(0,s.jsx)(h.A,{description:"校验通过"}):(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[eG.validationIssues.map(e=>(0,s.jsxs)("div",{style:{border:"1px solid var(--colorBorderSecondary)",borderRadius:8,padding:12},children:[(0,s.jsx)(u.A,{color:"error"===e.level?"error":"warning"===e.level?"warning":"blue",children:e.level}),(0,s.jsx)("div",{style:{marginTop:6,whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all",lineHeight:1.6},children:e.message}),e.suggestion&&(0,s.jsx)("div",{style:{marginTop:6,color:"var(--colorTextSecondary)",whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-all"},children:e.suggestion})]},"".concat(e.level,"-").concat(e.message))),eG.exportGate.checklist.length>0&&(0,s.jsxs)("div",{style:{marginTop:8},children:[(0,s.jsx)(es,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:"导出门禁"}),(0,s.jsx)(A.A,{size:"small",dataSource:eG.exportGate.checklist,renderItem:e=>(0,s.jsxs)(A.A.Item,{children:[(0,s.jsx)(es,{style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:e.label}),(0,s.jsx)(u.A,{color:e.passed?"success":"error",children:e.passed?"PASS":"FAIL"})]})})]})]})},{key:"stages",label:"执行阶段 (".concat(eG.executionStages.length,")"),children:(0,s.jsx)(A.A,{size:"small",dataSource:eG.executionStages,renderItem:e=>(0,s.jsxs)(A.A.Item,{children:[(0,s.jsx)(A.A.Item.Meta,{avatar:ec[e.type]||(0,s.jsx)(D.A,{}),title:(0,s.jsx)(es,{title:e.roleId,style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:"".concat(e.title||ex[e.type]||e.type," \xb7 ").concat(e.roleName||e.subtitle||tK(e.roleId))}),description:(0,s.jsx)(es,{type:"secondary",style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-word"},children:e.message})}),(0,s.jsx)(u.A,{color:"success"===e.status?"success":"failed"===e.status?"error":"skipped"===e.status?"default":"warning",children:e.status})]})})}]})})]})}),(0,s.jsx)(g.A,{title:ef("documents.templateEditor"),open:ts,onClose:()=>tl(!1),size:"large",mask:{closable:!1},styles:{body:{padding:20,overflow:"auto"},header:{borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,s.jsxs)(i.A,{children:[(0,s.jsx)(p.Ay,{onClick:()=>tl(!1),children:ef("common.cancel")}),(0,s.jsx)(p.Ay,{type:"primary",onClick:()=>{t9()},children:ef("common.save")})]}),children:(0,s.jsxs)(d.A,{form:ew,layout:"vertical",requiredMark:"optional",children:[(0,s.jsxs)(w.A,{gutter:12,children:[(0,s.jsx)(d.A.Item,{name:"id",hidden:!0,children:(0,s.jsx)(n.A,{})}),(0,s.jsx)(b.A,{xs:24,md:8,children:(0,s.jsx)(d.A.Item,{name:"name",label:ef("documents.templateName"),rules:[{required:!0}],children:(0,s.jsx)(n.A,{})})}),(0,s.jsx)(b.A,{xs:24,md:8,children:(0,s.jsx)(d.A.Item,{name:"category",label:ef("documents.templateCategory"),children:(0,s.jsx)(n.A,{})})}),(0,s.jsx)(b.A,{xs:24,md:8,children:(0,s.jsx)(d.A.Item,{name:"outputTitle",label:ef("documents.outputTitle"),children:(0,s.jsx)(n.A,{})})}),(0,s.jsx)(b.A,{xs:24,md:12,children:(0,s.jsx)(d.A.Item,{name:"description",label:ef("documents.templateDescription"),children:(0,s.jsx)(n.A,{})})})]}),(0,s.jsx)(d.A.Item,{name:"projectRoleConfigId",label:ef("documents.projectRoleConfig"),rules:[{required:!0,message:ef("documents.projectRoleConfigRequired")}],children:(0,s.jsx)(k.A,{showSearch:!0,placeholder:ef("documents.projectRoleConfigRequired"),options:tH})}),(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(es,{strong:!0,className:"text-base text-[var(--colorText)] block mb-1",children:"项目资料包绑定"}),(0,s.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:"直接选择整个项目文件夹,系统会自动识别招标正文、清单、图纸、补疑等资料类型。"})]}),(0,s.jsx)(u.A,{color:"blue",className:"border-0",children:"按项目资料包"})]}),eF?(0,s.jsxs)("div",{className:"text-center py-8",children:[(0,s.jsx)(y.A,{}),(0,s.jsx)("div",{className:"mt-3 text-[var(--colorTextSecondary)] text-xs",children:"正在加载知识库文件…"})]}):0===e_.length?(0,s.jsx)(h.A,{image:h.A.PRESENTED_IMAGE_SIMPLE,description:"暂无知识库文件"}):(0,s.jsx)(d.A.Item,{name:"projectMaterialRoots",rules:[{required:!0,message:"请选择项目资料包"}],children:(0,s.jsx)(N.A,{treeData:e_,loadData:t3,fieldNames:{label:"rawTitle",value:"value",children:"children"},onChange:e=>{var t;return t=e.map(e=>String(e)),void ew.setFieldValue("projectMaterialRoots",eu(t))},treeCheckable:!0,showCheckedStrategy:N.A.SHOW_PARENT,placeholder:"点击这里选择项目文件夹...",style:{width:"100%"},listHeight:360,showSearch:!0,maxTagCount:"responsive",size:"large"})})]})]})})]})}}},e=>{e.O(0,[717,883,69,700,44,224,787,195,455,506,930,636,593,792],()=>e(e.s=16403)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[920],{2548:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>T});var s=t(65321),r=t(97109),c=t(35292),o=t(11702),n=t(68787),d=t(33442),a=t(2256),i=t(38770),x=t(55122),m=t(80300),u=t(15622),h=t(26619),j=t(71330),p=t(26631),v=t(64068),g=t(84742),f=t(4527),y=t(95118),b=t(33555),N=t(64629),A=t(6578);let{Title:C,Paragraph:w,Text:k}=c.A,S=[{icon:(0,s.jsx)(h.A,{}),title:"上传项目资料包",goal:"将同一项目的招标正文、清单、图纸、补疑等资料放在同一个项目文件夹下。",checks:["资料已上传","索引完成","可选择项目文件夹"],href:"/knowledge"},{icon:(0,s.jsx)(j.A,{}),title:"维护提示词角色",goal:"只配置写作、事实抽取、质量审查、格式化等提示词角色;项目资料类型由系统自动识别。",checks:["角色已绑定提示词","编排配置已保存"],href:"/prompt"},{icon:(0,s.jsx)(p.A,{}),title:"配置文档模板",goal:"选择项目资料包,配置章节结构、输出标题、页数目标和提示词编排。",checks:["资料包已绑定","章节结构完整","运行前校验通过"],href:"/documents"},{icon:(0,s.jsx)(v.A,{}),title:"运行工作流",goal:"系统构建项目理解,并按章节组合招标正文、清单、图纸、补疑等证据生成文档。",checks:["项目理解完成","章节逐步生成","证据来源可追溯"],href:"/documents"},{icon:(0,s.jsx)(g.A,{}),title:"审查与导出",goal:"查看结构化事实、来源、缺失项和导出门禁,确认文档可交付。",checks:["无阻断问题","正文无后台话术","导出结果可打开"],href:"/documents"}],_=[{title:"招标文件正文",desc:"确定项目边界、响应要求、工期质量安全目标和评审关注点。",color:"blue"},{title:"工程量清单",desc:"确定主要工程内容、分部分项、项目特征、工程量和资源配置依据。",color:"green"},{title:"图纸/设计资料",desc:"确定施工对象、空间关系、构造做法、专业接口和重点难点。",color:"purple"},{title:"补疑/澄清/答疑",desc:"修正招标正文、清单或图纸口径;与原文件冲突时优先采用。",color:"orange"}],R=[{icon:(0,s.jsx)(f.A,{}),title:"自动资料识别",desc:"根据文件名、目录和内容线索识别资料类型。"},{icon:(0,s.jsx)(y.A,{}),title:"项目理解",desc:"建立项目资料包视角,提炼工程范围、招标要求、清单内容、图纸对象和补疑修正项。"},{icon:(0,s.jsx)(b.A,{}),title:"章节证据计划",desc:"不同章节按不同资料组合召回,减少泛化套话和无来源事实。"}];function T(){let[e,l]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let e=!1;return(async()=>{try{var t,s,r;let c=await (0,A.dx)(),o=(null==(t=c.find(e=>e.selected))?void 0:t.projectRoot)||(null==(s=c.find(e=>e.isCurrent))?void 0:s.projectRoot)||(null==(r=c[0])?void 0:r.projectRoot)||"",[n,d,a,i]=await Promise.all([(0,A.lv)("prompt"),(0,A.Dl)(),(0,A.cQ)(o||void 0),(0,A.hc)(o||void 0)]),x=await Promise.all(d.templates.map(async e=>{try{let{validation:l}=await (0,A.SM)(e.id,o||void 0);return l.issues.some(e=>"error"===e.level)}catch(e){return!1}}));if(e)return;l({kbFileCount:i.fileCount,promptRoleCount:n.roles.length,roleConfigCount:n.configs.length,templateCount:d.templates.length,templateBlockedCount:x.filter(e=>e).length,recordCount:a.documents.length,completedRecordCount:a.documents.filter(e=>"completed"===e.status||"completed_with_issues"===e.status||"warning"===e.status).length,exportCount:a.documents.reduce((e,l)=>{var t;return e+((null==(t=l.exportReports)?void 0:t.length)||0)},0)})}catch(e){}})(),()=>{e=!0}},[]),(0,s.jsx)("div",{className:"p-6 max-w-7xl mx-auto",children:(0,s.jsxs)("div",{className:"w-full flex flex-col gap-6",children:[(0,s.jsx)(n.A,{title:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(b.A,{})," 使用指南"]}),className:"rounded-2xl",extra:(0,s.jsxs)(d.A,{wrap:!0,children:[(0,s.jsx)(o.A,{color:"blue",className:"px-3 py-1",children:"项目资料包"}),(0,s.jsx)(o.A,{color:"green",className:"px-3 py-1",children:"自动识别"}),(0,s.jsx)(o.A,{color:"purple",className:"px-3 py-1",children:"项目理解"})]}),children:(0,s.jsx)(w,{type:"secondary",className:"!mb-0 max-w-3xl",children:"模板直接绑定整个项目资料包,系统自动识别招标正文、工程量清单、图纸、补疑、技术规范等资料类型,并基于项目理解生成专业文档。"})}),(0,s.jsxs)(n.A,{className:"rounded-2xl",styles:{body:{padding:24}},children:[(0,s.jsx)("div",{className:"flex items-center justify-between gap-4 mb-5",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(C,{level:4,className:"!mb-1",children:"推荐操作流程"}),(0,s.jsx)(k,{type:"secondary",children:"从资料入库到文档导出,按以下步骤完成。"})]})}),(0,s.jsx)(a.A,{gutter:[16,16],children:S.map((l,t)=>{let r;return(0,s.jsx)(i.A,{xs:24,md:12,xl:8,children:(0,s.jsxs)(n.A,{className:"h-full rounded-2xl border-[var(--colorBorderSecondary)]",styles:{body:{padding:18}},children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 mb-3",children:[(0,s.jsx)("div",{className:"w-10 h-10 rounded-xl bg-[var(--colorFillSecondary)] text-[var(--colorPrimary)] flex items-center justify-center text-lg",children:l.icon}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)(o.A,{color:"blue",className:"mb-2",children:["Step ",t+1]}),(0,s.jsx)("div",{className:"font-semibold text-[var(--colorText)]",children:l.title})]})]}),(0,s.jsx)(w,{className:"text-sm text-[var(--colorTextSecondary)] min-h-[44px] !mb-4",children:l.goal}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5",children:l.checks.map(e=>(0,s.jsx)(o.A,{children:e},e))}),(0,s.jsx)(x.A,{className:"!my-3"}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[(r=(l=>{if(!e)return{text:"加载中…",level:"todo"};switch(l){case 0:return e.kbFileCount>0?{text:"已入库 ".concat(e.kbFileCount," 份资料文件"),level:"done"}:{text:"尚未上传项目资料",level:"progress"};case 1:return e.promptRoleCount>0?{text:"".concat(e.promptRoleCount," 个提示词角色 / ").concat(e.roleConfigCount," 套编排"),level:"done"}:{text:"尚未配置提示词角色",level:"todo"};case 2:return e.templateCount>0?e.templateBlockedCount>0?{text:"".concat(e.templateCount," 个模板,").concat(e.templateBlockedCount," 个存在阻断项"),level:"progress"}:{text:"".concat(e.templateCount," 个模板全部通过运行前校验"),level:"done"}:{text:"尚未创建文档模板",level:"todo"};case 3:return e.recordCount>0?{text:"已生成 ".concat(e.completedRecordCount,"/").concat(e.recordCount," 条有效记录"),level:"done"}:{text:"尚无生成记录",level:"todo"};case 4:return e.exportCount>0?{text:"已导出 ".concat(e.exportCount," 次,报告已归档"),level:"done"}:e.completedRecordCount>0?{text:"有生成记录待导出",level:"progress"}:{text:"等待生成记录后导出",level:"todo"};default:return{text:"",level:"todo"}}})(t),(0,s.jsx)(o.A,{color:"done"===r.level?"success":"progress"===r.level?"processing":"default",icon:null===e?(0,s.jsx)(N.A,{spin:!0}):void 0,className:"border-0",children:r.text})),(0,s.jsx)("a",{className:"text-xs text-[var(--colorPrimary)] hover:underline",href:l.href,children:"去完成 ›"})]})]})},l.title)})})]}),(0,s.jsxs)(a.A,{gutter:[16,16],align:"stretch",children:[(0,s.jsx)(i.A,{xs:24,lg:10,children:(0,s.jsx)(n.A,{title:"项目资料包如何组织",className:"rounded-2xl h-full",styles:{body:{padding:24}},children:(0,s.jsx)(m.A,{items:[{color:"blue",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(k,{strong:!0,children:"一个项目一个文件夹"}),(0,s.jsx)(w,{className:"!mb-0 text-sm text-[var(--colorTextSecondary)]",children:"例如“徽光阁项目/”,模板绑定时直接选择该文件夹。"})]})},{color:"green",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(k,{strong:!0,children:"资料集中放置"}),(0,s.jsx)(w,{className:"!mb-0 text-sm text-[var(--colorTextSecondary)]",children:"招标正文、清单、图纸、补疑、技术规范等资料放在同一个资料包下。"})]})},{color:"purple",children:(0,s.jsxs)("div",{children:[(0,s.jsx)(k,{strong:!0,children:"系统自动理解"}),(0,s.jsx)(w,{className:"!mb-0 text-sm text-[var(--colorTextSecondary)]",children:"生成前构建项目资料画像和项目理解模型。"})]})}]})})}),(0,s.jsx)(i.A,{xs:24,lg:14,children:(0,s.jsx)(n.A,{title:"关键资料职责",className:"rounded-2xl h-full",styles:{body:{padding:24}},children:(0,s.jsx)(a.A,{gutter:[12,12],children:_.map(e=>(0,s.jsx)(i.A,{xs:24,md:12,children:(0,s.jsxs)(n.A,{size:"small",className:"rounded-xl h-full border-[var(--colorBorderSecondary)]",children:[(0,s.jsx)(o.A,{color:e.color,className:"mb-2",children:e.title}),(0,s.jsx)(w,{className:"!mb-0 text-sm text-[var(--colorTextSecondary)]",children:e.desc})]})},e.title))})})})]}),(0,s.jsx)(n.A,{title:"生成链路说明",className:"rounded-2xl",styles:{body:{padding:24}},children:(0,s.jsx)(a.A,{gutter:[16,16],children:R.map((e,l)=>(0,s.jsx)(i.A,{xs:24,md:8,children:(0,s.jsxs)(n.A,{className:"rounded-2xl h-full border-[var(--colorBorderSecondary)]",styles:{body:{padding:18}},children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-3",children:[(0,s.jsx)("div",{className:"w-9 h-9 rounded-xl bg-[var(--colorFillSecondary)] text-[var(--colorPrimary)] flex items-center justify-center",children:e.icon}),(0,s.jsxs)("div",{children:[(0,s.jsx)(o.A,{color:"blue",children:l+1}),(0,s.jsx)(k,{strong:!0,children:e.title})]})]}),(0,s.jsx)(w,{className:"!mb-0 text-sm text-[var(--colorTextSecondary)]",children:e.desc})]})},e.title))})}),(0,s.jsx)(u.A,{className:"rounded-2xl overflow-hidden",items:[{key:"binding",label:"模板为什么只需要绑定项目资料包?",children:(0,s.jsx)(w,{className:"!mb-0",children:"因为资料职责已经由系统自动识别。用户只需要告诉系统“本次生成使用哪个项目”,系统会自动在该项目资料包内组织资料关系。"})},{key:"addendum",label:"补疑/澄清如何处理?",children:(0,s.jsx)(w,{className:"!mb-0",children:"补疑、澄清、答疑属于高优先级资料。如与招标正文、清单或图纸存在冲突,生成时优先采用补疑/澄清口径。"})},{key:"quality",label:"专业性如何保证?",children:(0,s.jsx)(w,{className:"!mb-0",children:"生成链路会结合项目理解、章节证据计划、结构化事实、质量审查和导出门禁,减少泛化套话和无来源事实。"})}]})]})})}},34899:(e,l,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/guide",function(){return t(2548)}])}},e=>{e.O(0,[717,69,787,986,636,593,792],()=>e(e.s=34899)),_N_E=e.O()}]);
|