@customize-agent/server 4.24.0 → 4.25.0
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 +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/chunks/208.js +1 -1
- package/.next/server/chunks/9533.js +35 -35
- 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/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 +27 -27
- package/.next/static/{WbaIip7pI1xGsU9hOIBS7 → 5AP1HgBtGAbRRFvL9ExDr}/_buildManifest.js +1 -1
- package/.next/static/chunks/pages/documents-8193e58247914495.js +1 -0
- package/package.json +2 -2
- package/.next/static/chunks/pages/documents-fcac945af1627018.js +0 -1
- /package/.next/static/{WbaIip7pI1xGsU9hOIBS7 → 5AP1HgBtGAbRRFvL9ExDr}/_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/9648d0deb11f2236.css" as="style"/><link rel="stylesheet" href="/_next/static/css/9648d0deb11f2236.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-e452fe4f864ec1de.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/WbaIip7pI1xGsU9hOIBS7/_buildManifest.js" defer=""></script><script src="/_next/static/WbaIip7pI1xGsU9hOIBS7/_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":"WbaIip7pI1xGsU9hOIBS7","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/9648d0deb11f2236.css" as="style"/><link rel="stylesheet" href="/_next/static/css/9648d0deb11f2236.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-e452fe4f864ec1de.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/5AP1HgBtGAbRRFvL9ExDr/_buildManifest.js" defer=""></script><script src="/_next/static/5AP1HgBtGAbRRFvL9ExDr/_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":"5AP1HgBtGAbRRFvL9ExDr","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1,68 +1,68 @@
|
|
|
1
1
|
{
|
|
2
2
|
"/_app": "pages/_app.js",
|
|
3
|
+
"/api/assets/generated/preview": "pages/api/assets/generated/preview.js",
|
|
3
4
|
"/api/assets/generated": "pages/api/assets/generated.js",
|
|
4
5
|
"/api/config/embedding/healthCheck": "pages/api/config/embedding/healthCheck.js",
|
|
5
|
-
"/api/assets/generated/preview": "pages/api/assets/generated/preview.js",
|
|
6
6
|
"/api/config/models": "pages/api/config/models.js",
|
|
7
|
-
"/api/documents/drafts": "pages/api/documents/drafts.js",
|
|
8
7
|
"/api/config/web-access": "pages/api/config/web-access.js",
|
|
9
|
-
"/api/documents/
|
|
8
|
+
"/api/documents/drafts": "pages/api/documents/drafts.js",
|
|
10
9
|
"/api/documents/generate": "pages/api/documents/generate.js",
|
|
10
|
+
"/api/documents/generated": "pages/api/documents/generated.js",
|
|
11
11
|
"/api/documents/roles": "pages/api/documents/roles.js",
|
|
12
|
-
"/api/jobs/[id]": "pages/api/jobs/[id].js",
|
|
13
|
-
"/api/documents/templates": "pages/api/documents/templates.js",
|
|
14
12
|
"/api/health": "pages/api/health.js",
|
|
13
|
+
"/api/documents/templates": "pages/api/documents/templates.js",
|
|
15
14
|
"/api/jobs": "pages/api/jobs.js",
|
|
15
|
+
"/api/jobs/[id]": "pages/api/jobs/[id].js",
|
|
16
|
+
"/api/kb/categories": "pages/api/kb/categories.js",
|
|
16
17
|
"/api/kb/duplicates": "pages/api/kb/duplicates.js",
|
|
17
18
|
"/api/kb/evaluate": "pages/api/kb/evaluate.js",
|
|
18
|
-
"/api/kb/categories": "pages/api/kb/categories.js",
|
|
19
|
-
"/api/kb/files/detail": "pages/api/kb/files/detail.js",
|
|
20
|
-
"/api/kb/files": "pages/api/kb/files.js",
|
|
21
19
|
"/api/kb/features": "pages/api/kb/features.js",
|
|
22
20
|
"/api/kb/files/open": "pages/api/kb/files/open.js",
|
|
21
|
+
"/api/kb/files/detail": "pages/api/kb/files/detail.js",
|
|
22
|
+
"/api/kb/files": "pages/api/kb/files.js",
|
|
23
23
|
"/api/kb/files/reindex": "pages/api/kb/files/reindex.js",
|
|
24
|
+
"/api/kb/files/tree": "pages/api/kb/files/tree.js",
|
|
24
25
|
"/api/kb/files/search": "pages/api/kb/files/search.js",
|
|
25
|
-
"/api/kb/ignore": "pages/api/kb/ignore.js",
|
|
26
26
|
"/api/kb/intelligence": "pages/api/kb/intelligence.js",
|
|
27
|
-
"/api/kb/
|
|
28
|
-
"/api/kb/tags": "pages/api/kb/tags.js",
|
|
29
|
-
"/api/kb/reindex": "pages/api/kb/reindex.js",
|
|
27
|
+
"/api/kb/ignore": "pages/api/kb/ignore.js",
|
|
30
28
|
"/api/kb/search": "pages/api/kb/search.js",
|
|
29
|
+
"/api/kb/operations": "pages/api/kb/operations.js",
|
|
30
|
+
"/api/kb/reindex": "pages/api/kb/reindex.js",
|
|
31
|
+
"/api/kb/tags": "pages/api/kb/tags.js",
|
|
31
32
|
"/api/kb/upload/complete": "pages/api/kb/upload/complete.js",
|
|
32
|
-
"/api/prompt": "pages/api/prompt.js",
|
|
33
33
|
"/api/kb/stats": "pages/api/kb/stats.js",
|
|
34
|
-
"/api/system/logs": "pages/api/system/logs.js",
|
|
35
34
|
"/api/kb/upload/progress": "pages/api/kb/upload/progress.js",
|
|
36
|
-
"/api/kb/operations": "pages/api/kb/operations.js",
|
|
37
35
|
"/_error": "pages/_error.js",
|
|
36
|
+
"/api/prompt": "pages/api/prompt.js",
|
|
38
37
|
"/api/system/stats": "pages/api/system/stats.js",
|
|
39
|
-
"/
|
|
40
|
-
"/knowledge/files": "pages/knowledge/files.html",
|
|
38
|
+
"/api/system/logs": "pages/api/system/logs.js",
|
|
41
39
|
"/asset-library": "pages/asset-library.html",
|
|
40
|
+
"/document-roles": "pages/document-roles.html",
|
|
41
|
+
"/": "pages/index.html",
|
|
42
42
|
"/documents": "pages/documents.html",
|
|
43
|
+
"/knowledge/file-detail": "pages/knowledge/file-detail.html",
|
|
43
44
|
"/guide": "pages/guide.html",
|
|
44
45
|
"/knowledge": "pages/knowledge.html",
|
|
45
|
-
"/": "pages/
|
|
46
|
+
"/knowledge/manage": "pages/knowledge/manage.html",
|
|
47
|
+
"/models": "pages/models.html",
|
|
48
|
+
"/knowledge/files": "pages/knowledge/files.html",
|
|
46
49
|
"/overview": "pages/overview.html",
|
|
47
|
-
"/knowledge/file-detail": "pages/knowledge/file-detail.html",
|
|
48
50
|
"/prompt": "pages/prompt.html",
|
|
49
|
-
"/knowledge/manage": "pages/knowledge/manage.html",
|
|
50
51
|
"/settings": "pages/settings.html",
|
|
51
|
-
"/models": "pages/models.html",
|
|
52
52
|
"/api/config/embedding": "pages/api/config/embedding.js",
|
|
53
|
-
"/api/config/providers/[provider]": "pages/api/config/providers/[provider].js",
|
|
54
53
|
"/api/config/healthCheck": "pages/api/config/healthCheck.js",
|
|
54
|
+
"/api/config/providers/[provider]": "pages/api/config/providers/[provider].js",
|
|
55
55
|
"/api/config/providers": "pages/api/config/providers.js",
|
|
56
|
-
"/template-references": "pages/template-references.html",
|
|
57
|
-
"/system/logs": "pages/system/logs.html",
|
|
58
56
|
"/api/documents/generated/[id]": "pages/api/documents/generated/[id].js",
|
|
59
|
-
"/
|
|
57
|
+
"/template-references": "pages/template-references.html",
|
|
60
58
|
"/api/kb/files/export": "pages/api/kb/files/export.js",
|
|
59
|
+
"/api/kb/files/preview-pdf-page": "pages/api/kb/files/preview-pdf-page.js",
|
|
61
60
|
"/api/prompt/chat": "pages/api/prompt/chat.js",
|
|
61
|
+
"/api/documents/refine": "pages/api/documents/refine.js",
|
|
62
62
|
"/api/kb/upload": "pages/api/kb/upload.js",
|
|
63
|
+
"/system/logs": "pages/system/logs.html",
|
|
63
64
|
"/api/template-references": "pages/api/template-references.js",
|
|
64
|
-
"/api/documents/refine": "pages/api/documents/refine.js",
|
|
65
|
-
"/api/documents/export": "pages/api/documents/export.js",
|
|
66
65
|
"/_document": "pages/_document.js",
|
|
66
|
+
"/api/documents/export": "pages/api/documents/export.js",
|
|
67
67
|
"/404": "pages/404.html"
|
|
68
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,e,c,t,a,n,d,i,f,u,r,b,k,l,o,g,h,j){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:o,bitArray:[]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:o,bitArray:[]},"/":[g,h,"static/chunks/pages/index-cb27bfa36c212ab5.js"],"/_error":["static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":[s,e,c,t,n,d,u,"static/chunks/994-241f87efc61005b8.js","static/chunks/pages/asset-library-f6319fc04559e43d.js"],"/document-roles":[s,e,c,t,a,n,i,d,f,u,b,"static/chunks/pages/document-roles-4ccb2db16dc4b63c.js"],"/documents":[s,e,c,t,a,n,i,f,b,k,"static/chunks/930-0436dcaa92fb41f6.js","static/chunks/pages/documents-
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,e,c,t,a,n,d,i,f,u,r,b,k,l,o,g,h,j){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:o,bitArray:[]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:o,bitArray:[]},"/":[g,h,"static/chunks/pages/index-cb27bfa36c212ab5.js"],"/_error":["static/chunks/pages/_error-282257fbdcc167b4.js"],"/asset-library":[s,e,c,t,n,d,u,"static/chunks/994-241f87efc61005b8.js","static/chunks/pages/asset-library-f6319fc04559e43d.js"],"/document-roles":[s,e,c,t,a,n,i,d,f,u,b,"static/chunks/pages/document-roles-4ccb2db16dc4b63c.js"],"/documents":[s,e,c,t,a,n,i,f,b,k,"static/chunks/930-0436dcaa92fb41f6.js","static/chunks/pages/documents-8193e58247914495.js"],"/guide":[s,c,i,"static/chunks/986-771dc425e7b25964.js","static/chunks/pages/guide-139f55bcc9c6548b.js"],"/knowledge":["static/chunks/pages/knowledge-905248d8dcb15453.js"],"/knowledge/file-detail":[s,e,c,t,a,n,i,d,u,k,"static/chunks/850-0f48354694fc6b3e.js",j,"static/chunks/pages/knowledge/file-detail-67235dd65f708569.js"],"/knowledge/files":[s,e,c,t,a,n,d,u,j,"static/chunks/pages/knowledge/files-540ef329ffa92174.js"],"/knowledge/manage":[s,e,c,i,k,"static/chunks/788-dca0d550ad6bd8b2.js","static/chunks/pages/knowledge/manage-70718ded7ea5840a.js"],"/models":[s,e,a,f,b,"static/chunks/827-a6dc09e42833e6a3.js","static/chunks/pages/models-1fe7c964edefdd30.js"],"/overview":[g,h,"static/chunks/pages/overview-8713b5d37af0eeb3.js"],"/prompt":[s,e,t,a,f,"static/chunks/260-580088826d643423.js","static/chunks/pages/prompt-8bd884495c67ce6f.js"],"/settings":["static/chunks/pages/settings-17632b1471b4862f.js"],"/system/logs":[s,e,c,t,a,n,d,f,u,"static/chunks/pages/system/logs-ee67e2c93147dfc3.js"],"/template-references":[s,c,t,i,d,f,"static/chunks/564-30bfcb28e1d2c309.js","static/chunks/pages/template-references-e0ab1466f28cc4fc.js"],sortedPages:["/","/_app","/_error","/asset-library","/document-roles","/documents","/guide","/knowledge","/knowledge/file-detail","/knowledge/files","/knowledge/manage","/models","/overview","/prompt","/settings","/system/logs","/template-references"]}}("static/chunks/717-743b697a417dd5ee.js","static/chunks/883-506cbca959974997.js","static/chunks/69-34d57b77fd2eed20.js","static/chunks/700-5d29b0475311f590.js","static/chunks/44-d3545eedd5c75ef1.js","static/chunks/224-0415408fff1d1c8b.js","static/chunks/102-881dcc464f983c89.js","static/chunks/787-c18af810af3433f6.js","static/chunks/195-2c0168eacab722d2.js","static/chunks/289-fc1b25371e004552.js",0,"static/chunks/455-e1b41ac4946d2b6f.js","static/chunks/506-93f730bc149d0dce.js",1e-4,NaN,"static/chunks/880-64d8a15c524106d2.js","static/chunks/795-61fe67c7203b6001.js","static/css/ad5a592c79d1448b.css"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -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(81865)}])},81865:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>ey});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),m=r(88762),x=r(58569),h=r(84253),g=r(34052),v=r(68787),f=r(55122),j=r(99605),y=r(42700),w=r(2256),b=r(38770),A=r(38332),k=r(76506),S=r(50883),C=r(23718),N=r(23216),I=r(26619),T=r(8263),z=r(16285),R=r(8579),M=r(7851),E=r(29071),F=r(75548),_=r(63552),B=r(26631),D=r(7225),P=r(83914),L=r(84742),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 er={"fact-landing-round":"未覆盖重要事实落地","table-repair-round":"表格缺失或格式错误","semantic-choice-conflict":"语义矛盾数值冲突","deterministic-stage5":"确定性缺陷(来源罗列/内部术语/编造日期)","formal-source-clean":"资料来源罗列话术","qingtian-full-review":"全维度评审缺陷","planned-section-final":"规划小节内容缺失","commercial-strip":"商务数据泄漏","table-deterministic-repair":"表格数据不一致","post-review-surface":"评审后兜底缺陷","terminology-strip":"内部术语泄漏","toc-consistency":"目录与正文不一致"},{TextArea:es}=n.A,{Text:el}=o.A,ea=a.A;function en(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)(el,{strong:!0,style:{color:n},children:r}),l&&(0,s.jsx)("div",{style:{marginTop:4,color:"var(--colorTextSecondary)",fontSize:12},children:l})]})}function eo(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 ei=null,ec=!1;function ed(){null==ei||ei.listeners.forEach(e=>e())}let eu={role_binding:(0,s.jsx)(N.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,{}),validation:(0,s.jsx)(M.A,{}),llm_review:(0,s.jsx)(E.A,{}),reference:(0,s.jsx)(F.A,{})},ep={施工组织设计:(0,s.jsx)(M.A,{}),投标文件:(0,s.jsx)(_.A,{}),技术方案:(0,s.jsx)(z.A,{}),报告:(0,s.jsx)(B.A,{}),自定义:(0,s.jsx)(R.A,{})};function em(e){return[...new Set(e.map(e=>e.trim()).filter(Boolean))]}function ex(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)(D.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 eh={role_binding:"角色配置绑定",knowledge_retrieval:"知识库检索",file_understanding:"多模态文件理解",fact_extraction:"LLM 事实抽取",chapter_generation:"LLM 章节生成",validation:"规则校验",llm_review:"LLM 审查优化",reference:"参考资源处理"},eg={"knowledge-base":"知识库","document-readiness":"生成准备度检查"},ev={wait:"common.statusWaiting",process:"common.statusRunning",finish:"common.statusCompleted",warning:"common.statusReview",error:"common.statusAbnormal"},ef={running:"common.statusRunning",success:"common.statusCompleted",skipped:"common.statusSkipped",failed:"common.statusFailed"},ej={error:"common.levelError",warning:"common.levelWarning",info:"common.levelInfo"};function ey(){var e,t,r,a,o,F,_,D,ey,ew,eb;let eA=(0,et.Vr)(),{message:ek}=c.A.useApp(),[eS]=d.A.useForm(),eC=(0,l.useRef)(null),[eN,eI]=(0,l.useState)([]),[eT,ez]=(0,l.useState)("construction-organization-design"),[eR,eM]=(0,l.useState)([]),[eE,eF]=(0,l.useState)([]),[e_,eB]=(0,l.useState)([]),[eD,eP]=(0,l.useState)([]),[eL,eW]=(0,l.useState)(!1),[eG,eq]=(0,l.useState)(!0),[eH,eO]=(0,l.useState)(!1),[eK,eU]=(0,l.useState)(null),[eV,eQ]=(0,l.useState)(""),[eX,eJ]=(0,l.useState)([]),[eY,eZ]=(0,l.useState)(null),[e$,e0]=(0,l.useState)(null),[e1,e2]=(0,l.useState)(""),[e6,e5]=(0,l.useState)(!1),[e8,e4]=(0,l.useState)("idle"),[e3,e7]=(0,l.useState)(null),[e9,te]=(0,l.useState)(null),[tt,tr]=(0,l.useState)({start:0,end:0}),[ts,tl]=(0,l.useState)([]),[ta,tn]=(0,l.useState)(!1),[to,ti]=(0,l.useState)(!1),[tc,td]=(0,l.useState)({}),[tu,tp]=(0,l.useState)(null),tm=(0,l.useRef)({}),tx=(0,l.useRef)(new Map),[th,tg]=(0,l.useState)(0),[tv,tf]=(0,l.useState)([]),tj=(0,l.useMemo)(()=>{var e,t,r;return(null==(e=e_.find(e=>e.selected))?void 0:e.projectRoot)||(null==(t=e_.find(e=>e.isCurrent))?void 0:t.projectRoot)||(null==(r=e_[0])?void 0:r.projectRoot)||""},[e_]),[ty,tw]=(0,l.useState)([]),[tb,tA]=(0,l.useState)(null),[tk,tS]=(0,l.useState)(null),[tC,tN]=(0,l.useState)("templates"),[tI,tT]=(0,l.useState)(!1),[tz,tR]=(0,l.useState)("workflow"),[tM,tE]=(0,l.useState)(new Set),[tF,t_]=(0,l.useState)(!1),[tB,tD]=(0,l.useState)(!1),[tP,tL]=(0,l.useState)(null),tW=(0,l.useRef)(new Map),tG=(0,l.useRef)(""),tq=(0,l.useRef)(null),tH=(0,l.useRef)(0),tO=(0,l.useMemo)(()=>"activeGenDocId:".concat(tj||"default"),[tj]),tK=async()=>{try{eJ((await (0,ee.cQ)(tj||void 0)).documents)}catch(e){eJ([])}};(0,l.useEffect)(()=>{let e=()=>{ei&&(tw(ei.flowSteps),tA(ei.activeFlowKey),eO(ei.loading),ei.documentId&&eZ(ei.documentId),ei.draft&&eU(ei.draft),void 0!==ei.content&&eQ(ei.content))},t=ei;return null==t||t.listeners.add(e),e(),()=>{null==t||t.listeners.delete(e)}},[]),(0,l.useEffect)(()=>{eq(!0),Promise.all([(0,ee.Dl)().then(e=>{var t,r;eI(e.templates),ez(null!=(r=null==(t=e.templates[0])?void 0:t.id)?r:"construction-organization-design")}),(0,ee.lv)().then(e=>{eM(e.roles),eF(e.configs)}),(0,ee.dx)().then(e=>eB(e))]).catch(()=>ek.error(eA("common.error"))).finally(()=>eq(!1))},[ek,eA]),(0,l.useEffect)(()=>{if(0===eN.length||!tj)return;let e=!1;return(async()=>{let t=await Promise.all(eN.map(async e=>{try{let{validation:t}=await (0,ee.SM)(e.id,tj);return[e.id,t]}catch(e){return null}}));if(e)return;let r={};for(let e of t)e&&(r[e[0]]=e[1]);td(r)})(),()=>{e=!0}},[eN,tj]),(0,l.useEffect)(()=>{tj&&(localStorage.removeItem("activeGenDocId"),tK())},[tj]),(0,l.useEffect)(()=>{if(0===eX.length)return;let e=localStorage.getItem(tO);if(!e)return;if(!eX.find(t=>t.id===e&&"generating"===t.status))return void localStorage.removeItem(tO);let t=setInterval(()=>{(async()=>{try{let{document:r}=await (0,ee.v7)(e,!1,tj||void 0);if(!r)return;await tK(),"generating"!==r.status&&(localStorage.removeItem(tO),clearInterval(t))}catch(e){clearInterval(t)}})()},3e3);return()=>clearInterval(t)},[eX]);let tU=(0,l.useMemo)(()=>eN.find(e=>e.id===eT),[eN,eT]),tV=eE.map(e=>({label:e.name,value:e.id})),tQ=Math.max(0,ty.findIndex(e=>e.key===tb)),tX=e=>{var t;return e?(null==(t=eR.find(t=>t.id===e))?void 0:t.name)||eg[e]||"未知角色":""},tJ=e=>e.subtitle||e.roleName||tX(e.roleId)||eh[e.type]||e.type,tY=e=>{var t,r,s;return e.promptName||((t=e.promptId)?(null==(r=e_.find(e=>e.id===t))?void 0:r.projectName)||(null==(s=eR.find(e=>e.id===t))?void 0:s.name)||eg[t]||"未知提示词":"")},tZ=()=>{tH.current+=1,e2(""),e7(null),te(null),tl([]),tn(!1),e5(!1),e4("idle")},t$=async e=>{eZ(e.id),ez(e.templateId);let t=t0(e.status);if(t||"failed"===e.status||"aborted"===e.status){tZ(),tS(e),eU(null),eQ(""),eO(t),tR("workflow"),tT(!0);try{let{document:t}=await (0,ee.v7)(e.id,!1,e.projectRoot||tj||void 0);if(!t)throw Error("文档记录不存在");t5(t),t0(t.status)?t9(t.id,t.projectRoot||e.projectRoot||tj||void 0):await tK()}catch(t){t5(e)}return}tR("editor"),tw([]),tA(null),tZ();try{let{document:t}=await (0,ee.v7)(e.id,!1,e.projectRoot||tj||void 0);if(!t)throw Error("文档记录不存在");eU(t.draft||null),eQ(t.editedMarkdown||t.markdown),tf(t.exportReports||[])}catch(e){ek.error(eA("common.error"))}tT(!0)},t0=e=>"completed"!==e&&"completed_with_issues"!==e&&"warning"!==e&&"failed"!==e&&"aborted"!==e,t1=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))},t2=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eH;(null==ei?void 0:ei.loading)&&(ei.flowSteps=e,ei.activeFlowKey=t,ei.loading=r,ed())},t6=e=>{var t,r,l,a;let n=e.executionStages||(null==(t=e.draft)?void 0:t.executionStages)||[];if(n.length>0){let t=n.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||eh[t.type]||t.type,subtitle:tJ(t),description:t.message||"",status:n,icon:"role_binding"===(l=t.type)?(0,s.jsx)(N.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)(E.A,{}):"validation"===l?(0,s.jsx)(M.A,{}):(0,s.jsx)(B.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:tY(e)?"提示词:".concat(tY(e)):tJ(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&&t.every(e=>"process"!==e.status)&&t.push({key:"finishing-".concat(t.length),title:"生成收尾中",subtitle:"",description:"章节已全部生成,正在执行全局一致性审查与质量校验。",status:"process",icon:(0,s.jsx)(P.A,{}),subSteps:[]});let o="generating"===e.status?(null==(r=t.at(-1))?void 0:r.key)||"prepare":"failed"===e.status||"aborted"===e.status?(null==(l=t.find(e=>"error"===e.status))?void 0:l.key)||(null==(a=t.at(-1))?void 0:a.key)||"prepare":"done";return{steps:t,activeKey:o}}return{steps:[],activeKey:null}},t5=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(tG.current===r)return;tG.current=r,tS(e);let{steps:s,activeKey:l}=t6(e);t8(s),tw(s),tA(l),eO(t0(e.status)),t2(s,l,t0(e.status)),("failed"===e.status||"aborted"===e.status)&&tR("workflow"),("completed"===e.status||"completed_with_issues"===e.status||"warning"===e.status)&&e.draft&&(eU(e.draft),eQ(e.editedMarkdown||e.markdown),tR("editor"),tw([]),tA(null),tf(e.exportReports||[]))},t8=e=>{let t=Date.now();for(let r of e){let e=tx.current.get(r.key);"process"!==r.status||e?("finish"===r.status||"error"===r.status||"warning"===r.status)&&e&&!e.endedAt&&tx.current.set(r.key,{...e,endedAt:t}):tx.current.set(r.key,{startedAt:t})}},t4=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," 分")},t3=(e,t)=>"percent"===t?"".concat((100*e).toFixed(1),"%"):"perKChars"===t?"".concat(e.toFixed(1),"/千字"):String(Math.round(e)),t7=e=>{let t=tW.current.get(e);t&&(clearInterval(t),tW.current.delete(e))},t9=(e,t)=>{t7(e);let r=setInterval(()=>{(async()=>{try{let{document:r}=await (0,ee.v7)(e,!0,t||tj||void 0);if(!r)return;t5(r),await tK(),t0(r.status)||(t7(e),localStorage.removeItem(tO))}catch(e){}})()},2e3);tW.current.set(e,r)};(0,l.useEffect)(()=>()=>{for(let e of tW.current.values())clearInterval(e);tW.current.clear(),tq.current&&(clearTimeout(tq.current),tq.current=null)},[]),(0,l.useEffect)(()=>{if(!eH||!tb)return;let e=window.setInterval(()=>tw(e=>{let t=e.map(e=>{if(e.key!==tb||"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 t2(t,tb),t}),1400);return()=>window.clearInterval(e)},[tb,eH]),(0,l.useEffect)(()=>{if(!eH)return;let e=window.setInterval(()=>tg(e=>e+1),1e3);return()=>window.clearInterval(e)},[eH]);let re=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";eW(!0);try{let t=await (0,ee.Fi)(e,tj||void 0);eP(ex(t.nodes))}catch(e){ek.error("知识库文件加载失败")}finally{eW(!1)}},rt=async e=>{var t;let r=String(null!=(t=e.key)?t:"");if(r)try{let e=await (0,ee.Fi)(r,tj||void 0),t=ex(e.nodes),s=e=>e.map(e=>e.key===r?{...e,children:t}:e.children?{...e,children:s(e.children)}:e);eP(e=>s(e))}catch(e){ek.error("加载子文件夹失败")}},rr=e=>{let t=null!=e?e:{id:"tpl-".concat(Date.now()),name:"",description:"",category:"自定义",outputTitle:"",projectRoleConfigId:void 0,chapters:[],projectBindings:[]};eS.resetFields(),eS.setFieldsValue({...t,projectMaterialRoots:em((t.projectBindings||[]).map(e=>e.materialRootPath).filter(Boolean))}),re(),ti(!0)},rs=async()=>{try{await eS.validateFields();let e=eS.getFieldsValue(!0),t=em(e.projectMaterialRoots||[]).map(e=>({materialRootPath:e})),{projectMaterialRoots:r,...s}=e,l={...s,chapters:[],projectBindings:t},a=await (0,ee.l2)(l);eI(a.templates),ez(a.template.id),ti(!1),await tK(),ek.success(eA("common.success"))}catch(e){e instanceof Error&&ek.error(e.message)}},rl=async e=>{try{let t=await (0,ee.bV)(e);eI(t.templates),ez(t.template.id),ek.success(eA("common.success"))}catch(e){ek.error(eA("common.error"))}},ra=async e=>{try{var t,r;let s=await (0,ee.h0)(e);eI(s.templates),ez(null!=(r=null==(t=s.templates[0])?void 0:t.id)?r:""),ek.success(eA("common.success"))}catch(e){ek.error(eA("common.error"))}},rn=async e=>{tL(e),ez(e),eZ(null),eU(null),eQ(""),tZ(),tR("workflow"),tT(!0),tN("drafts"),eO(!0),tA("prepare"),tw([{key:"prepare",title:"正在准备运行模板",description:"正在校验模板绑定的项目资料包、提示词配置和资料索引,校验通过后会自动开始生成。",status:"process",icon:(0,s.jsx)(P.A,{}),subSteps:[{key:"validate",title:"模板运行前检查",status:"process"},{key:"start",title:"准备生成任务",status:"wait"}]}]);try{let{validation:t}=await (0,ee.SM)(e,tj||void 0);td(r=>({...r,[e]:t}));let r=t.issues.filter(e=>"error"===e.level);if(r.length>0){ru.current=!0,eO(!1),tA("prepare"),tw([{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"}]}]),ek.warning("模板运行前检查未通过,请先处理阻断项");return}t.issues.length>0&&ek.warning("模板存在非阻断警告,已继续运行"),tw([{key:"prepare",title:"模板检查通过,正在创建生成任务",description:"已确认模板绑定资源可用,正在启动后台生成任务。",status:"process",icon:(0,s.jsx)(P.A,{}),subSteps:[{key:"validate",title:"模板运行前检查",status:"finish"},{key:"start",title:"准备生成任务",status:"process"}]}]),await rd(e)}catch(t){ru.current=!0;let e=t instanceof Error?t.message:"模板运行前检查失败";eO(!1),tw([{key:"prepare",title:"模板运行准备失败",description:e,status:"error",icon:(0,s.jsx)(G.A,{}),subSteps:[{key:"validate",title:"模板运行前检查",status:"error"},{key:"start",title:"准备生成任务",status:"wait"}]}]),ek.error(e)}finally{tL(t=>t===e?null:t)}},ro=async e=>{try{await (0,ee.QG)(e.id,e.projectRoot||tj||void 0),eY===e.id&&(eZ(null),eU(null),eQ("")),await tK(),ek.success(eA("common.success"))}catch(e){ek.error(eA("common.error"))}},ri=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 ek.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});eI(a.templates),td(t=>{let r={...t};return delete r[e.id],r}),ek.success(eA("common.success"))}catch(e){e instanceof Error&&ek.error(e.message)}},rc=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,tj||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(t5(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("warning"===n.status&&n.error&&/已中断/u.test(n.error))throw Error(n.error);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))}},rd=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:eT;if(!e)return;if((null==ei?void 0:ei.aborted)&&(ei=null),null==ei?void 0:ei.loading){tw(ei.flowSteps),tA(ei.activeFlowKey),eO(!0);return}if(!tj)return void ek.error("未识别当前项目,请先选择或打开项目后再生成文件");eO(!0);let t=ty.length>0?ty:[{key:"prepare",title:"正在创建生成任务",description:"系统正在创建后台生成任务,请稍候。",status:"process",icon:(0,s.jsx)(P.A,{}),subSteps:[{key:"start",title:"准备生成任务",status:"process"}]}],r=tb||"prepare";tw(t),tA(r);let l=(0,ee.OX)({templateId:e,projectRoot:tj});ei={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(tO,e.documentId),eZ(e.documentId),(null==ei?void 0:ei.promise)===l&&(ei.documentId=e.documentId)),await tK();let t=e.documentId?await rc(e.documentId,(null==ei?void 0:ei.promise)===l?ei: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))&&eZ(e.documentId||t.id),a.forEach(e=>window.clearTimeout(e)),eU(r),eQ((null==t?void 0:t.editedMarkdown)||(null==t?void 0:t.markdown)||r.markdown),(null==ei?void 0:ei.promise)===l&&(ei.draft=r,ei.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:eT,title:r.title,requirement:r.requirement,projectRoot:r.projectRoot||tj,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}=t6(s);tw(n),t2(n,"done",!1),tA("done"),(null==ei?void 0:ei.promise)===l&&(ei.activeFlowKey="done",ei.loading=!1,ed(),ei=null),localStorage.removeItem(tO),await tK(),ek.success(eA("common.success")),window.setTimeout(()=>{var e;return null==(e=eC.current)?void 0:e.scrollIntoView({behavior:"smooth",block:"start"})},200)}catch(s){localStorage.removeItem(tO);let e=s instanceof Error?s.message:eA("common.error"),t=ec;ec=!1;let r=!t&&"用户中止"===e;t||tw(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 t2(r,tb,!1),r}),(null==ei?void 0:ei.promise)===l&&(ei.loading=!1,ei.error=e,ed(),ei=null),await tK().catch(()=>void 0),r?ek.warning("生成任务已被中止(可能来自其他窗口):可在列表中点击「继续生成」恢复"):t||ek.error(e)}finally{a.forEach(e=>window.clearTimeout(e)),eO(!1),ec=!1,(null==ei?void 0:ei.promise)===l&&(ei.loading=!1,ed())}},ru=(0,l.useRef)(!1);(0,l.useEffect)(()=>(tq.current&&(clearTimeout(tq.current),tq.current=null),!tI||"workflow"!==tz||tP||eY||ru.current||(null==ei?void 0:ei.loading)||null==tU||!tU.projectRoleConfigId||(ru.current=!0,tq.current=setTimeout(()=>{tq.current=null,tI&&"workflow"===tz&&!eY&&eT==eT&&rd()},300)),tI||(ru.current=!1),()=>{tq.current&&(clearTimeout(tq.current),tq.current=null)}),[tI,tz,tP,eY,tU,eT]);let rp=async e=>{try{eZ(e.id),ez(e.templateId),tR("workflow"),tT(!0),eO(!0);let t=await (0,ee.UQ)(e.id,e.projectRoot||tj||void 0);localStorage.setItem(tO,t.documentId),await tK();let r=await rc(t.documentId);r.draft&&(eU(r.draft),eQ(r.editedMarkdown||r.markdown||r.draft.markdown),tR("editor")),localStorage.removeItem(tO),await tK(),ek.success("已继续生成并完成")}catch(e){ek.error(e instanceof Error?e.message:"继续生成失败")}finally{eO(!1)}},rm=async e=>{if((null==ei?void 0:ei.loading)&&ei.documentId===e.id){var t;ec=!0,ei.aborted=!0,null==(t=ei.pollController)||t.abort(),ei.loading=!1,ei.error="用户中止",ed(),ei=null,eO(!1)}localStorage.removeItem(tO),t7(e.id);try{await (0,ee.r)(e.id,e.projectRoot||tj||void 0),ek.success("已中止生成任务")}catch(e){ek.info("任务已不在运行,已刷新状态")}finally{await tK(),eY===e.id&&(eZ(null),tS(null),eU(null),eQ(""))}},rx=(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)},rh=async e=>{if(eK){e0(e);try{let t={documentId:eY||void 0,title:eK.title,markdown:eV,format:e,enforceGate:!1,exportGate:eK.exportGate,useClientMarkdown:!0,projectRoot:eK.projectRoot||tj||void 0},r=await (0,ee.UE)(t);if(rx(r,"".concat(eK.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]),eY)try{let{document:e}=await (0,ee.v7)(eY,!1,eK.projectRoot||tj||void 0);e&&tf(e.exportReports||[])}catch(e){}}catch(e){ek.error(e instanceof Error?e.message:eA("common.error"))}finally{e0(null)}}},rg=()=>{var e;return!!((null==tk?void 0:tk.editedMarkdown)||(null==tk?void 0:tk.markdown)||(null==tk||null==(e=tk.draft)?void 0:e.markdown)||"").trim()},rv=async e=>{var t;if(!tk)return;let r=tk.editedMarkdown||tk.markdown||(null==(t=tk.draft)?void 0:t.markdown)||"";if(!r.trim())return void ek.warning("该记录暂无可导出的正文内容");e0(e);try{let t="markdown"===e?"md":e,s=await (0,ee.UE)({documentId:tk.id,title:tk.title,markdown:r,format:e,enforceGate:!1,useClientMarkdown:!0,projectRoot:tk.projectRoot||tj||void 0});rx(s,"".concat(tk.title,".").concat(t),{markdown:"text/markdown;charset=utf-8",html:"text/html;charset=utf-8",pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}[e])}catch(e){ek.error(e instanceof Error?e.message:eA("common.error"))}finally{e0(null)}},rf=async()=>{if(eK)try{if(eY)await (0,ee.a6)(eY,{editedMarkdown:eV,markdown:eV},eK.projectRoot||tj||void 0);else{let e=await (0,ee.Af)({...eK,markdown:eV});eU(e.draft)}await tK(),ek.success(eA("common.success"))}catch(e){ek.error(eA("common.error"))}},rj=(e,t)=>{tl(r=>[{id:"".concat(Date.now()),content:e,prompt:t,createdAt:Date.now()},...r].slice(0,12))},ry=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e&&e2(""),e7(null),te(null),tr({start:0,end:0})},rw=(e,t)=>{var r,s;return{title:(null==eK?void 0:eK.title)||"未命名文档",markdown:t,instruction:e,facts:null==eK||null==(r=eK.structuredFacts)?void 0:r.map(e=>"".concat(e.key,": ").concat(e.value)),chapters:null==eK||null==(s=eK.chapters)?void 0:s.map(e=>e.title),...(()=>{let e=tt.start,t=tt.end;return t>e?{selection:{start:e,end:t,text:eV.slice(e,t)},cursorOffset:e}:{cursorOffset:e}})()}},rb=async()=>{let e=e1.trim();if(!eK||!e||e6)return;let t=tH.current+1;tH.current=t,e5(!0),e4("planning"),te(null);try{let r=await (0,ee.Gi)({mode:"plan",...rw(e,eV)});if(tH.current!==t||eY!=eY)return;if(!r.plan)throw Error("AI 未返回修改计划");e7(r.plan)}catch(e){tH.current===t&&ek.error(e instanceof Error?e.message:eA("common.error"))}finally{tH.current===t&&(e5(!1),e4("idle"))}},rA=async e=>{let t=e1.trim();if(!eK||!t||e6)return;let r=tH.current+1;tH.current=r,e5(!0),e4("applying");try{let s=await (0,ee.Gi)({mode:"apply",...rw(t,eV),plan:e});if(tH.current!==r||eY!=eY)return;if(!s.markdown)throw Error("AI 未返回修改结果");te({plan:s.plan||e,markdown:s.markdown,beforeSnippet:s.beforeSnippet,afterSnippet:s.afterSnippet,summary:s.summary,changedChars:s.changedChars,prompt:t,before:eV})}catch(e){tH.current===r&&ek.error(e instanceof Error?e.message:eA("common.error"))}finally{tH.current===r&&(e5(!1),e4("idle"))}};if(eG)return(0,s.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,s.jsx)(m.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,s.jsx)(m.A,{active:!0,paragraph:{rows:2}}),(0,s.jsx)(m.A,{active:!0,paragraph:{rows:8}})]});let rk="workflow"===tz?"工作流:".concat((null==tU?void 0:tU.name)||"选择模板"):"编辑:".concat((null==eK?void 0:eK.title)||(null==tU?void 0:tU.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)(N.A,{className:"text-[var(--colorAccent)]"}),eA("documents.title")]}),(0,s.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)]",children:eA("documents.description")})]}),(0,s.jsx)(p.Ay,{type:"primary",icon:(0,s.jsx)(O.A,{}),onClick:()=>rr(),className:"shadow-none rounded-lg",children:eA("documents.newTemplate")})]}),(0,s.jsxs)("div",{className:"bg-[var(--colorBgContainer)] rounded-2xl shadow-sm overflow-hidden",children:[(0,s.jsx)(x.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:eN.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:eX.length})]})}],activeKey:tC,onChange:tN,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"===tC?0===eN.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:eA("common.noData")})})}):(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4",children:eN.map(e=>(0,s.jsxs)("div",{ref:t=>{tm.current[e.id]=t},className:"group flex items-center p-4 rounded-2xl transition-all cursor-pointer ".concat(eT===e.id?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),onClick:()=>ez(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=ep[e]||(0,s.jsx)(B.A,{});return(0,s.jsx)("span",{style:{color:t?"var(--colorAccent)":"var(--colorTextSecondary)",fontSize:16,marginTop:2,flexShrink:0},children:r})}(e.category,eT===e.id),(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)] truncate",children:e.name}),eT===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=tc[e.id];if(!t)return null;let r=t.issues.filter(e=>"error"===e.level),l=t.issues.filter(e=>"warning"===e.level),a=tu===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:()=>{rn(e.id)},children:"忽略警告并运行"})]}),(0,s.jsxs)("span",{className:"text-blue-500 cursor-pointer hover:underline",onClick:()=>tp(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:()=>rr(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 ri(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(eT===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(),rr(e)},className:"rounded-md",children:"配置"}),(0,s.jsx)(p.Ay,{size:"small",icon:(0,s.jsx)(K.A,{}),onClick:t=>{t.stopPropagation(),rl(e.id)},className:"rounded-md"}),(0,s.jsx)(ea,{title:eA("documents.deleteTemplateConfirm"),onConfirm:t=>{null==t||t.stopPropagation(),ra(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=tc[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:!!tP&&tP!==e.id,onClick:t=>{var r;t.stopPropagation(),ez(r=e.id),tp(r),window.setTimeout(()=>{var e;return null==(e=tm.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:tP===e.id?(0,s.jsx)(P.A,{}):(0,s.jsx)(V.A,{}),loading:tP===e.id,disabled:!!tP&&tP!==e.id,onClick:t=>{t.stopPropagation(),rn(e.id)},className:"min-w-[72px] rounded-md justify-center",children:tP===e.id?"准备中":"运行"})})()]})]},e.id))}):0===eX.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:eA("common.noData")})})}):(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4",children:eX.slice(0,15).map((e,t)=>{var r,l,a,n,o,i,c,d,m,x;let h,g;return(0,s.jsxs)("div",{className:"group flex items-center gap-4 p-4 rounded-2xl transition-all cursor-pointer ".concat(eY===e.id?"bg-[var(--colorBgSelected)] shadow-md":"bg-[var(--colorBgContainer)] hover:bg-[var(--colorBgHover)] shadow-sm hover:shadow-md"),onClick:()=>{t$(e)},children:[(0,s.jsx)("div",{className:"mt-1",children:"completed"===e.status?(0,s.jsx)(L.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)(M.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(eY===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:t0(e.status)?(0,s.jsx)(Q.A,{spin:!0}):(0,s.jsx)(V.A,{}),onClick:t=>{t.stopPropagation(),t$(e)},className:"min-w-[72px] rounded-md justify-center",children:"打开"}),t0(e.status)&&(0,s.jsx)(ea,{title:"确定中止此生成任务?",onConfirm:t=>{null==t||t.stopPropagation(),rm(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==(m=e.checkpointChapters)?void 0:m.length)&&/继续生成|重新生成|中断|卡住|未完成/u.test(e.error||(null==(x=e.warningIssues)?void 0:x.join(";"))||""))&&(0,s.jsx)(p.Ay,{size:"small",onClick:t=>{t.stopPropagation(),rp(e)},className:"rounded-md",children:"继续"}),(0,s.jsx)(ea,{title:"确认删除?",onConfirm:t=>{null==t||t.stopPropagation(),ro(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:rk,open:tI,onClose:()=>{for(let e of(tT(!1),tW.current.values()))clearInterval(e);tW.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:eK?(0,s.jsxs)(i.A,{wrap:!0,children:[t1(tk)&&(0,s.jsx)(p.Ay,{icon:(0,s.jsx)(V.A,{}),disabled:e6||eH,onClick:()=>{tk&&rp(tk)},children:"继续生成"}),(0,s.jsx)(p.Ay,{icon:(0,s.jsx)(J.A,{}),disabled:e6,onClick:()=>{rf()},children:eA("documents.saveDraft")}),(0,s.jsx)(p.Ay,{icon:(0,s.jsx)(Y.A,{}),disabled:e6,loading:"markdown"===e$,onClick:()=>{rh("markdown")},children:"MD"}),(0,s.jsx)(p.Ay,{disabled:e6,loading:"html"===e$,onClick:()=>{rh("html")},children:"HTML"}),(0,s.jsx)(p.Ay,{disabled:e6,loading:"docx"===e$,onClick:()=>{rh("docx")},children:"DOCX"}),(0,s.jsx)(p.Ay,{type:"primary",disabled:e6,loading:"pdf"===e$,onClick:()=>{rh("pdf")},children:"PDF"})]}):t1(tk)||rg()||eH&&"workflow"===tz?(0,s.jsxs)(i.A,{wrap:!0,children:[t1(tk)&&(0,s.jsx)(p.Ay,{type:"primary",icon:(0,s.jsx)(V.A,{}),loading:eH,onClick:()=>{tk&&rp(tk)},children:"继续生成"}),rg()&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p.Ay,{icon:(0,s.jsx)(Y.A,{}),loading:"markdown"===e$,onClick:()=>{rv("markdown")},children:"MD"}),(0,s.jsx)(p.Ay,{loading:"html"===e$,onClick:()=>{rv("html")},children:"HTML"}),(0,s.jsx)(p.Ay,{loading:"docx"===e$,onClick:()=>{rv("docx")},children:"DOCX"}),(0,s.jsx)(p.Ay,{type:"primary",loading:"pdf"===e$,onClick:()=>{rv("pdf")},children:"PDF"})]}),eH&&"workflow"===tz&&(0,s.jsx)(p.Ay,{danger:!0,onClick:()=>{(async()=>{if(ei&&(ec=!0),eY&&await (0,ee.r)(eY,tj||void 0).catch(()=>void 0),ei){var e;ei.aborted=!0,null==(e=ei.pollController)||e.abort(),ei.loading=!1,ei.error="用户中止",ed(),ei=null}for(let e of(localStorage.removeItem(tO),tW.current.values()))clearInterval(e);tW.current.clear(),eO(!1),tw([]),tA(null),tT(!1),await tK(),ek.info("已中止生成任务")})()},children:"中止任务"})]}):void 0,children:(0,s.jsxs)(eo,{style:{width:"100%"},gap:16,children:["workflow"===tz&&ty.length>0&&(0,s.jsx)(eo,{gap:10,children:ty.map((e,t)=>{let r=tM.has(e.key),l=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===tQ?"var(--colorFillAlter)":"var(--colorBgContainer)"},children:[(0,s.jsx)("span",{children:"process"===e.status?(0,s.jsx)(P.A,{}):"warning"===e.status?(0,s.jsx)(M.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)(el,{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:eA(ev[e.status])}),(e=>{var t;let r=tx.current.get(e.key);if(!r)return null;let l=t4((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)(P.A,{}):"finish"===t?(0,s.jsx)(L.A,{}):"warning"===t?(0,s.jsx)(M.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,r)}),l&&(0,s.jsx)(p.Ay,{size:"small",type:"link",style:{padding:0,height:"auto",marginTop:6},onClick:()=>{var t;return t=e.key,void tE(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},children:r?"收起":e.subSteps.length>8?"更多(".concat(e.subSteps.length," 条详情)"):"更多"})]})]},e.key)})}),"workflow"===tz&&(null==tk?void 0:tk.partialChapters)&&tk.partialChapters.length>0&&(0,s.jsx)(v.A,{size:"small",title:"章节进度",extra:(0,s.jsxs)(u.A,{color:"blue",children:[tk.partialChapters.filter(e=>"completed"===e.status).length,"/",tk.partialChapters.length]}),children:(0,s.jsx)(eo,{gap:6,style:{width:"100%"},children:tk.partialChapters.map(e=>(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:8,fontSize:12},children:[(0,s.jsx)(el,{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)(el,{type:"secondary",children:[e.chars.toLocaleString()," 字"]})]})]},e.id))})}),"workflow"===tz&&(null==tk||null==(t=tk.draft)||null==(e=t.exportGate)?void 0:e.passed)===!1&&(()=>{var e;let t=(null==(e=tk.draft.exportGate.blockingIssues)?void 0:e.map(e=>e.message))||tk.draft.exportGate.checklist.filter(e=>!e.passed).map(e=>e.label)||["存在阻断级校验错误"],r=tF?t:t.slice(0,6);return(0,s.jsx)(en,{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&&!tF?"…(共 ".concat(t.length," 项)"):"","。可点击继续生成触发自动修复,或在“校验”页查看完整问题。")}),t.length>6&&(0,s.jsx)(p.Ay,{size:"small",type:"link",style:{padding:0,height:"auto",alignSelf:"flex-start"},onClick:()=>t_(e=>!e),children:tF?"收起":"查看全部 ".concat(t.length," 项")}),t1(tk)&&(0,s.jsx)(p.Ay,{type:"primary",size:"small",icon:(0,s.jsx)(V.A,{}),loading:eH,onClick:()=>{rp(tk)},children:"继续生成 / 自动修复"})]})})})(),"workflow"===tz&&(null==tk||null==(r=tk.reviewMetadata)?void 0:r.diagnostics)&&(0,s.jsx)(en,{type:"info",title:"后台自动优化",children:"策略:".concat(tk.reviewMetadata.diagnostics.strategy.mode,";LLM 调用 ").concat(tk.reviewMetadata.diagnostics.llm.calls," 次;噪声过滤 ").concat((null==(a=tk.reviewMetadata.diagnostics.evidence)?void 0:a.filteredNoise)||0," 条;质量门禁 阻断").concat((null==(o=tk.reviewMetadata.diagnostics.quality)?void 0:o.blockingCount)||0,"/重要").concat((null==(F=tk.reviewMetadata.diagnostics.quality)?void 0:F.importantCount)||0,"/轻微").concat((null==(_=tk.reviewMetadata.diagnostics.quality)?void 0:_.minorCount)||0,";自动限流调整 ").concat(tk.reviewMetadata.diagnostics.llm.limitAdjustments," 次。审查与诊断信息仅用于系统修复,不会写入正文或导出文件。")}),"workflow"===tz&&(null==tk||null==(D=tk.draft)?void 0:D.promptRules)&&(()=>{let e=tk.draft.promptRules,t=e.executionSummary||[],r=Object.entries(e.ruleSources||{}).filter(e=>{let[,t]=e;return t.length>0}),l=r.length>0,a=tB?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)(M.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)(eo,{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)(L.A,{style:{color:"var(--colorSuccess)",marginTop:4}}),(0,s.jsx)("span",{children:e})]},t)),l&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(f.A,{style:{margin:"4px 0"}}),(0,s.jsx)(el,{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)(el,{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:()=>tD(e=>!e),children:tB?"收起溯源":"查看全部溯源(".concat(r.length," 类)")})]}),!l&&0===t.length&&(0,s.jsx)(el,{type:"secondary",style:{fontSize:12},children:"未从提示词中识别到额外硬规则,使用系统默认质量规则。"})]})})})(),"workflow"===tz&&(null==tk||null==(ew=tk.draft)||null==(ey=ew.reviewMetadata)?void 0:ey.qualityBenchmark)&&(()=>{let e=tk.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)(el,{strong:!0,style:{fontSize:15,color:e.overallScore>=80?"var(--colorSuccess)":"var(--colorWarning)"},children:[e.overallScore," 分"]}),styles:{body:{padding:12}},children:(0,s.jsxs)(eo,{gap:8,children:[(0,s.jsxs)(el,{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)(j.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)(L.A,{style:{marginRight:4}}):(0,s.jsx)($.A,{style:{marginRight:4}}),t3(e.generated,e.unit)]})]},e.key)),(0,s.jsxs)(el,{type:"secondary",style:{fontSize:12},children:["基准参考值:",e.items.map(e=>"".concat(e.label," ").concat(t3(e.reference,e.unit))).join(";")]})]})})})(),"workflow"===tz&&eH&&0===ty.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"===tz&&(null==eK||null==(eb=eK.reviewMetadata)?void 0:eb.qualityBenchmark)&&(()=>{var e;let t=eK.reviewMetadata.qualityBenchmark,r=null==(e=eK.reviewMetadata.diagnostics)?void 0:e.quality,l=(eK.executionStages||[]).filter(e=>"llm_review"===e.type).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)(el,{strong:!0,style:{fontSize:15,color:t.overallScore>=80?"var(--colorSuccess)":"var(--colorWarning)"},children:[t.overallScore," 分"]}),styles:{body:{padding:12}},children:(0,s.jsxs)(eo,{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)(el,{type:"secondary",style:{fontSize:12},children:["基准参考值:",t.items.map(e=>"".concat(e.label," ").concat(t3(e.reference,e.unit))).join(";")]})]})})})(),"editor"===tz&&tv.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:tv.length})]}),styles:{body:{padding:12}},children:(0,s.jsxs)(eo,{gap:6,children:[[...tv].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)(el,{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:["总用时 ",t4(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:"门禁未过"}),e.healthAlerts&&e.healthAlerts.length>0&&(0,s.jsxs)(u.A,{color:"warning",className:"border-0 m-0",children:["健康告警 ",e.healthAlerts.length]})]},"".concat(e.exportedAt,"-").concat(t))),(()=>{let e=function(e){let t=[],r=[];if(e.length<3)return{retireCandidates:t,constraintSuggestions:r};let s=[...e].sort((e,t)=>e.exportedAt-t.exportedAt),l=s.slice(-3),a=s.slice(0,-3),n=new Set;for(let e of[...a,...l])for(let t of Object.keys(e.repairHeat||{}))n.add(t);for(let e of n){let s=l.map(t=>{var r;return null==(r=t.repairHeat)?void 0:r[e]});if(a.some(t=>{var r,s,l;return(null!=(l=null==(s=t.repairHeat)||null==(r=s[e])?void 0:r.hits)?l:0)>0})&&s.every(e=>void 0!==e&&0===e.hits)&&t.push(e),s.every(e=>void 0!==e&&e.hits>0&&e.failed/e.hits>=.5)){let t=s.reduce((e,t)=>e+(t?t.failed/t.hits:0),0)/s.length;r.push("".concat(e,"|").concat((100*t).toFixed(0),"%|连续").concat(3,"次"))}}return{retireCandidates:t,constraintSuggestions:r}}(tv);return 0===e.retireCandidates.length&&0===e.constraintSuggestions.length?null:(0,s.jsxs)(en,{type:"info",title:"跨文档缺陷热力图",children:[e.retireCandidates.length>0&&(0,s.jsxs)("div",{children:["候选退役(连续 3 次零命中,可评估停用):",e.retireCandidates.map(e=>{let t=e.split("|")[0];return er[t]?"".concat(er[t],"(").concat(e,")"):e}).join("、")]}),e.constraintSuggestions.length>0&&(0,s.jsxs)("div",{children:["建议加入写作硬约束(高命中且修复失败率高):",e.constraintSuggestions.map(e=>{let t=e.split("|")[0];return er[t]?"".concat(er[t],"(").concat(e,")"):e}).join("、")]})]})})()]})}),eK&&(0,s.jsx)("div",{ref:eC,children:(0,s.jsx)(x.A,{items:[{key:"edit",label:eA("documents.edit"),children:(0,s.jsxs)(eo,{gap:16,style:{width:"100%"},children:[(0,s.jsx)(es,{rows:28,value:eV,disabled:e6,onSelect:e=>{var t,r,s;return tr({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;eQ(e.target.value),e7(null),te(null),tr({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)(eo,{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)(E.A,{style:{color:"var(--colorAccent)"}}),(0,s.jsx)(el,{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:()=>tn(e=>!e),disabled:0===ts.length,children:["历史版本 ",ts.length>0?ts.length:""]})]}),(0,s.jsx)(en,{type:"info",title:"系统只负责识别修改范围,不改写你的提示词;选中文字后优先只改选区,没有选区时按光标所在小节/章节定位。"}),(0,s.jsx)(es,{rows:4,value:e1,disabled:e6,onChange:e=>{e2(e.target.value),e7(null),te(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:e6,onClick:()=>e2(t=>t?"".concat(t,";").concat(e):e),children:e},e))}),(0,s.jsx)(p.Ay,{type:"primary",icon:(0,s.jsx)(E.A,{}),loading:e6&&"planning"===e8,disabled:!e1.trim()||e6,onClick:()=>{rb()},children:"识别修改范围"})]}),e3&&!e9&&(0,s.jsx)(v.A,{size:"small",style:{borderRadius:10,borderColor:"var(--colorAccent)"},children:(0,s.jsxs)(eo,{gap:8,style:{width:"100%"},children:[(0,s.jsxs)(i.A,{wrap:!0,children:[(0,s.jsx)(u.A,{color:"purple",children:e3.scope}),(0,s.jsx)(u.A,{color:"blue",children:e3.action}),(0,s.jsxs)(u.A,{color:e3.confidence>=.8?"green":"orange",children:["置信度 ",Math.round(100*e3.confidence),"%"]}),e3.targetTitle&&(0,s.jsx)(el,{strong:!0,children:e3.targetTitle})]}),(0,s.jsx)(el,{children:e3.summary}),(0,s.jsx)(el,{type:"secondary",style:{fontSize:12},children:"将按你的原始提示词执行,不添加额外编辑任务。"}),(0,s.jsxs)(i.A,{children:[(0,s.jsx)(p.Ay,{type:"primary",loading:e6&&"applying"===e8,onClick:()=>{rA(e3)},children:"执行并预览"}),(0,s.jsx)(p.Ay,{disabled:e6,onClick:()=>e7(null),children:"取消"})]})]})}),e9&&(0,s.jsx)(v.A,{size:"small",style:{borderRadius:10,borderColor:"var(--colorSuccess)"},children:(0,s.jsxs)(eo,{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)(el,{children:e9.summary||e9.plan.summary}),(0,s.jsxs)(u.A,{children:[e9.changedChars&&e9.changedChars>0?"+".concat(e9.changedChars):e9.changedChars," 字符"]})]}),(0,s.jsxs)(w.A,{gutter:12,children:[(0,s.jsxs)(b.A,{span:12,children:[(0,s.jsx)(el,{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:e9.beforeSnippet||"无片段预览"})]}),(0,s.jsxs)(b.A,{span:12,children:[(0,s.jsx)(el,{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:e9.afterSnippet||"无片段预览"})]})]}),(0,s.jsxs)(i.A,{children:[(0,s.jsx)(p.Ay,{type:"primary",onClick:()=>{e9&&(rj(e9.before,e9.prompt),eQ(e9.markdown),ry(!0),ek.success("已应用精准修改"))},children:"应用到文档"}),(0,s.jsx)(p.Ay,{onClick:()=>te(null),children:"返回计划"}),(0,s.jsx)(p.Ay,{danger:!0,onClick:()=>{e7(null),te(null)},children:"放弃"})]})]})}),ta&&(0,s.jsx)("div",{style:{borderTop:"1px solid var(--colorBorderSecondary)",paddingTop:12},children:(0,s.jsx)(A.A,{size:"small",dataSource:ts,locale:{emptyText:"暂无历史版本"},renderItem:e=>(0,s.jsx)(A.A.Item,{actions:[(0,s.jsx)(p.Ay,{size:"small",disabled:e6,onClick:()=>{rj(eV,"恢复前版本"),eQ(e.content),ry(!0),ek.success("已恢复历史版本")},children:"恢复"},"restore")],children:(0,s.jsx)(A.A.Item.Meta,{title:(0,s.jsxs)(i.A,{children:[(0,s.jsx)(el,{children:new Date(e.createdAt).toLocaleString()}),(0,s.jsx)(u.A,{children:e.prompt})]}),description:(0,s.jsx)(el,{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:[eK.chapters.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsxs)(el,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["章节 (",eK.chapters.length,")"]}),(0,s.jsx)(A.A,{size:"small",dataSource:eK.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)})})})]}),eK.structuredFacts.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsxs)(el,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["结构化事实 (",eK.structuredFacts.length,")"]}),(0,s.jsx)(k.A,{size:"small",column:1,bordered:!0,children:eK.structuredFacts.map((e,t)=>(0,s.jsxs)(k.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)(el,{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)(el,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["引用来源 (",eK.sources.length,")"]}),0===eK.sources.length?(0,s.jsx)(h.A,{description:"暂无"}):(0,s.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:eK.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)(el,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:["缺失项 (",eK.missingItems.length,")"]}),0===eK.missingItems.length?(0,s.jsx)(h.A,{description:"无缺失"}):(0,s.jsx)(A.A,{size:"small",dataSource:eK.missingItems,renderItem:e=>(0,s.jsx)(A.A.Item,{children:e})})]})]})},{key:"validation",label:"校验 (".concat(eK.validationIssues.length,")"),children:0===eK.validationIssues.length?(0,s.jsx)(h.A,{description:"校验通过"}):(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[eK.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:eA(ej[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))),eK.exportGate.checklist.length>0&&(0,s.jsxs)("div",{style:{marginTop:8},children:[(0,s.jsx)(el,{strong:!0,style:{fontSize:13,marginBottom:8,display:"block"},children:"导出门禁"}),(0,s.jsx)(A.A,{size:"small",dataSource:eK.exportGate.checklist,renderItem:e=>(0,s.jsxs)(A.A.Item,{children:[(0,s.jsx)(el,{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(eK.executionStages.length,")"),children:(0,s.jsx)(A.A,{size:"small",dataSource:eK.executionStages,renderItem:e=>(0,s.jsxs)(A.A.Item,{children:[(0,s.jsx)(A.A.Item.Meta,{avatar:eu[e.type]||(0,s.jsx)(B.A,{}),title:(0,s.jsx)(el,{title:e.roleId,style:{overflowWrap:"anywhere",wordBreak:"break-word"},children:"".concat(e.title||eh[e.type]||e.type," \xb7 ").concat(e.roleName||e.subtitle||tX(e.roleId))}),description:(0,s.jsx)(el,{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:eA(ef[e.status])})]})})}]})})]})}),(0,s.jsx)(g.A,{title:eA("documents.templateEditor"),open:to,onClose:()=>ti(!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:()=>ti(!1),children:eA("common.cancel")}),(0,s.jsx)(p.Ay,{type:"primary",onClick:()=>{rs()},children:eA("common.save")})]}),children:(0,s.jsxs)(d.A,{form:eS,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:eA("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:eA("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:eA("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:eA("documents.templateDescription"),children:(0,s.jsx)(n.A,{})})})]}),(0,s.jsx)(d.A.Item,{name:"projectRoleConfigId",label:eA("documents.projectRoleConfig"),rules:[{required:!0,message:eA("documents.projectRoleConfigRequired")}],children:(0,s.jsx)(S.A,{showSearch:!0,placeholder:eA("documents.projectRoleConfigRequired"),options:tV})}),(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)(el,{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:"按项目资料包"})]}),eL?(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===eD.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)(C.A,{treeData:eD,loadData:rt,fieldNames:{label:"rawTitle",value:"value",children:"children"},onChange:e=>{var t;return t=e.map(e=>String(e)),void eS.setFieldValue("projectMaterialRoots",em(t))},treeCheckable:!0,showCheckedStrategy:C.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()}]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@customize-agent/server",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.25.0",
|
|
4
4
|
"description": "Customize Agent Web 管理控制台",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@ant-design/icons": "^6.3.2",
|
|
39
|
-
"@customize-agent/knowledge": "^4.
|
|
39
|
+
"@customize-agent/knowledge": "^4.7.0",
|
|
40
40
|
"@customize-agent/llm": "^3.1.2",
|
|
41
41
|
"@customize-agent/runtime": "^3.1.0",
|
|
42
42
|
"@napi-rs/canvas": "^0.1.82",
|