@customize-agent/server 4.0.1 → 4.0.2

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.
Files changed (179) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +143 -121
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/{774.js → 1547.js} +12 -12
  5. package/.next/server/chunks/3328.js +2 -2
  6. package/.next/server/chunks/3445.js +14 -14
  7. package/.next/server/chunks/550.js +1 -0
  8. package/.next/server/chunks/7367.js +1 -0
  9. package/.next/server/chunks/8204.js +1 -1
  10. package/.next/server/middleware-build-manifest.js +1 -1
  11. package/.next/server/pages/404.html +1 -1
  12. package/.next/server/pages/500.html +1 -1
  13. package/.next/server/pages/_app.js +1 -1
  14. package/.next/server/pages/_app.js.nft.json +1 -1
  15. package/.next/server/pages/_error.js +1 -1
  16. package/.next/server/pages/_error.js.nft.json +1 -1
  17. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  18. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  19. package/.next/server/pages/api/assets/generated.js +1 -1
  20. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  21. package/.next/server/pages/api/config/embedding/healthCheck.js +1 -1
  22. package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
  23. package/.next/server/pages/api/config/embedding.js +1 -1
  24. package/.next/server/pages/api/config/healthCheck.js +2 -2
  25. package/.next/server/pages/api/config/providers.js +2 -2
  26. package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
  27. package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
  28. package/.next/server/pages/api/documents/export.js +3 -3
  29. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  30. package/.next/server/pages/api/documents/generate.js +2 -2
  31. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  32. package/.next/server/pages/api/documents/generated/[id].js +1 -1
  33. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  34. package/.next/server/pages/api/documents/generated.js +1 -1
  35. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  36. package/.next/server/pages/api/documents/roles.js +1 -1
  37. package/.next/server/pages/api/documents/specs.js +1 -1
  38. package/.next/server/pages/api/documents/specs.js.nft.json +1 -1
  39. package/.next/server/pages/api/documents/templates.js +1 -1
  40. package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
  41. package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
  42. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
  43. package/.next/server/pages/api/kb/features.js +1 -1
  44. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
  45. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
  46. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
  47. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
  48. package/.next/server/pages/api/kb/files.js +2 -2
  49. package/.next/server/pages/api/kb/files.js.nft.json +1 -1
  50. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
  51. package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
  52. package/.next/server/pages/api/kb/reindex.js +2 -1
  53. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
  54. package/.next/server/pages/api/kb/search.js.nft.json +1 -1
  55. package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
  56. package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
  57. package/.next/server/pages/api/kb/upload/progress.js +1 -1
  58. package/.next/server/pages/api/kb/upload/progress.js.nft.json +1 -1
  59. package/.next/server/pages/api/kb/upload.js +1 -1
  60. package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
  61. package/.next/server/pages/api/prompt.js +1 -1
  62. package/.next/server/pages/api/system/logs.js +2 -2
  63. package/.next/server/pages/asset-library.html +1 -1
  64. package/.next/server/pages/asset-library.js.nft.json +1 -1
  65. package/.next/server/pages/context/long-term.html +1 -1
  66. package/.next/server/pages/context/long-term.js.nft.json +1 -1
  67. package/.next/server/pages/context/short-term.html +1 -1
  68. package/.next/server/pages/context/short-term.js.nft.json +1 -1
  69. package/.next/server/pages/document-roles.html +1 -1
  70. package/.next/server/pages/document-roles.js.nft.json +1 -1
  71. package/.next/server/pages/document-specs.html +1 -1
  72. package/.next/server/pages/document-specs.js.nft.json +1 -1
  73. package/.next/server/pages/documents.html +1 -1
  74. package/.next/server/pages/documents.js.nft.json +1 -1
  75. package/.next/server/pages/guide.html +1 -1
  76. package/.next/server/pages/guide.js.nft.json +1 -1
  77. package/.next/server/pages/index.html +1 -1
  78. package/.next/server/pages/index.js.nft.json +1 -1
  79. package/.next/server/pages/knowledge/file-detail.html +1 -1
  80. package/.next/server/pages/knowledge/file-detail.js.nft.json +1 -1
  81. package/.next/server/pages/knowledge/files.html +1 -1
  82. package/.next/server/pages/knowledge/files.js.nft.json +1 -1
  83. package/.next/server/pages/knowledge/manage.html +1 -1
  84. package/.next/server/pages/knowledge/manage.js.nft.json +1 -1
  85. package/.next/server/pages/knowledge/search.html +1 -1
  86. package/.next/server/pages/knowledge/search.js.nft.json +1 -1
  87. package/.next/server/pages/knowledge.html +1 -1
  88. package/.next/server/pages/knowledge.js.nft.json +1 -1
  89. package/.next/server/pages/models.html +1 -1
  90. package/.next/server/pages/models.js.nft.json +1 -1
  91. package/.next/server/pages/overview.html +1 -1
  92. package/.next/server/pages/overview.js.nft.json +1 -1
  93. package/.next/server/pages/prompt.html +1 -1
  94. package/.next/server/pages/prompt.js.nft.json +1 -1
  95. package/.next/server/pages/settings.html +1 -1
  96. package/.next/server/pages/settings.js.nft.json +1 -1
  97. package/.next/server/pages/system/logs.html +1 -1
  98. package/.next/server/pages/system/logs.js.nft.json +1 -1
  99. package/.next/server/pages-manifest.json +24 -25
  100. package/.next/static/JSSClm7Ao89P7zD8JkYIG/_buildManifest.js +1 -0
  101. package/.next/static/chunks/{1289-ada402215e8934cc.js → 1289-c788c44e65e9dc64.js} +2 -2
  102. package/.next/static/chunks/2225-a90b5cc9338c63fa.js +1 -0
  103. package/.next/static/chunks/261-8a5ce39d74fc746e.js +1 -0
  104. package/.next/static/chunks/2884-b2944538a4a0d9b2.js +1 -0
  105. package/.next/static/chunks/3057-9eda004e07594513.js +1 -0
  106. package/.next/static/chunks/3455-c73ce4738620db20.js +6 -0
  107. package/.next/static/chunks/347-62c74776c299477d.js +4 -0
  108. package/.next/static/chunks/4833-bf56f1203e2daffa.js +28 -0
  109. package/.next/static/chunks/6578-6422ce4e29eb07d4.js +1 -0
  110. package/.next/static/chunks/7223-58376fd8a1d62df4.js +1 -0
  111. package/.next/static/chunks/7271-587c30b66ea4e619.js +16 -0
  112. package/.next/static/chunks/7576-b34ccf53f6efc388.js +1 -0
  113. package/.next/static/chunks/{8449-641d34b05c795c85.js → 8326-b79c7555af5866e7.js} +3 -3
  114. package/.next/static/chunks/8676-5982391f15ea1190.js +1 -0
  115. package/.next/static/chunks/8732-69ffc27ed6c68f6f.js +4 -0
  116. package/.next/static/chunks/8787-c8bea0f25cbd3cf0.js +25 -0
  117. package/.next/static/chunks/9144-51689069a3d341e5.js +1 -0
  118. package/.next/static/chunks/9773-53116cd0bf4b961a.js +1 -0
  119. package/.next/static/chunks/pages/_app-38ff7f551a80399f.js +140 -0
  120. package/.next/static/chunks/pages/asset-library-634d18652eb7507d.js +1 -0
  121. package/.next/static/chunks/pages/context/long-term-820cba5f1ae3a6cd.js +1 -0
  122. package/.next/static/chunks/pages/context/short-term-3332ffb90b3b58a9.js +1 -0
  123. package/.next/static/chunks/pages/document-roles-ab6dfead3fd99a2c.js +1 -0
  124. package/.next/static/chunks/pages/document-specs-565cf77237fce3d5.js +1 -0
  125. package/.next/static/chunks/pages/documents-c04e4ed600384e6a.js +1 -0
  126. package/.next/static/chunks/pages/guide-c5ef2e13eab4c312.js +1 -0
  127. package/.next/static/chunks/pages/knowledge/file-detail-f5e8f9bc35ebb92d.js +1 -0
  128. package/.next/static/chunks/pages/knowledge/files-88aba3534bd722f9.js +1 -0
  129. package/.next/static/chunks/pages/knowledge/manage-5629ccce14402b99.js +1 -0
  130. package/.next/static/chunks/pages/knowledge/search-72a46d6d1200ef93.js +1 -0
  131. package/.next/static/chunks/pages/models-a37db9926d9a0a52.js +1 -0
  132. package/.next/static/chunks/pages/overview-3dd4c539302d7349.js +1 -0
  133. package/.next/static/chunks/pages/prompt-0184d79af09db7e1.js +1 -0
  134. package/.next/static/chunks/pages/settings-fd31c9ef833cf0af.js +1 -0
  135. package/.next/static/chunks/pages/system/logs-8040fb1e0c814a0c.js +1 -0
  136. package/.next/static/css/09be1fdeab8595ab.css +1 -0
  137. package/.next/static/css/38dba0a7a42a8df3.css +1 -0
  138. package/README.md +38 -179
  139. package/package.json +3 -3
  140. package/.next/server/pages/api/assets/generated/test-generate.js +0 -1
  141. package/.next/server/pages/api/assets/generated/test-generate.js.nft.json +0 -1
  142. package/.next/static/Qg6HhehDEGMR0UQnE32Qh/_buildManifest.js +0 -1
  143. package/.next/static/chunks/1210-248760e61b298769.js +0 -28
  144. package/.next/static/chunks/2169-61474562e3e8475e.js +0 -1
  145. package/.next/static/chunks/2427-1f06499470a4acd3.js +0 -1
  146. package/.next/static/chunks/2700-1fbf324dcb6a552a.js +0 -1
  147. package/.next/static/chunks/4123-905de4c001b14351.js +0 -4
  148. package/.next/static/chunks/4260-46debd1ad52f4fde.js +0 -28
  149. package/.next/static/chunks/4696-5a425ced63368f89.js +0 -1
  150. package/.next/static/chunks/4976-2d6f56260b2ddff9.js +0 -1
  151. package/.next/static/chunks/5695-7c19c1352a381c69.js +0 -6
  152. package/.next/static/chunks/7576-c41e699f2110b989.js +0 -1
  153. package/.next/static/chunks/7888-7b28d859128998a2.js +0 -1
  154. package/.next/static/chunks/8332-b27e9ac89c517608.js +0 -1
  155. package/.next/static/chunks/9551-0bb7ba56a79b7cd7.js +0 -16
  156. package/.next/static/chunks/9958-af48a40832894bb6.js +0 -1
  157. package/.next/static/chunks/9978-3df3ef9c76cee8b8.js +0 -1
  158. package/.next/static/chunks/pages/_app-78551e7d4385884b.js +0 -140
  159. package/.next/static/chunks/pages/asset-library-0665e1c9afd893f0.js +0 -1
  160. package/.next/static/chunks/pages/context/long-term-1f59d30548b89c31.js +0 -1
  161. package/.next/static/chunks/pages/context/short-term-851f8aee7b0abff1.js +0 -1
  162. package/.next/static/chunks/pages/document-roles-14631ba08e2f829f.js +0 -1
  163. package/.next/static/chunks/pages/document-specs-afd35d3937f2cadb.js +0 -1
  164. package/.next/static/chunks/pages/documents-2b15480b93097015.js +0 -1
  165. package/.next/static/chunks/pages/guide-34569e4ab4e65192.js +0 -1
  166. package/.next/static/chunks/pages/knowledge/file-detail-ae28021746550a37.js +0 -1
  167. package/.next/static/chunks/pages/knowledge/files-cf84b9b9e834dfc7.js +0 -1
  168. package/.next/static/chunks/pages/knowledge/manage-0ab6c109beca045d.js +0 -1
  169. package/.next/static/chunks/pages/knowledge/search-8cb8614a649bb57c.js +0 -1
  170. package/.next/static/chunks/pages/models-d761e0a64090c564.js +0 -1
  171. package/.next/static/chunks/pages/overview-4389fb201fd42078.js +0 -1
  172. package/.next/static/chunks/pages/prompt-69407f71ba27bf48.js +0 -1
  173. package/.next/static/chunks/pages/settings-af3b67f0b96364b5.js +0 -1
  174. package/.next/static/chunks/pages/system/logs-27588e6d25aee564.js +0 -1
  175. package/.next/static/css/0e153583d22cc52e.css +0 -1
  176. package/.next/static/css/7938cb5de6aedc8c.css +0 -1
  177. package/.next/static/css/82b6ddff0ef364fe.css +0 -1
  178. package/.next/static/css/9af88fe8ee791d26.css +0 -1
  179. /package/.next/static/{Qg6HhehDEGMR0UQnE32Qh → JSSClm7Ao89P7zD8JkYIG}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5207],{838:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"}},4184:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>T});var r=n(65321),i=n(43220),s=n.n(i),a=n(97109),o=n(35292),c=n(68787),l=n(33442),d=n(7576),u=n(85114),p=n(48318),h=n(76506),m=n(11702),y=n(85493),f=n(42700),g=n(84253),x=n(30486),b=n(6578),j=n(14569),w=n.n(j);let{Paragraph:_}=o.A;function v(e){return"number"==typeof e?e.toFixed(2):"-"}function T(){var e,t,n;let[i,o]=(0,a.useState)(""),[j,T]=(0,a.useState)(!1),[E,S]=(0,a.useState)([]),[C,O]=(0,a.useState)(),[A,R]=(0,a.useState)(),[k,N]=(0,a.useState)(""),[P,L]=(0,a.useState)({keyword:1,vector:.9,rewrite:.72,hybridBonus:.35}),I=async()=>{let e=i.trim();if(e){T(!0),N("");try{let t=await (0,b.W2)(e,{limit:10,weights:P});S(t.results),O(t.queryTimeMs),R(t.debug)}catch(e){S([]),N(e instanceof Error?e.message:"搜索失败")}finally{T(!1)}}};return(0,r.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"pageTitle",children:"知识库搜索"}),(0,r.jsx)("p",{className:"pageDesc",children:"查看 hybrid 检索、parent 回填、分块来源和评分明细。"})]}),(0,r.jsx)(c.A,{size:"small",children:(0,r.jsxs)(l.A.Compact,{className:"w-full",children:[(0,r.jsx)(d.A,{value:i,onChange:e=>o(e.target.value),onPressEnter:()=>{I()},placeholder:"输入要搜索的知识库内容"}),(0,r.jsx)(u.Ay,{type:"primary",icon:(0,r.jsx)(x.A,{}),loading:j,onClick:()=>{I()},children:"搜索"})]})}),(0,r.jsx)(c.A,{size:"small",title:"召回权重调节",children:(0,r.jsxs)(l.A,{wrap:!0,children:[(0,r.jsxs)("span",{children:["Keyword ",(0,r.jsx)(p.A,{min:0,max:5,step:.1,value:P.keyword,onChange:e=>L(t=>({...t,keyword:Number(null!=e?e:1)}))})]}),(0,r.jsxs)("span",{children:["Vector ",(0,r.jsx)(p.A,{min:0,max:5,step:.1,value:P.vector,onChange:e=>L(t=>({...t,vector:Number(null!=e?e:.9)}))})]}),(0,r.jsxs)("span",{children:["Rewrite ",(0,r.jsx)(p.A,{min:0,max:5,step:.1,value:P.rewrite,onChange:e=>L(t=>({...t,rewrite:Number(null!=e?e:.72)}))})]}),(0,r.jsxs)("span",{children:["Hybrid Bonus ",(0,r.jsx)(p.A,{min:0,max:2,step:.05,value:P.hybridBonus,onChange:e=>L(t=>({...t,hybridBonus:Number(null!=e?e:.35)}))})]})]})}),A&&(0,r.jsx)(c.A,{size:"small",title:"检索调试面板",children:(0,r.jsxs)(h.A,{size:"small",column:2,bordered:!0,children:[(0,r.jsx)(h.A.Item,{label:"原始查询",children:A.originalQuery}),(0,r.jsx)(h.A.Item,{label:"Reranker",children:A.reranker}),(0,r.jsx)(h.A.Item,{label:"查询改写",span:2,children:(0,r.jsx)(l.A,{wrap:!0,children:null==(e=A.rewrittenQueries)?void 0:e.map(e=>(0,r.jsx)(m.A,{children:e},e))})}),(0,r.jsx)(h.A.Item,{label:"召回数量",span:2,children:(0,r.jsx)(l.A,{wrap:!0,children:Object.entries(null!=(t=A.recallCounts)?t:{}).map(e=>{let[t,n]=e;return(0,r.jsxs)(m.A,{children:[t,": ",n]},t)})})}),(0,r.jsx)(h.A.Item,{label:"召回权重",span:2,children:(0,r.jsx)(l.A,{wrap:!0,children:Object.entries(null!=(n=A.weights)?n:{}).map(e=>{let[t,n]=e;return(0,r.jsxs)(m.A,{children:[t,": ",n]},t)})})})]})}),(0,r.jsxs)(c.A,{size:"small",title:"搜索结果",extra:"number"==typeof C?"".concat(C," ms"):void 0,children:[k?(0,r.jsx)(y.A,{type:"error",showIcon:!0,message:"搜索失败",description:k,className:"mb-4"}):null,j?(0,r.jsx)(f.A,{}):0===E.length?(0,r.jsx)(g.A,{description:"暂无结果"}):(0,r.jsx)("div",{className:w().searchResultList,children:E.map((e,t)=>{var n,a,o,c,d,u;return(0,r.jsxs)("div",{className:w().searchResultItem,children:[(0,r.jsxs)("div",{className:w().searchResultHeader,children:[(0,r.jsxs)(l.A,{size:8,wrap:!0,children:[(0,r.jsxs)(m.A,{children:["序号 ",t+1]}),(0,r.jsx)(m.A,{color:"hybrid"===e.source?"purple":"vector"===e.source?"blue":"green",children:null!=(u=e.source)?u:"keyword"}),(0,r.jsx)(m.A,{children:e.scope}),e.chunkKind&&(0,r.jsx)(m.A,{color:"geekblue",children:e.chunkKind}),e.rowRange&&(0,r.jsxs)(m.A,{color:"gold",children:["行 ",e.rowRange]}),e.sectionTitle&&(0,r.jsx)(m.A,{color:"cyan",children:e.sectionTitle})]}),(0,r.jsx)("strong",{children:v(e.score)})]}),(0,r.jsxs)("div",{className:w().statusPath,children:[(0,r.jsx)(s(),{href:"/knowledge/file-detail?relativePath=".concat(encodeURIComponent(e.filePath)),children:e.filePath}),"number"==typeof e.chunkIndex?" #".concat(e.chunkIndex):""]}),(0,r.jsx)(_,{ellipsis:{rows:6,expandable:!0,symbol:"展开"},className:w().searchContent,children:function(e,t){let n=[t.trim(),...t.split(/[\s,,。;;::、]+/u)].filter(Boolean).sort((e,t)=>t.length-e.length);if(0===n.length)return e;let i=RegExp("(".concat(n.map(e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")).join("|"),")"),"giu");return e.split(i).map((e,t)=>n.some(t=>t.toLowerCase()===e.toLowerCase())?(0,r.jsx)("mark",{children:e},t):e)}(e.content,i)}),e.facets&&Object.keys(e.facets).length>0&&(0,r.jsx)("div",{className:w().statusMeta,children:Object.entries(e.facets).slice(0,8).map(e=>{let[t,n]=e;return(0,r.jsxs)("span",{children:[t," ",(0,r.jsx)("b",{children:Array.isArray(n)?n.join(", "):String(n)})]},t)})}),(0,r.jsxs)("div",{className:w().statusMeta,children:[(0,r.jsxs)("span",{children:["keyword ",(0,r.jsx)("b",{children:v(null==(n=e.scoreDetails)?void 0:n.keywordScore)})]}),(0,r.jsxs)("span",{children:["bm25 ",(0,r.jsx)("b",{children:v(null==(a=e.scoreDetails)?void 0:a.bm25Score)})]}),(0,r.jsxs)("span",{children:["vector ",(0,r.jsx)("b",{children:v(null==(o=e.scoreDetails)?void 0:o.vectorScore)})]}),(0,r.jsxs)("span",{children:["rerank ",(0,r.jsx)("b",{children:v(null==(c=e.scoreDetails)?void 0:c.rerankBoost)})]}),(0,r.jsxs)("span",{children:["hybrid ",(0,r.jsx)("b",{children:v(null==(d=e.scoreDetails)?void 0:d.hybridScore)})]})]})]},e.id)})})]})]})}},6578:(e,t,n)=>{"use strict";async function r(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.text(),t=e||"HTTP ".concat(n.status);try{let n=JSON.parse(e);t=n.error||n.message||t}catch(e){}throw Error(t)}return n.json()}async function i(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return r("/api/kb/stats".concat(t))}async function s(e){var t,n;let i=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&i.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&i.set("category",e.category),(null==e?void 0:e.page)&&i.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&i.set("limit",String(null!=(n=e.limit)?n:50)),r("/api/kb/files?".concat(i))}async function a(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),r("/api/kb/files/detail?".concat(n))}async function o(e,t){return r("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function c(e,t,n){return r("/api/kb/files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function l(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=r.result,n=e.indexOf(",");t(n>=0?e.slice(n+1):e)},r.onerror=n,r.readAsDataURL(e)})}async function d(e,t,n){return r("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:await Promise.all(e.map(async e=>({fileName:e.name,fileData:await l(e),relativePath:e.webkitRelativePath||void 0}))),projectRoot:t,uploadId:n})})}async function u(e){return r("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function p(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),r("/api/kb/operations?".concat(t))}async function h(e){let t=new URLSearchParams;return e&&t.set("projectRoot",e),r("/api/kb/operations?".concat(t),{method:"DELETE"})}async function m(e,t){let n=new URLSearchParams({id:e});return t&&n.set("projectRoot",t),r("/api/kb/operations?".concat(n),{method:"DELETE"})}async function y(e,t){return r("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function f(e,t){return r("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePaths:e,projectRoot:t})})}async function g(e){return r("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({all:!0,projectRoot:e})})}async function x(e){return r("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function b(){return r("/api/kb/features")}async function j(e,t){var n,i,s,a,o;let c=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&c.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&c.set("category",t.category),(null==t?void 0:t.limit)&&c.set("limit",String(null!=(o=t.limit)?o:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&c.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(i=t.weights)?void 0:i.vector)!=null&&c.set("vectorWeight",String(t.weights.vector)),(null==t||null==(s=t.weights)?void 0:s.rewrite)!=null&&c.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(a=t.weights)?void 0:a.hybridBonus)!=null&&c.set("hybridBonus",String(t.weights.hybridBonus)),r("/api/kb/search?".concat(c))}async function w(){return r("/api/prompt")}async function _(e){return r("/api/documents/roles".concat(e?"?type=".concat(e):""))}async function v(e){return r("/api/documents/roles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function T(e,t){return r("/api/documents/roles?type=".concat(e,"&id=").concat(encodeURIComponent(t)),{method:"DELETE"})}async function E(e){return r("/api/documents/roles?mode=config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function S(e){return r("/api/documents/roles?mode=config&id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function C(){return r("/api/documents/specs")}async function O(e){return r("/api/documents/specs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function A(e){return r("/api/documents/specs?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function R(){return r("/api/documents/templates")}async function k(e){return r("/api/documents/templates",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function N(e){return r("/api/documents/templates?templateId=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function P(e){return r("/api/documents/templates",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:e})})}async function L(e){return r("/api/documents/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function I(){return r("/api/documents/generated")}async function U(e){return r("/api/documents/generated/".concat(encodeURIComponent(e)))}async function J(e,t){return r("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async function D(e){return r("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function $(){return r("/api/assets/generated")}async function M(e){return r("/api/assets/generated?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function H(e){return r("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"index"})})}async function z(e,t){return r("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"open",target:t})})}async function B(e){return r("/api/documents/chapter/regenerate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function X(e,t){return r("/api/documents/drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,id:t})})}async function F(e){let t=await fetch("/api/documents/export",{method:"POST",headers:{"Content-Type":"application/json",Accept:"pdf"===e.format?"application/pdf":"*/*"},body:JSON.stringify(e)}),n=t.headers.get("content-type")||"",r=async()=>{let e=await t.text(),n=e||"导出失败";try{var r;let t=JSON.parse(e),i=null==(r=t.issues)?void 0:r.map(e=>e.message).filter(Boolean).slice(0,3).join(";");n=i?"".concat(t.error||"导出失败",":").concat(i):t.error||n}catch(e){}throw Error(n.length>300?"".concat(n.slice(0,300),"..."):n)};return t.ok||await r(),"pdf"!==e.format||n.includes("application/pdf")||await r(),"docx"!==e.format||n.includes("officedocument.wordprocessingml.document")||await r(),t.blob()}async function V(){return r("/api/config/providers")}async function W(e,t){return r("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function Q(e){return r("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function q(){return r("/api/config/models")}async function G(e){return r("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function K(){return r("/api/config/embedding")}async function Z(e){return r("/api/config/embedding",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function Y(){return r("/api/config/embedding/healthCheck",{method:"POST"})}async function ee(e){return r("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function et(){return r("/api/system/stats")}async function en(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return r("/api/system/logs?limit=".concat(e))}async function er(){return r("/api/system/logs",{method:"DELETE"})}async function ei(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return r("/api/context".concat(n))}async function es(e){return r("/api/context?type=".concat(e,"&stats=1"))}async function ea(e){return r("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function eo(e){return r("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function ec(e){return r("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function el(e,t){return r("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function ed(e){return r("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Af:()=>X,Bh:()=>ed,CU:()=>m,Dl:()=>R,E:()=>eo,EK:()=>O,ER:()=>A,FC:()=>et,FV:()=>T,H1:()=>x,H7:()=>h,HC:()=>o,HT:()=>s,II:()=>K,JU:()=>M,NR:()=>E,OX:()=>L,PH:()=>ea,QG:()=>D,QT:()=>u,Qx:()=>p,R1:()=>B,SJ:()=>f,UE:()=>F,VW:()=>b,W2:()=>j,X8:()=>g,Z3:()=>V,_m:()=>W,a6:()=>J,aP:()=>G,bV:()=>P,bZ:()=>ee,c1:()=>d,cQ:()=>I,dd:()=>Z,dg:()=>v,dw:()=>S,dx:()=>w,f$:()=>$,h0:()=>N,h1:()=>Q,hH:()=>er,hc:()=>i,hn:()=>ei,l2:()=>k,lv:()=>_,mx:()=>C,oH:()=>en,oS:()=>z,p:()=>es,tn:()=>c,u6:()=>Y,uc:()=>H,v7:()=>U,xC:()=>a,xq:()=>y,xw:()=>ec,zo:()=>el,zr:()=>q})},9208:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/search",function(){return n(4184)}])},14569:e=>{e.exports={featureLabel:"style_featureLabel__XFSTX",featureValue:"style_featureValue__I_wMP",filterInput:"style_filterInput__4_Elu",filterSelect:"style_filterSelect__vUBJ9",statusCard:"style_statusCard__H7Mee",statusFileIcon:"style_statusFileIcon__t1ezs",statusEmpty:"style_statusEmpty__8LWzH",timelineList:"style_timelineList__dqJrz",timelineItem:"style_timelineItem__dbuL_",timelineRow:"style_timelineRow__EDOVa",timelineTitle:"style_timelineTitle__Yujr8",timelineTime:"style_timelineTime__oFbi_",timelineClose:"style_timelineClose__Byx_9",timelineDetail:"style_timelineDetail__nALei",timelineDesc:"style_timelineDesc__FMjWE",timelinePath:"style_timelinePath__C9VQI",timelineMeta:"style_timelineMeta__u_pCn",timelineMetaTag:"style_timelineMetaTag__G3jF1",timelineExpandArrow:"style_timelineExpandArrow__xIBdF",timelineExpandArrowOpen:"style_timelineExpandArrowOpen__TWWDC",fileNameCell:"style_fileNameCell__EHsnt",folderRow:"style_folderRow__d7k9S",searchResultList:"style_searchResultList__cVKZg",searchResultItem:"style_searchResultItem__boj6D",searchResultHeader:"style_searchResultHeader__meVdJ",searchContent:"style_searchContent__XbUVk",pdfPreviewStrip:"style_pdfPreviewStrip__94_eG",drawingPreview:"style_drawingPreview__lkk_L"}},19013:(e,t,n)=>{"use strict";n.d(t,{C:()=>i});var r=n(97109);let i=()=>r.useReducer(e=>e+1,0)},19135:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,Gl:()=>o,ko:()=>c,ye:()=>a});var r=n(97109),i=n(7709),s=n(26047);let a=["xxxl","xxl","xl","lg","md","sm","xs"],o=[].concat(a).reverse(),c=(e,t)=>{if(t){for(let n of a)if(e[n]&&t?.[n]!==void 0)return t[n]}},l=()=>{let[,e]=(0,i.Ay)(),t=(e=>({xs:`(max-width: ${e.screenXSMax}px)`,sm:`(min-width: ${e.screenSM}px)`,md:`(min-width: ${e.screenMD}px)`,lg:`(min-width: ${e.screenLG}px)`,xl:`(min-width: ${e.screenXL}px)`,xxl:`(min-width: ${e.screenXXL}px)`,xxxl:`(min-width: ${e.screenXXXL}px)`}))((e=>{let t=[].concat(a).reverse();return t.forEach((n,r)=>{let i=n.toUpperCase(),s=`screen${i}Min`,a=`screen${i}`;if(!(e[s]<=e[a]))throw Error(`${s}<=${a} fails : !(${e[s]}<=${e[a]})`);if(r<t.length-1){let n=`screen${i}Max`;if(!(e[a]<=e[n]))throw Error(`${a}<=${n} fails : !(${e[a]}<=${e[n]})`);let s=t[r+1].toUpperCase(),o=`screen${s}Min`;if(!(e[n]<=e[o]))throw Error(`${n}<=${o} fails : !(${e[n]}<=${e[o]})`)}}),e})(e));return r.useMemo(()=>{let e=new Map,n=-1,r={};return{responsiveMap:t,matchHandlers:{},dispatch:t=>(r=t,e.forEach(e=>{e(r)}),e.size>=1),subscribe(t){return e.size||this.register(),n+=1,e.set(n,t),t(r),n},unsubscribe(t){e.delete(t),e.size||this.unregister()},register(){Object.entries(t).forEach(([e,t])=>{let n=({matches:t})=>{this.dispatch({...r,[e]:t})},i=window.matchMedia(t);(0,s.Tn)(i.addEventListener)&&i.addEventListener("change",n),this.matchHandlers[t]={mql:i,listener:n},n(i)})},unregister(){Object.values(t).forEach(e=>{let t=this.matchHandlers[e];(0,s.Tn)(t?.mql.removeEventListener)&&t.mql.removeEventListener("change",t?.listener)}),e.clear()}}},[t])}},59609:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(97109),i=n(82813),s=n(19013),a=n(19135);let o=function(e=!0,t={}){let n=(0,r.useRef)(t),[,o]=(0,s.C)(),c=(0,a.Ay)();return(0,i.Nf)(()=>{let t=c.subscribe(t=>{n.current=t,e&&o()});return()=>c.unsubscribe(t)},[]),n.current}},60470:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(97109),i=n(838),s=n(88483);function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let o=r.forwardRef((e,t)=>r.createElement(s.A,a({},e,{ref:t,icon:i.A})))},63214:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"}},73458:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"}}]},name:"edit",theme:"outlined"}},84190:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(97109),i=n(63214),s=n(88483);function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let o=r.forwardRef((e,t)=>r.createElement(s.A,a({},e,{ref:t,icon:i.A})))},99650:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(97109),i=n(73458),s=n(88483);function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let o=r.forwardRef((e,t)=>r.createElement(s.A,a({},e,{ref:t,icon:i.A})))}},e=>{e.O(0,[4260,4277,7889,1210,7576,2700,5292,6506,5938,636,6593,8792],()=>e(e.s=9208)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4046],{69:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L255.8 713.6l-62.3-62.3a8.19 8.19 0 00-11.4 0l-39.8 39.8a8.19 8.19 0 000 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.19 8.19 0 00-11.4 0l-39.8 39.8a8.19 8.19 0 000 11.4l110.3 111.2c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.1 304.1 0 00608 720c167.9 0 304-136.1 304-304S775.9 112 608 112m161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2"}}]},name:"key",theme:"outlined"}},2256:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});let o=n(25341).A},5450:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"}},6578:(e,t,n)=>{"use strict";async function o(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.text(),t=e||"HTTP ".concat(n.status);try{let n=JSON.parse(e);t=n.error||n.message||t}catch(e){}throw Error(t)}return n.json()}async function a(e){let t=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return o("/api/kb/stats".concat(t))}async function r(e){var t,n;let a=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&a.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&a.set("category",e.category),(null==e?void 0:e.page)&&a.set("page",String(null!=(t=e.page)?t:1)),(null==e?void 0:e.limit)&&a.set("limit",String(null!=(n=e.limit)?n:50)),o("/api/kb/files?".concat(a))}async function l(e,t){let n=new URLSearchParams({relativePath:e});return t&&n.set("projectRoot",t),o("/api/kb/files/detail?".concat(n))}async function i(e,t){return o("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function s(e,t,n){return o("/api/kb/files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,target:t,projectRoot:n})})}async function c(e){return new Promise((t,n)=>{let o=new FileReader;o.onload=()=>{let e=o.result,n=e.indexOf(",");t(n>=0?e.slice(n+1):e)},o.onerror=n,o.readAsDataURL(e)})}async function d(e,t,n){return o("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:await Promise.all(e.map(async e=>({fileName:e.name,fileData:await c(e),relativePath:e.webkitRelativePath||void 0}))),projectRoot:t,uploadId:n})})}async function u(e){return o("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function p(e){let t=new URLSearchParams({limit:"50"});return e&&t.set("projectRoot",e),o("/api/kb/operations?".concat(t))}async function m(e){let t=new URLSearchParams;return e&&t.set("projectRoot",e),o("/api/kb/operations?".concat(t),{method:"DELETE"})}async function h(e,t){let n=new URLSearchParams({id:e});return t&&n.set("projectRoot",t),o("/api/kb/operations?".concat(n),{method:"DELETE"})}async function f(e,t){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:t})})}async function y(e,t){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePaths:e,projectRoot:t})})}async function g(e){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({all:!0,projectRoot:e})})}async function v(e){return o("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function b(){return o("/api/kb/features")}async function j(e,t){var n,a,r,l,i;let s=new URLSearchParams({q:e});return(null==t?void 0:t.projectRoot)&&s.set("projectRoot",t.projectRoot),(null==t?void 0:t.category)&&s.set("category",t.category),(null==t?void 0:t.limit)&&s.set("limit",String(null!=(i=t.limit)?i:20)),(null==t||null==(n=t.weights)?void 0:n.keyword)!=null&&s.set("keywordWeight",String(t.weights.keyword)),(null==t||null==(a=t.weights)?void 0:a.vector)!=null&&s.set("vectorWeight",String(t.weights.vector)),(null==t||null==(r=t.weights)?void 0:r.rewrite)!=null&&s.set("rewriteWeight",String(t.weights.rewrite)),(null==t||null==(l=t.weights)?void 0:l.hybridBonus)!=null&&s.set("hybridBonus",String(t.weights.hybridBonus)),o("/api/kb/search?".concat(s))}async function x(){return o("/api/prompt")}async function A(e){return o("/api/documents/roles".concat(e?"?type=".concat(e):""))}async function w(e){return o("/api/documents/roles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function C(e,t){return o("/api/documents/roles?type=".concat(e,"&id=").concat(encodeURIComponent(t)),{method:"DELETE"})}async function S(e){return o("/api/documents/roles?mode=config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function T(e){return o("/api/documents/roles?mode=config&id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function N(){return o("/api/documents/specs")}async function O(e){return o("/api/documents/specs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function E(e){return o("/api/documents/specs?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function k(){return o("/api/documents/templates")}async function P(e){return o("/api/documents/templates",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function R(e){return o("/api/documents/templates?templateId=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function I(e){return o("/api/documents/templates",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:e})})}async function _(e){return o("/api/documents/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function U(){return o("/api/documents/generated")}async function L(e){return o("/api/documents/generated/".concat(encodeURIComponent(e)))}async function M(e,t){return o("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async function z(e){return o("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function H(){return o("/api/assets/generated")}async function D(e){return o("/api/assets/generated?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function J(e){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"index"})})}async function F(e,t){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"open",target:t})})}async function B(e){return o("/api/documents/chapter/regenerate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function K(e,t){return o("/api/documents/drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,id:t})})}async function W(e){let t=await fetch("/api/documents/export",{method:"POST",headers:{"Content-Type":"application/json",Accept:"pdf"===e.format?"application/pdf":"*/*"},body:JSON.stringify(e)}),n=t.headers.get("content-type")||"",o=async()=>{let e=await t.text(),n=e||"导出失败";try{var o;let t=JSON.parse(e),a=null==(o=t.issues)?void 0:o.map(e=>e.message).filter(Boolean).slice(0,3).join(";");n=a?"".concat(t.error||"导出失败",":").concat(a):t.error||n}catch(e){}throw Error(n.length>300?"".concat(n.slice(0,300),"..."):n)};return t.ok||await o(),"pdf"!==e.format||n.includes("application/pdf")||await o(),"docx"!==e.format||n.includes("officedocument.wordprocessingml.document")||await o(),t.blob()}async function $(){return o("/api/config/providers")}async function V(e,t){return o("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...t})})}async function G(e){return o("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function X(){return o("/api/config/models")}async function Q(e){return o("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function Z(){return o("/api/config/embedding")}async function Y(e){return o("/api/config/embedding",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function q(){return o("/api/config/embedding/healthCheck",{method:"POST"})}async function ee(e){return o("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function et(){return o("/api/system/stats")}async function en(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return o("/api/system/logs?limit=".concat(e))}async function eo(){return o("/api/system/logs",{method:"DELETE"})}async function ea(e,t){let n=t?"?type=".concat(e,"&search=").concat(encodeURIComponent(t)):"?type=".concat(e);return o("/api/context".concat(n))}async function er(e){return o("/api/context?type=".concat(e,"&stats=1"))}async function el(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function ei(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function es(e){return o("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function ec(e,t){return o("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...t})})}async function ed(e){return o("/api/config/providers/".concat(encodeURIComponent(e)))}n.d(t,{Af:()=>K,Bh:()=>ed,CU:()=>h,Dl:()=>k,E:()=>ei,EK:()=>O,ER:()=>E,FC:()=>et,FV:()=>C,H1:()=>v,H7:()=>m,HC:()=>i,HT:()=>r,II:()=>Z,JU:()=>D,NR:()=>S,OX:()=>_,PH:()=>el,QG:()=>z,QT:()=>u,Qx:()=>p,R1:()=>B,SJ:()=>y,UE:()=>W,VW:()=>b,W2:()=>j,X8:()=>g,Z3:()=>$,_m:()=>V,a6:()=>M,aP:()=>Q,bV:()=>I,bZ:()=>ee,c1:()=>d,cQ:()=>U,dd:()=>Y,dg:()=>w,dw:()=>T,dx:()=>x,f$:()=>H,h0:()=>R,h1:()=>G,hH:()=>eo,hc:()=>a,hn:()=>ea,l2:()=>P,lv:()=>A,mx:()=>N,oH:()=>en,oS:()=>F,p:()=>er,tn:()=>s,u6:()=>q,uc:()=>J,v7:()=>L,xC:()=>l,xq:()=>f,xw:()=>es,zo:()=>ec,zr:()=>X})},10218:(e,t,n)=>{"use strict";n.d(t,{A:()=>y,H:()=>h});var o=n(97109),a=n(4932),r=n(82813);let l=e=>"object"==typeof e&&null!=e&&1===e.nodeType,i=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,s=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){let n=getComputedStyle(e,null);return i(n.overflowY,t)||i(n.overflowX,t)||(e=>{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},c=(e,t,n,o,a,r,l,i)=>r<e&&l>t||r>e&&l<t?0:r<=e&&i<=n||l>=t&&i>=n?r-e-o:l>t&&i<n||r<e&&i>n?l-t+a:0,d=e=>{let t=e.parentElement;return null==t?e.getRootNode().host||null:t},u=(e,t)=>{var n,o,a,r;if("undefined"==typeof document)return[];let{scrollMode:i,block:u,inline:p,boundary:m,skipOverflowHiddenElements:h}=t,f="function"==typeof m?m:e=>e!==m;if(!l(e))throw TypeError("Invalid target");let y=document.scrollingElement||document.documentElement,g=[],v=e;for(;l(v)&&f(v);){if((v=d(v))===y){g.push(v);break}null!=v&&v===document.body&&s(v)&&!s(document.documentElement)||null!=v&&s(v,h)&&g.push(v)}let b=null!=(o=null==(n=window.visualViewport)?void 0:n.width)?o:innerWidth,j=null!=(r=null==(a=window.visualViewport)?void 0:a.height)?r:innerHeight,{scrollX:x,scrollY:A}=window,{height:w,width:C,top:S,right:T,bottom:N,left:O}=e.getBoundingClientRect(),{top:E,right:k,bottom:P,left:R}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),I="start"===u||"nearest"===u?S-E:"end"===u?N+P:S+w/2-E+P,_="center"===p?O+C/2-R+k:"end"===p?T+k:O-R,U=[];for(let e=0;e<g.length;e++){let t=g[e],{height:n,width:o,top:a,right:r,bottom:l,left:d}=t.getBoundingClientRect();if("if-needed"===i&&S>=0&&O>=0&&N<=j&&T<=b&&(t===y&&!s(t)||S>=a&&N<=l&&O>=d&&T<=r))break;let m=getComputedStyle(t),h=parseInt(m.borderLeftWidth,10),f=parseInt(m.borderTopWidth,10),v=parseInt(m.borderRightWidth,10),E=parseInt(m.borderBottomWidth,10),k=0,P=0,R="offsetWidth"in t?t.offsetWidth-t.clientWidth-h-v:0,L="offsetHeight"in t?t.offsetHeight-t.clientHeight-f-E:0,M="offsetWidth"in t?0===t.offsetWidth?0:o/t.offsetWidth:0,z="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(y===t)k="start"===u?I:"end"===u?I-j:"nearest"===u?c(A,A+j,j,f,E,A+I,A+I+w,w):I-j/2,P="start"===p?_:"center"===p?_-b/2:"end"===p?_-b:c(x,x+b,b,h,v,x+_,x+_+C,C),k=Math.max(0,k+A),P=Math.max(0,P+x);else{k="start"===u?I-a-f:"end"===u?I-l+E+L:"nearest"===u?c(a,l,n,f,E+L,I,I+w,w):I-(a+n/2)+L/2,P="start"===p?_-d-h:"center"===p?_-(d+o/2)+R/2:"end"===p?_-r+v+R:c(d,r,o,h,v+R,_,_+C,C);let{scrollLeft:e,scrollTop:i}=t;k=0===z?0:Math.max(0,Math.min(i+k/z,t.scrollHeight-n/z+L)),P=0===M?0:Math.max(0,Math.min(e+P/M,t.scrollWidth-o/M+R)),I+=i-k,_+=e-P}U.push({el:t,top:k,left:P})}return U};var p=n(26047),m=n(44624);function h(e){return(0,m.$r)(e).join("_")}function f(e,t){let n=t.getFieldInstance(e),o=(0,r.rb)(n);if(o)return o;let a=(0,m.kV)((0,m.$r)(e),t.__INTERNAL__.name);if(a)return document.getElementById(a)}function y(e){let[t]=(0,a.mN)(),n=o.useRef({}),r=o.useMemo(()=>e??{...t,__INTERNAL__:{itemRef:e=>t=>{let o=h(e);t?n.current[o]=t:delete n.current[o]}},scrollToField:(e,t={})=>{let{focus:n,...o}=t,a=f(e,r);a&&(!function(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;let n=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if("object"==typeof t&&"function"==typeof t.behavior)return t.behavior(u(e,t));let o="boolean"==typeof t||null==t?void 0:t.behavior;for(let{el:a,top:r,left:l}of u(e,!1===t?{block:"end",inline:"nearest"}:t===Object(t)&&0!==Object.keys(t).length?t:{block:"start",inline:"nearest"})){let e=r-n.top+n.bottom,t=l-n.left+n.right;a.scroll({top:e,left:t,behavior:o})}}(a,{scrollMode:"if-needed",block:"nearest",...o}),n&&r.focusField(e))},focusField:e=>{let t=r.getFieldInstance(e);(0,p.Tn)(t?.focus)?t.focus():f(e,r)?.focus?.()},getFieldInstance:e=>{let t=h(e);return n.current[t]}},[e,t]);return[r]}},13114:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var o=n(97109),a=n(5450),r=n(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}let i=o.forwardRef((e,t)=>o.createElement(r.A,l({},e,{ref:t,icon:a.A})))},15437:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});let o=e=>{let{componentCls:t,antCls:n,motionDurationMid:o,motionEaseInOut:a}=e;return{[t]:{[`${n}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`${["height","opacity"].map(e=>`${e} ${o} ${a}`).join(", ")} !important`}},[`${n}-motion-collapse`]:{overflow:"hidden",transition:`${["height","opacity"].map(e=>`${e} ${o} ${a}`).join(", ")} !important`}}}}},15527:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>J});var o=n(65321),a=n(97109),r=n(64209),l=n(17807),i=n(85114),s=n(68787),c=n(2256),d=n(38770),u=n(11702),p=n(33442),m=n(26171),h=n(85493),f=n(63455),y=n(57271),g=n(7576),v=n(48318),b=n(25258),j=n(56985),x=n(54746),A=n(29071),w=n(59188),C=n(4216),S=n(13114),T=n(99650),N=n(58209),O=n(69),E=n(88483);function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}let P=a.forwardRef((e,t)=>a.createElement(E.A,k({},e,{ref:t,icon:O.A})));var R=n(30289);function I(){return(I=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}let _=a.forwardRef((e,t)=>a.createElement(E.A,I({},e,{ref:t,icon:R.A})));var U=n(6578),L=n(42323),M=n.n(L);let z=[{label:"OpenAI 兼容",value:"openai"},{label:"Anthropic",value:"anthropic"},{label:"Google",value:"google"},{label:"Ollama",value:"ollama"},{label:"OpenRouter",value:"openrouter"}],H=[{key:"reader",labelKey:"models.tierReader",descKey:"models.tierReaderDesc"},{key:"reasoning",labelKey:"models.tierReasoning",descKey:"models.tierReasoningDesc"},{key:"action",labelKey:"models.tierAction",descKey:"models.tierActionDesc"}],D=[{key:"imageGeneration",label:"图片生成"},{key:"imageUnderstanding",label:"图片理解"},{key:"fileUnderstanding",label:"文件理解"},{key:"audio",label:"音频能力"},{key:"video",label:"视频能力"}];function J(){let e=(0,r.Vr)(),{message:t}=l.A.useApp(),n=[{label:e("models.embeddingProviderHash"),value:"hash"},{label:e("models.embeddingProviderOpenAI"),value:"openai-compatible"}],[O,E]=(0,a.useState)(!0),[k,R]=(0,a.useState)([]),[I,L]=(0,a.useState)(null),[J,F]=(0,a.useState)({provider:"hash",dimensions:384}),[B,K]=(0,a.useState)(!1),[W,$]=(0,a.useState)(!1),[V,G]=(0,a.useState)(null),[X,Q]=(0,a.useState)(!1),[Z,Y]=(0,a.useState)(""),[q,ee]=(0,a.useState)(""),[et,en]=(0,a.useState)(""),[eo,ea]=(0,a.useState)("openai"),[er,el]=(0,a.useState)(!1),[ei,es]=(0,a.useState)({}),[ec,ed]=(0,a.useState)(!1),[eu,ep]=(0,a.useState)(!1),[em,eh]=(0,a.useState)(""),[ef,ey]=(0,a.useState)(""),[eg,ev]=(0,a.useState)(""),[eb,ej]=(0,a.useState)(""),[ex,eA]=(0,a.useState)("openai"),[ew,eC]=(0,a.useState)(!1),[eS,eT]=(0,a.useState)({}),[eN,eO]=(0,a.useState)(!1),[eE,ek]=(0,a.useState)(null),[eP,eR]=(0,a.useState)({}),eI=async()=>{E(!0);try{let[e,t,n]=await Promise.all([(0,U.Z3)().catch(()=>[]),(0,U.zr)().catch(()=>null),(0,U.II)().catch(()=>({provider:"hash",dimensions:384}))]);R(e),L(t),F(n)}catch(n){t.error(e("common.error"))}finally{E(!1)}};(0,a.useEffect)(()=>{eI()},[]);let e_=async()=>{if(Z.trim()){ed(!0);try{await (0,U._m)(Z.trim(),{apiKey:q||void 0,baseUrl:et||void 0,protocol:eo,directEndpoint:er,capabilities:ei}),Q(!1),Y(""),ee(""),en(""),ea("openai"),el(!1),es({}),await eI(),t.success(e("common.success"))}catch(n){t.error(e("common.error"))}finally{ed(!1)}}},eU=async n=>{try{await (0,U.h1)(n),await eI(),t.success(e("common.success"))}catch(n){t.error(e("common.error"))}},eL=async e=>{eh(e.name),ey(e.name),ev("");try{let t=await (0,U.Bh)(e.name);ev(t.apiKey?"••••••••":""),ej(t.baseUrl||""),eA(t.protocol||t.detectedProtocol||"openai"),eT(t.capabilities||{})}catch(t){ej(e.baseUrl||""),eA(e.protocol||e.detectedProtocol||"openai"),eT(e.capabilities||{})}ep(!0)},eM=async()=>{if(ef.trim()){eO(!0);try{let n=eg.includes("•")?void 0:eg||void 0;await (0,U._m)(ef.trim(),{oldName:em,apiKey:n,baseUrl:eb||void 0,protocol:ex,directEndpoint:ew,capabilities:eS}),ep(!1),eh(""),ey(""),ev(""),ej(""),eA("openai"),eC(!1),eT({}),await eI(),t.success(e("common.success"))}catch(n){t.error(e("common.error"))}finally{eO(!1)}}},ez=async n=>{ek(n);try{let o=await (0,U.bZ)(n);eR(e=>({...e,[n]:o.success})),t[o.success?"success":"error"](o.success?e("models.connected"):e("models.connectionFailed"))}catch(e){eR(e=>({...e,[n]:!1}))}finally{ek(null)}},eH=async()=>{K(!0);try{let n=await (0,U.dd)(J);F(n),G(null),t.success(e("common.success"))}catch(n){t.error(e("common.error"))}finally{K(!1)}},eD=async()=>{$(!0);try{let n=await (0,U.u6)();G(n.success),t[n.success?"success":"error"](n.message||(n.success?e("models.connected"):e("models.connectionFailed")))}catch(n){G(!1),t.error(e("common.error"))}finally{$(!1)}},eJ=async(n,o)=>{if(!I)return;let a={...I},r=a[n];if(!o){r.active="",L(a);try{await (0,U.aP)(a)}catch(n){t.error(e("common.error"))}return}let l=o.indexOf(":"),i=l>=0?o.slice(0,l):o,s=l>=0?o.slice(l+1):o;r.active=s,r.list.some(e=>e.name===s&&e.provider===i)||r.list.push({name:s,provider:i}),L(a);try{await (0,U.aP)(a)}catch(n){t.error(e("common.error"))}};return(0,o.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("h1",{className:"pageTitle",children:e("models.title")}),(0,o.jsx)("p",{className:"pageDesc",children:e("models.description")})]}),(0,o.jsx)(i.Ay,{type:"primary",icon:(0,o.jsx)(x.A,{}),onClick:()=>Q(!0),children:e("models.addModel")})]}),(0,o.jsx)(s.A,{title:e("models.modelList"),size:"small",loading:O,children:0===k.length?(0,o.jsx)("span",{className:M().cardMeta,children:e("models.noProviders")}):(0,o.jsx)(c.A,{gutter:[12,12],align:"stretch",children:k.map((t,n)=>(0,o.jsx)(d.A,{xs:24,sm:12,lg:8,xl:6,className:M().providerGrid,children:(0,o.jsxs)(s.A,{size:"small",className:M().providerCard,children:[(0,o.jsxs)("div",{className:M().cardAction,children:[(0,o.jsxs)("div",{className:M().cardMain,children:[(0,o.jsxs)("div",{className:M().cardName,title:t.name,children:[(0,o.jsxs)(u.A,{children:["序号 ",n+1]}),t.name]}),(0,o.jsxs)("div",{className:M().cardMeta,children:[(0,o.jsx)(A.A,{})," ",t.protocol||t.detectedProtocol||"openai"]})]}),(0,o.jsxs)(p.A,{size:2,wrap:!1,children:[(0,o.jsx)(i.Ay,{size:"small",type:"text",loading:eE===t.name,onClick:()=>{ez(t.name)},icon:!0===eP[t.name]?(0,o.jsx)(w.A,{className:"text-[var(--colorOk)]"}):!1===eP[t.name]?(0,o.jsx)(C.A,{className:"text-[var(--colorDanger)]"}):(0,o.jsx)(S.A,{})}),(0,o.jsx)(i.Ay,{size:"small",type:"text",icon:(0,o.jsx)(T.A,{}),onClick:()=>{eL(t)}}),(0,o.jsx)(m.A,{title:e("models.deleteProviderConfirm"),onConfirm:()=>{eU(t.name)},children:(0,o.jsx)(i.Ay,{size:"small",type:"text",danger:!0,icon:(0,o.jsx)(N.A,{})})})]})]}),(0,o.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,o.jsxs)("span",{className:"".concat(M().cardMeta," text-xs"),children:[(0,o.jsx)(P,{})," ",t.hasApiKey?"••••••••":"—"]}),t.baseUrl&&(0,o.jsxs)("span",{className:"".concat(M().cardMeta," ").concat(M().urlLine," text-xs"),title:t.baseUrl,children:[(0,o.jsx)(_,{})," ",t.baseUrl]}),(0,o.jsx)(p.A,{size:[4,4],wrap:!0,children:D.filter(e=>{var n;return null==(n=t.capabilities)?void 0:n[e.key]}).map(e=>(0,o.jsx)(u.A,{color:"purple",children:e.label},e.key))})]})]})},t.name))})}),(0,o.jsxs)(s.A,{title:e("models.embeddingConfig"),size:"small",loading:O,children:[(0,o.jsx)(h.A,{className:"mb-4",type:"info",showIcon:!0,message:e("models.embeddingHint")}),(0,o.jsxs)(f.A,{layout:"vertical",size:"middle",children:[(0,o.jsxs)(c.A,{gutter:[12,12],children:[(0,o.jsx)(d.A,{xs:24,lg:8,children:(0,o.jsx)(f.A.Item,{label:e("models.embeddingProvider"),children:(0,o.jsx)(y.A,{value:J.provider,options:n,onChange:e=>F(t=>({...t,provider:e,dimensions:"hash"===e?384:t.dimensions||1024}))})})}),"openai-compatible"===J.provider&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(d.A,{xs:24,lg:8,children:(0,o.jsx)(f.A.Item,{label:"Base URL",children:(0,o.jsx)(g.A,{value:J.baseUrl,onChange:e=>F(t=>({...t,baseUrl:e.target.value})),placeholder:"http://localhost:11434/v1"})})}),(0,o.jsx)(d.A,{xs:24,lg:8,children:(0,o.jsx)(f.A.Item,{label:e("models.model"),children:(0,o.jsx)(g.A,{value:J.model,onChange:e=>F(t=>({...t,model:e.target.value})),placeholder:"bge-m3"})})}),(0,o.jsx)(d.A,{xs:24,lg:8,children:(0,o.jsx)(f.A.Item,{label:e("models.apiKey"),help:J.hasApiKey?e("models.embeddingApiKeyHint"):void 0,children:(0,o.jsx)(g.A.Password,{value:J.apiKey,onFocus:()=>{var e;(null==(e=J.apiKey)?void 0:e.includes("•"))&&F(e=>({...e,apiKey:""}))},onChange:e=>F(t=>({...t,apiKey:e.target.value})),placeholder:e("models.optional")})})})]}),(0,o.jsx)(d.A,{xs:24,lg:8,children:(0,o.jsx)(f.A.Item,{label:e("models.dimensions"),children:(0,o.jsx)(v.A,{className:"w-full",min:1,value:J.dimensions,onChange:e=>F(t=>({...t,dimensions:Number(e||("hash"===t.provider?384:1024))}))})})}),(0,o.jsx)(d.A,{xs:24,lg:8,children:(0,o.jsx)(f.A.Item,{label:e("models.status"),children:(0,o.jsxs)(p.A,{children:[(0,o.jsx)(u.A,{color:"hash"===J.provider?"default":"blue",children:"hash"===J.provider?e("models.localHash"):e("models.openAICompatible")}),!0===V&&(0,o.jsx)(u.A,{color:"success",children:e("models.connected")}),!1===V&&(0,o.jsx)(u.A,{color:"error",children:e("models.connectionFailed")})]})})})]}),(0,o.jsxs)(p.A,{children:[(0,o.jsx)(i.Ay,{type:"primary",loading:B,onClick:()=>{eH()},children:e("models.saveEmbedding")}),(0,o.jsx)(i.Ay,{icon:(0,o.jsx)(S.A,{}),loading:W,onClick:()=>{eD()},children:e("models.testEmbedding")})]})]})]}),I&&(0,o.jsx)(s.A,{title:e("models.modelTiers"),size:"small",children:(0,o.jsx)(c.A,{gutter:[12,12],children:H.map(n=>{var a;let{key:r,labelKey:l,descKey:i}=n,c=I[r],p=c.list.map(e=>({label:"".concat(e.provider," / ").concat(e.name),value:"".concat(e.provider,":").concat(e.name)})),m=k.filter(e=>!c.list.some(t=>t.provider===e.name)).map(e=>({label:"".concat(e.name," / ").concat(e.name),value:"".concat(e.name,":").concat(e.name)}));return(0,o.jsx)(d.A,{xs:24,lg:8,children:(0,o.jsxs)(s.A,{size:"small",title:e(l),children:[(0,o.jsx)("span",{className:M().tierDesc,children:e(i)}),(0,o.jsx)(y.A,{value:c.active?"".concat((null==(a=c.list.find(e=>e.name===c.active))?void 0:a.provider)||"",":").concat(c.active):void 0,onChange:e=>{eJ(r,e)},allowClear:!0,placeholder:e("models.selectModelPlaceholder"),className:"w-full",options:[...p,...m]}),c.list.length>0&&(0,o.jsx)("div",{className:M().modelTags,children:c.list.map(n=>(0,o.jsxs)(u.A,{color:n.name===c.active?"blue":void 0,closable:!0,onClose:()=>{var o,a;let l={...I},i=l[r];i.list=i.list.filter(e=>e.name!==n.name||e.provider!==n.provider),i.active===n.name&&(i.active=null!=(a=null==(o=i.list[0])?void 0:o.name)?a:""),L(l),(0,U.aP)(l).catch(()=>t.error(e("common.error")))},children:[n.provider,"/",n.name]},"".concat(n.provider,":").concat(n.name)))})]})},r)})})}),(0,o.jsx)(b.A,{maskClosable:!1,title:e("models.addModel"),open:X,onCancel:()=>{Q(!1),Y(""),ee(""),en(""),ea("openai"),el(!1)},onOk:()=>{e_()},confirmLoading:ec,children:(0,o.jsxs)(f.A,{layout:"vertical",size:"middle",children:[(0,o.jsx)(f.A.Item,{label:e("models.modelName"),children:(0,o.jsx)(g.A,{value:Z,onChange:e=>Y(e.target.value),placeholder:e("models.modelNamePlaceholder")})}),(0,o.jsx)(f.A.Item,{label:e("models.apiKey"),children:(0,o.jsx)(g.A.Password,{value:q,onChange:e=>ee(e.target.value),placeholder:"sk-..."})}),(0,o.jsx)(f.A.Item,{label:e("models.baseUrl"),children:(0,o.jsx)(g.A,{value:et,onChange:e=>en(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,o.jsx)(f.A.Item,{label:e("models.protocol"),children:(0,o.jsx)(y.A,{value:eo,onChange:ea,options:z})}),(0,o.jsx)(f.A.Item,{label:"直连端点",tooltip:"开启后 Base URL 会作为完整请求地址使用,不再自动拼接接口路径。",children:(0,o.jsx)(j.A,{checked:er,onChange:e=>el(e.target.checked),children:"Base URL 是完整接口地址"})}),(0,o.jsx)(f.A.Item,{label:"多模态能力",children:(0,o.jsx)(j.A.Group,{value:D.filter(e=>ei[e.key]).map(e=>e.key),options:D.map(e=>({label:e.label,value:e.key})),onChange:e=>es(Object.fromEntries(D.map(t=>[t.key,e.includes(t.key)])))})})]})}),(0,o.jsx)(b.A,{maskClosable:!1,title:e("models.editModel"),open:eu,onCancel:()=>{ep(!1),eh(""),ey(""),ev(""),ej(""),eA("openai"),eC(!1)},onOk:()=>{eM()},confirmLoading:eN,children:(0,o.jsxs)(f.A,{layout:"vertical",size:"middle",children:[(0,o.jsx)(f.A.Item,{label:e("models.modelName"),children:(0,o.jsx)(g.A,{value:ef,onChange:e=>ey(e.target.value),placeholder:e("models.modelNamePlaceholder")})}),(0,o.jsx)(f.A.Item,{label:e("models.apiKey"),help:e("models.apiKeyEditHint"),children:(0,o.jsx)(g.A.Password,{value:eg,onFocus:()=>{eg.includes("•")&&ev("")},onCopy:e=>e.preventDefault(),onChange:e=>ev(e.target.value),placeholder:e("models.apiKeyEditPlaceholder")})}),(0,o.jsx)(f.A.Item,{label:e("models.baseUrl"),children:(0,o.jsx)(g.A,{value:eb,onChange:e=>ej(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,o.jsx)(f.A.Item,{label:e("models.protocol"),children:(0,o.jsx)(y.A,{value:ex,onChange:eA,options:z})}),(0,o.jsx)(f.A.Item,{label:"直连端点",tooltip:"开启后 Base URL 会作为完整请求地址使用,不再自动拼接接口路径。",children:(0,o.jsx)(j.A,{checked:ew,onChange:e=>eC(e.target.checked),children:"Base URL 是完整接口地址"})}),(0,o.jsx)(f.A.Item,{label:"多模态能力",children:(0,o.jsx)(j.A.Group,{value:D.filter(e=>eS[e.key]).map(e=>e.key),options:D.map(e=>({label:e.label,value:e.key})),onChange:e=>eT(Object.fromEntries(D.map(t=>[t.key,e.includes(t.key)])))})})]})})]})}},25258:(e,t,n)=>{"use strict";n.d(t,{A:()=>j});var o=n(51541),a=n(61848),r=n(5669),l=n(97109),i=n(72658),s=n(3638),c=n(92162),d=n(82725),u=n(74567),p=n(632),m=n(49517),h=n(79412),f=n(19527);let y=(0,d.U)(e=>{let{prefixCls:t,className:n,closeIcon:o,closable:a,type:r,title:d,children:y,footer:g,classNames:v,styles:b,...j}=e,{getPrefixCls:x}=l.useContext(u.QO),{className:A,style:w,classNames:C,styles:S}=(0,u.TP)("modal"),T=x(),N=t||x("modal"),O=(0,p.A)(T),[E,k]=(0,f.Ay)(N,O),[P,R]=(0,c.AV)([C,v],[S,b],{props:e}),I=`${N}-confirm`,_={};return _=r?{closable:a??!1,title:"",footer:"",children:l.createElement(m.k,{...e,prefixCls:N,confirmPrefixCls:I,rootPrefixCls:T,content:y})}:{closable:a??!0,title:d,footer:null!==g&&l.createElement(h.w,{...e}),children:y},l.createElement(i.Z,{prefixCls:N,className:(0,s.$)(E,`${N}-pure-panel`,r&&I,r&&`${I}-${r}`,n,A,k,O,P.root),style:{...w,...R.root},...j,closeIcon:(0,h.O)(N,o),closable:a,classNames:P,styles:R,..._})});var g=n(99739);function v(e){return(0,o.Ay)((0,o.fp)(e))}let b=r.A;b.useModal=g.A,b.info=function(e){return(0,o.Ay)((0,o.$D)(e))},b.success=function(e){return(0,o.Ay)((0,o.Ej)(e))},b.error=function(e){return(0,o.Ay)((0,o.jT)(e))},b.warning=v,b.warn=v,b.confirm=function(e){return(0,o.Ay)((0,o.lr)(e))},b.destroyAll=function(){for(;a.A.length;){let e=a.A.pop();e&&e()}},b.config=o.FB,b._InternalPanelDoNotUseOrYouWillBeFired=y;let j=b},29071:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var o=n(97109),a=n(78847),r=n(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}let i=o.forwardRef((e,t)=>o.createElement(r.A,l({},e,{ref:t,icon:a.A})))},30289:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"}},38770:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});let o=n(51916).A},42323:e=>{e.exports={cardMeta:"style_cardMeta__6KOa3",cardName:"style_cardName__WcLAf",cardAction:"style_cardAction__XUfPD",cardMain:"style_cardMain__qI1jU",providerCard:"style_providerCard__tLKGs",providerGrid:"style_providerGrid__Gx5GR",urlLine:"style_urlLine__DuMYs",tierDesc:"style_tierDesc__wOd6p",modelTags:"style_modelTags__nmMVj"}},44624:(e,t,n)=>{"use strict";n.d(t,{$r:()=>a,BS:()=>l,kV:()=>r});let o=["parentNode"];function a(e){return void 0===e||!1===e?[]:Array.isArray(e)?e:[e]}function r(e,t){if(!e.length)return;let n=e.join("_");return t?`${t}_${n}`:o.includes(n)?`form_item_${n}`:n}function l(e,t,n,o,a,r){let l=o;return void 0!==r?l=r:n.validating?l="validating":e.length?l="error":t.length?l="warning":(n.touched||a&&n.validated)&&(l="success"),l}},77305:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/models",function(){return n(15527)}])},78847:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z"}}]},name:"thunderbolt",theme:"outlined"}}},e=>{e.O(0,[4260,4277,7889,1210,7576,9551,4696,6985,5695,5938,636,6593,8792],()=>e(e.s=77305)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5449],{6578:(e,n,t)=>{"use strict";async function o(e,n){let t=await fetch(e,n);if(!t.ok){let e=await t.text(),n=e||"HTTP ".concat(t.status);try{let t=JSON.parse(e);n=t.error||t.message||n}catch(e){}throw Error(n)}return t.json()}async function s(e){let n=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return o("/api/kb/stats".concat(n))}async function i(e){var n,t;let s=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&s.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&s.set("category",e.category),(null==e?void 0:e.page)&&s.set("page",String(null!=(n=e.page)?n:1)),(null==e?void 0:e.limit)&&s.set("limit",String(null!=(t=e.limit)?t:50)),o("/api/kb/files?".concat(s))}async function r(e,n){let t=new URLSearchParams({relativePath:e});return n&&t.set("projectRoot",n),o("/api/kb/files/detail?".concat(t))}async function a(e,n){return o("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function c(e,n,t){return o("/api/kb/files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,target:n,projectRoot:t})})}async function l(e){return new Promise((n,t)=>{let o=new FileReader;o.onload=()=>{let e=o.result,t=e.indexOf(",");n(t>=0?e.slice(t+1):e)},o.onerror=t,o.readAsDataURL(e)})}async function d(e,n,t){return o("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:await Promise.all(e.map(async e=>({fileName:e.name,fileData:await l(e),relativePath:e.webkitRelativePath||void 0}))),projectRoot:n,uploadId:t})})}async function u(e){return o("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function p(e){let n=new URLSearchParams({limit:"50"});return e&&n.set("projectRoot",e),o("/api/kb/operations?".concat(n))}async function y(e){let n=new URLSearchParams;return e&&n.set("projectRoot",e),o("/api/kb/operations?".concat(n),{method:"DELETE"})}async function m(e,n){let t=new URLSearchParams({id:e});return n&&t.set("projectRoot",n),o("/api/kb/operations?".concat(t),{method:"DELETE"})}async function h(e,n){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function f(e,n){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePaths:e,projectRoot:n})})}async function x(e){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({all:!0,projectRoot:e})})}async function g(e){return o("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function j(){return o("/api/kb/features")}async function v(e,n){var t,s,i,r,a;let c=new URLSearchParams({q:e});return(null==n?void 0:n.projectRoot)&&c.set("projectRoot",n.projectRoot),(null==n?void 0:n.category)&&c.set("category",n.category),(null==n?void 0:n.limit)&&c.set("limit",String(null!=(a=n.limit)?a:20)),(null==n||null==(t=n.weights)?void 0:t.keyword)!=null&&c.set("keywordWeight",String(n.weights.keyword)),(null==n||null==(s=n.weights)?void 0:s.vector)!=null&&c.set("vectorWeight",String(n.weights.vector)),(null==n||null==(i=n.weights)?void 0:i.rewrite)!=null&&c.set("rewriteWeight",String(n.weights.rewrite)),(null==n||null==(r=n.weights)?void 0:r.hybridBonus)!=null&&c.set("hybridBonus",String(n.weights.hybridBonus)),o("/api/kb/search?".concat(c))}async function A(){return o("/api/prompt")}async function T(e){return o("/api/documents/roles".concat(e?"?type=".concat(e):""))}async function S(e){return o("/api/documents/roles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function b(e,n){return o("/api/documents/roles?type=".concat(e,"&id=").concat(encodeURIComponent(n)),{method:"DELETE"})}async function w(e){return o("/api/documents/roles?mode=config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function C(e){return o("/api/documents/roles?mode=config&id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function E(){return o("/api/documents/specs")}async function O(e){return o("/api/documents/specs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function k(e){return o("/api/documents/specs?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function P(){return o("/api/documents/templates")}async function N(e){return o("/api/documents/templates",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function R(e){return o("/api/documents/templates?templateId=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function U(e){return o("/api/documents/templates",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:e})})}async function J(e){return o("/api/documents/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function D(){return o("/api/documents/generated")}async function I(e){return o("/api/documents/generated/".concat(encodeURIComponent(e)))}async function z(e,n){return o("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function L(e){return o("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function _(){return o("/api/assets/generated")}async function H(e){return o("/api/assets/generated?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function B(e){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"index"})})}async function F(e,n){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"open",target:n})})}async function W(e){return o("/api/documents/chapter/regenerate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function M(e,n){return o("/api/documents/drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,id:n})})}async function Q(e){let n=await fetch("/api/documents/export",{method:"POST",headers:{"Content-Type":"application/json",Accept:"pdf"===e.format?"application/pdf":"*/*"},body:JSON.stringify(e)}),t=n.headers.get("content-type")||"",o=async()=>{let e=await n.text(),t=e||"导出失败";try{var o;let n=JSON.parse(e),s=null==(o=n.issues)?void 0:o.map(e=>e.message).filter(Boolean).slice(0,3).join(";");t=s?"".concat(n.error||"导出失败",":").concat(s):n.error||t}catch(e){}throw Error(t.length>300?"".concat(t.slice(0,300),"..."):t)};return n.ok||await o(),"pdf"!==e.format||t.includes("application/pdf")||await o(),"docx"!==e.format||t.includes("officedocument.wordprocessingml.document")||await o(),n.blob()}async function V(){return o("/api/config/providers")}async function X(e,n){return o("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...n})})}async function Z(e){return o("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function q(){return o("/api/config/models")}async function G(e){return o("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function K(){return o("/api/config/embedding")}async function $(e){return o("/api/config/embedding",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function Y(){return o("/api/config/embedding/healthCheck",{method:"POST"})}async function ee(e){return o("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function en(){return o("/api/system/stats")}async function et(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return o("/api/system/logs?limit=".concat(e))}async function eo(){return o("/api/system/logs",{method:"DELETE"})}async function es(e,n){let t=n?"?type=".concat(e,"&search=").concat(encodeURIComponent(n)):"?type=".concat(e);return o("/api/context".concat(t))}async function ei(e){return o("/api/context?type=".concat(e,"&stats=1"))}async function er(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function ea(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function ec(e){return o("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function el(e,n){return o("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...n})})}async function ed(e){return o("/api/config/providers/".concat(encodeURIComponent(e)))}t.d(n,{Af:()=>M,Bh:()=>ed,CU:()=>m,Dl:()=>P,E:()=>ea,EK:()=>O,ER:()=>k,FC:()=>en,FV:()=>b,H1:()=>g,H7:()=>y,HC:()=>a,HT:()=>i,II:()=>K,JU:()=>H,NR:()=>w,OX:()=>J,PH:()=>er,QG:()=>L,QT:()=>u,Qx:()=>p,R1:()=>W,SJ:()=>f,UE:()=>Q,VW:()=>j,W2:()=>v,X8:()=>x,Z3:()=>V,_m:()=>X,a6:()=>z,aP:()=>G,bV:()=>U,bZ:()=>ee,c1:()=>d,cQ:()=>D,dd:()=>$,dg:()=>S,dw:()=>C,dx:()=>A,f$:()=>_,h0:()=>R,h1:()=>Z,hH:()=>eo,hc:()=>s,hn:()=>es,l2:()=>N,lv:()=>T,mx:()=>E,oH:()=>et,oS:()=>F,p:()=>ei,tn:()=>c,u6:()=>Y,uc:()=>B,v7:()=>I,xC:()=>r,xq:()=>h,xw:()=>ec,zo:()=>el,zr:()=>q})},27795:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>O});var o=t(65321),s=t(97109),i=t(64209),r=t(85114),a=t(2256),c=t(38770),l=t(68787),d=t(99605),u=t(54849),p=t(33442),y=t(11702),m=t(99811),h=t(520),f=t(93314),x=t(13114),g=t(29071),j=t(26631),v=t(84742),A=t(38762),T=t(8579),S=t(9020),b=t(32632),w=t(95118),C=t(24810),E=t(6578);function O(){var e,n,t,O,k,P,N,R,U,J,D,I,z;let L=(0,i.Vr)(),[_,H]=(0,s.useState)(null),[B,F]=(0,s.useState)(!0),[W,M]=(0,s.useState)(0),[Q,V]=(0,s.useState)(0),[X,Z]=(0,s.useState)(0),[q,G]=(0,s.useState)(0),[K,$]=(0,s.useState)(0),[Y,ee]=(0,s.useState)(null),en=(0,s.useCallback)(async()=>{F(!0);try{let[e,n,t,o,s,i]=await Promise.all([(0,E.FC)(),(0,E.Z3)().catch(()=>[]),(0,E.lv)().catch(()=>({roles:[],configs:[]})),(0,E.mx)().catch(()=>({specs:[]})),(0,E.Dl)().catch(()=>({templates:[]})),(0,E.II)().catch(()=>null)]);H(e),M(Array.isArray(n)?n.length:0);let r=Array.isArray(t.roles)?t.roles:[];V(r.filter(e=>"file"===e.type).length),Z(r.filter(e=>"prompt"===e.type).length),G(Array.isArray(o.specs)?o.specs.length:0),$(Array.isArray(s.templates)?s.templates.length:0),ee(i)}catch(e){}finally{F(!1)}},[]);(0,s.useEffect)(()=>{en();let e=setInterval(()=>{en()},1e4);return()=>clearInterval(e)},[en]);let et=(null!=(n=null==_?void 0:_.cpu.usagePercent)?n:0)>80?"var(--colorDanger)":(null!=(t=null==_?void 0:_.cpu.usagePercent)?t:0)>50?"var(--colorWarning)":"var(--colorOk)",eo=(null!=(O=null==_?void 0:_.memory.usagePercent)?O:0)>80?"var(--colorDanger)":(null!=(k=null==_?void 0:_.memory.usagePercent)?k:0)>50?"var(--colorWarning)":"var(--colorOk)",es=(null==_?void 0:_.tasks.total)?Math.round(_.tasks.success/_.tasks.total*100):0,ei=null==_||null==(e=_.models)?void 0:e[0];return(0,o.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("h1",{className:"pageTitle",children:L("overview.title")}),(0,o.jsx)("p",{className:"pageDesc",children:L("overview.description")})]}),(0,o.jsx)(r.Ay,{icon:(0,o.jsx)(m.A,{spin:B}),loading:B,onClick:()=>{en()},children:L("common.retry")})]}),(0,o.jsxs)(a.A,{gutter:[16,16],children:[(0,o.jsx)(c.A,{xs:24,sm:12,children:(0,o.jsx)(l.A,{size:"small",title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(h.A,{})," CPU"]}),children:(0,o.jsxs)("div",{style:{textAlign:"center"},children:[(0,o.jsx)(d.A,{type:"circle",percent:null!=(P=null==_?void 0:_.cpu.usagePercent)?P:0,size:120,strokeColor:et,format:e=>"".concat(null==e?void 0:e.toFixed(1),"%")}),(0,o.jsxs)("div",{className:"text-xs mt-2",style:{color:"var(--colorTextSecondary)"},children:[null!=(N=null==_?void 0:_.cpu.cores)?N:0," ",L("overview.cores")]})]})})}),(0,o.jsx)(c.A,{xs:24,sm:12,children:(0,o.jsx)(l.A,{size:"small",title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f.A,{})," ",L("overview.memory")]}),children:(0,o.jsxs)("div",{style:{textAlign:"center"},children:[(0,o.jsx)(d.A,{type:"circle",percent:null!=(R=null==_?void 0:_.memory.usagePercent)?R:0,size:120,strokeColor:eo,format:e=>"".concat(e,"%")}),(0,o.jsxs)("div",{className:"text-xs mt-2",style:{color:"var(--colorTextSecondary)"},children:[null!=(U=null==_?void 0:_.memory.processMB)?U:0," MB / ",null!=(J=null==_?void 0:_.memory.totalMB)?J:0," MB"]})]})})})]}),(0,o.jsxs)(a.A,{gutter:[16,16],children:[(0,o.jsx)(c.A,{xs:12,sm:6,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:"运行时间",value:_?Math.floor(_.uptime/3600):0,suffix:"小时",prefix:(0,o.jsx)(x.A,{})})})}),(0,o.jsx)(c.A,{xs:12,sm:6,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:L("overview.tokensUsed"),value:null!=(D=null==_?void 0:_.tokens.total)?D:0,prefix:(0,o.jsx)(g.A,{})})})}),(0,o.jsx)(c.A,{xs:12,sm:6,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:L("overview.tasksTotal"),value:null!=(I=null==_?void 0:_.tasks.total)?I:0,prefix:(0,o.jsx)(j.A,{})})})}),(0,o.jsx)(c.A,{xs:12,sm:6,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:L("overview.successRate"),value:es,suffix:"%",prefix:es>80?(0,o.jsx)(v.A,{style:{color:"var(--colorOk)"}}):(0,o.jsx)(A.A,{style:{color:"var(--colorDanger)"}})})})})]}),(0,o.jsx)(l.A,{size:"small",title:"资源概览",children:(0,o.jsxs)(a.A,{gutter:[16,16],children:[(0,o.jsx)(c.A,{xs:24,sm:12,md:8,lg:4,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:"文件角色",value:Q,prefix:(0,o.jsx)(j.A,{style:{color:"var(--colorAccent)"}})})})}),(0,o.jsx)(c.A,{xs:24,sm:12,md:8,lg:4,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:"提示词角色",value:X,prefix:(0,o.jsx)(T.A,{style:{color:"var(--colorWarning)"}})})})}),(0,o.jsx)(c.A,{xs:24,sm:12,md:8,lg:4,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:"文档规范包",value:q,prefix:(0,o.jsx)(S.A,{style:{color:"var(--colorOk)"}})})})}),(0,o.jsx)(c.A,{xs:24,sm:12,md:8,lg:4,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:"模板",value:K,prefix:(0,o.jsx)(b.A,{style:{color:"var(--colorDanger)"}})})})}),(0,o.jsx)(c.A,{xs:24,sm:12,md:8,lg:4,children:(0,o.jsxs)(l.A,{size:"small",children:[(0,o.jsx)(u.A,{title:"Embedding",value:(null==Y?void 0:Y.provider)==="hash"?"Hash":null!=(z=null==Y?void 0:Y.provider)?z:"—",prefix:(0,o.jsx)(w.A,{style:{color:"var(--colorAccent)"}})}),(null==Y?void 0:Y.model)&&(0,o.jsxs)("div",{className:"text-xs mt-1",style:{color:"var(--colorTextSecondary)"},children:[Y.model,Y.dimensions?" \xb7 ".concat(Y.dimensions,"维"):""]})]})}),(0,o.jsx)(c.A,{xs:24,sm:12,md:8,lg:4,children:(0,o.jsx)(l.A,{size:"small",children:(0,o.jsx)(u.A,{title:"模型供应商",value:W,prefix:(0,o.jsx)(C.A,{style:{color:"var(--colorAccent)"}})})})})]})}),(0,o.jsxs)(a.A,{gutter:[16,16],children:[(0,o.jsx)(c.A,{xs:24,sm:12,children:(0,o.jsx)(l.A,{size:"small",title:L("overview.topModel"),style:{height:"100%"},children:ei?(0,o.jsxs)("div",{className:"flex items-center gap-4",children:[(0,o.jsx)(x.A,{style:{fontSize:24,color:"var(--colorAccent)"}}),(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{className:"font-semibold",children:ei.model}),(0,o.jsxs)("div",{style:{color:"var(--colorTextSecondary)",fontSize:12},children:["@",ei.provider," — ",ei.count," ",L("overview.calls")]})]})]}):(0,o.jsx)("span",{style:{color:"var(--colorTextSecondary)"},children:L("common.noData")})})}),(0,o.jsx)(c.A,{xs:24,sm:12,children:(0,o.jsx)(l.A,{size:"small",title:L("overview.taskTypes"),style:{height:"100%"},children:(null==_?void 0:_.tasks.types)&&Object.keys(_.tasks.types).length>0?(0,o.jsx)(p.A,{wrap:!0,children:Object.entries(_.tasks.types).map(e=>{let[n,t]=e;return(0,o.jsxs)(y.A,{children:[n.slice(0,30),": ",t]},n)})}):(0,o.jsx)("span",{style:{color:"var(--colorTextSecondary)"},children:L("common.noData")})})})]})]})}},53139:(e,n,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/overview",function(){return t(27795)}])}},e=>{e.O(0,[4260,4277,4123,9958,2427,636,6593,8792],()=>e(e.s=53139)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1026],{12887:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{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"}}]},name:"file-text",theme:"outlined"}},23793:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"}},23830:(e,t)=>{"use strict";t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"}},26631:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var i=r(97109),o=r(12887),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e}).apply(this,arguments)}let a=i.forwardRef((e,t)=>i.createElement(n.A,s({},e,{ref:t,icon:o.A})))},27549:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/prompt",function(){return r(34508)}])},29606:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var i=r(97109),o=r(23830),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e}).apply(this,arguments)}let a=i.forwardRef((e,t)=>i.createElement(n.A,s({},e,{ref:t,icon:o.A})))},34508:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>O});var i=r(65321),o=r(97109),n=r(64209),s=r(17807),a=r(42700),c=r(33442),l=r(11702),d=r(85114),p=r(84253),h=r(68787),m=r(56985),f=r(26171),u=r(34052),y=r(7576),x=r(29606),g=r(54746),j=r(26631),v=r(99650),w=r(58209);async function A(){let e=await fetch("/api/prompt");if(!e.ok)throw Error("Failed");return e.json()}async function S(e,t){let r=await fetch("/api/prompt",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:e,content:t})});if(!r.ok)throw Error("Failed");return r.json()}async function b(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create",projectRoot:e,content:"# CUSTOMIZE\n"})});if(!t.ok)throw Error("Failed");return t.json()}async function z(e,t){let r=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"createCustom",name:e,content:t})});if(!r.ok)throw Error("Failed");return r.json()}async function C(e){let t=await fetch("/api/prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"select",selectedIds:e})});if(!t.ok)throw Error("Failed");return t.json()}function O(){let e=(0,n.Vr)(),{message:t}=s.A.useApp(),[r,O]=(0,o.useState)(!0),[H,T]=(0,o.useState)([]),[k,E]=(0,o.useState)(!1),[F,N]=(0,o.useState)(null),[P,R]=(0,o.useState)(""),[M,_]=(0,o.useState)(""),[B,W]=(0,o.useState)(!1),[I,V]=(0,o.useState)(!1),J=async()=>{O(!0);try{T(await A())}catch(r){t.error(e("common.error"))}finally{O(!1)}};(0,o.useEffect)(()=>{J()},[]);let L=r=>{if(null==r?void 0:r.projectRoot)return void b(r.projectRoot).then(()=>{t.success(e("common.success")),J()}).catch(()=>t.error(e("common.error")));N(null),V(!0),_(""),R(""),E(!0)},D=async()=>{if(!M.trim())return void t.error("请输入名称");W(!0);try{F?await S(F.customizePath,P):await z(M.trim(),P||"# ".concat(M.trim(),"\n")),t.success(e("common.success")),E(!1),await J()}catch(r){t.error(e("common.error"))}finally{W(!1)}},U=async(r,i)=>{let o=i?Array.from(new Set([...H.filter(e=>e.selected).map(e=>e.id),r.id])):H.filter(e=>e.selected&&e.id!==r.id).map(e=>e.id);try{await C(o),T(e=>e.map(e=>({...e,selected:o.includes(e.id)})))}catch(r){t.error(e("common.error"))}},X=async r=>{try{if(!(await fetch("/api/prompt",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:r.projectId,filePath:r.customizePath})})).ok)throw Error("Failed");t.success(e("common.success")),await J()}catch(r){t.error(e("common.error"))}},Z=H.find(e=>e.isCurrent);return r?(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:300},children:(0,i.jsx)(a.A,{size:"large"})}):(0,i.jsxs)("div",{className:"space-y-5 animateFadeIn",children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h1",{className:"pageTitle",children:e("nav.promptManagement")}),(0,i.jsx)("p",{className:"pageDesc",children:e("prompt.description")})]}),(0,i.jsxs)(c.A,{children:[Z&&(0,i.jsxs)(l.A,{color:"green",style:{lineHeight:"22px"},children:[(0,i.jsx)(x.A,{})," ",Z.projectRoot]}),(0,i.jsx)(d.Ay,{type:"primary",icon:(0,i.jsx)(g.A,{}),onClick:()=>L(),children:"创建提示词"})]})]}),0===H.length?(0,i.jsx)(p.A,{description:e("prompt.noProjects")}):(0,i.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:12},children:H.map((e,t)=>(0,i.jsxs)(h.A,{size:"small",hoverable:!0,style:{minWidth:0},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:8,marginBottom:6},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0,flex:1},children:[(0,i.jsx)(j.A,{style:{color:e.isCurrent?"var(--colorOk)":"var(--colorAccent)",fontSize:14,flexShrink:0}}),(0,i.jsx)("span",{style:{fontWeight:600,fontSize:13,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.projectName})]}),!e.hasFile&&e.projectRoot&&(0,i.jsx)(d.Ay,{size:"small",icon:(0,i.jsx)(g.A,{}),onClick:()=>L(e)})]}),e.projectRoot&&(0,i.jsxs)("div",{style:{fontSize:11,color:"var(--colorTextSecondary)",marginBottom:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[(0,i.jsx)(x.A,{style:{marginRight:4}}),e.projectRoot]}),(0,i.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,marginBottom:6},children:[e.isCurrent&&(0,i.jsx)(l.A,{color:"green",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"当前项目"}),e.id.startsWith("builtin:")&&(0,i.jsx)(l.A,{color:"gold",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"内置"}),!e.id.startsWith("builtin:")&&"custom"===e.source&&(0,i.jsx)(l.A,{color:"cyan",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"自定义"}),e.selected&&(0,i.jsx)(l.A,{color:"purple",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"已选中"}),e.hasFile?(0,i.jsx)(l.A,{color:"blue",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"有文件"}):(0,i.jsx)(l.A,{color:"default",style:{margin:0,fontSize:10,lineHeight:"16px"},children:"无文件"})]}),e.hasFile&&e.content&&(0,i.jsxs)("div",{style:{padding:6,background:"var(--colorFillAlter)",borderRadius:6,fontSize:11,maxHeight:60,overflow:"hidden",color:"var(--colorTextSecondary)",whiteSpace:"pre-wrap",fontFamily:"monospace",marginBottom:6,lineHeight:1.4},children:[e.content.slice(0,150),e.content.length>150?"...":""]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,paddingTop:6,borderTop:"1px solid var(--colorBorderSecondary)"},children:[e.hasFile&&(0,i.jsx)(m.A,{checked:e.selected,onChange:t=>{U(e,t.target.checked)},style:{fontSize:12},children:"选中"}),(0,i.jsx)("div",{style:{flex:1}}),e.hasFile&&(0,i.jsx)(d.Ay,{size:"small",icon:(0,i.jsx)(v.A,{}),onClick:()=>{N(e),V(!1),_(e.projectName),R(e.content||""),E(!0)},children:"编辑"}),(0,i.jsx)(f.A,{title:"custom"===e.source?"删除自定义提示词?":"删除项目记录及文件?",disabled:e.id.startsWith("builtin:"),onConfirm:()=>{X(e)},children:(0,i.jsx)(d.Ay,{size:"small",danger:!0,icon:(0,i.jsx)(w.A,{}),disabled:e.id.startsWith("builtin:")})})]})]},e.id))}),(0,i.jsxs)(u.A,{title:I?"创建提示词":"编辑 — ".concat((null==F?void 0:F.projectName)||""),open:k,onClose:()=>E(!1),width:800,style:{borderRadius:"12px 0 0 12px"},styles:{body:{padding:"16px 24px"},header:{borderRadius:"12px 0 0 0",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,i.jsxs)(c.A,{children:[(0,i.jsx)(d.Ay,{onClick:()=>E(!1),children:"取消"}),(0,i.jsx)(d.Ay,{type:"primary",loading:B,onClick:()=>{D()},children:e("common.save")})]}),children:[(0,i.jsx)("div",{style:{marginBottom:12},children:I?(0,i.jsx)(y.A,{placeholder:"提示词名称",value:M,onChange:e=>_(e.target.value),style:{maxWidth:400}}):(0,i.jsx)("div",{style:{fontSize:12,color:"var(--colorTextSecondary)"},children:null==F?void 0:F.customizePath})}),(0,i.jsx)(y.A.TextArea,{value:P,onChange:e=>R(e.target.value),rows:25,style:{fontFamily:"SF Mono, Monaco, Consolas, monospace",fontSize:13}})]})]})}},58209:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var i=r(97109),o=r(23793),n=r(88483);function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e}).apply(this,arguments)}let a=i.forwardRef((e,t)=>i.createElement(n.A,s({},e,{ref:t,icon:o.A})))}},e=>{e.O(0,[4260,4277,7889,1210,7576,2700,4696,6985,4052,636,6593,8792],()=>e(e.s=27549)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[199],{2290:e=>{e.exports={langIcon:"style_langIcon__TP4OY",dark:"style_dark__b9hWg",sectionTitle:"style_sectionTitle__kFQM6",sectionDesc:"style_sectionDesc__opDGs",metaText:"style_metaText__1_eoU",metaValue:"style_metaValue__uxkOj"}},24521:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>_});var l=t(65321),c=t(64209),i=t(49759),a=t(68787),n=t(11702),d=t(73340),x=t(1278);let r=(0,x.A)("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var m=t(56733),h=t(38300);let o=(0,x.A)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var j=t(2290),N=t.n(j);function _(){let e=(0,c.Vr)("settings"),{theme:s,resolvedTheme:t,setTheme:x}=(0,i.D)(),{locale:j,setLocale:_}=(0,c.x_)(),p=e=>{_(e)},v="system"===s?"system":t,y=e=>"applePill".concat(e?" applePillActive":"");return(0,l.jsxs)("div",{className:"space-y-5 max-w-2xl animateFadeIn",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{className:"pageTitle",children:e("title")}),(0,l.jsx)("p",{className:"pageDesc",children:e("description")})]}),(0,l.jsx)(a.A,{title:(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("div",{className:"statItemIcon ".concat(N().langIcon),children:(0,l.jsx)(d.A,{size:16})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-sm font-semibold ".concat(N().sectionTitle),children:e("language")}),(0,l.jsx)("div",{className:"text-xs ".concat(N().sectionDesc),children:e("languageDesc")})]})]}),children:(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)("button",{className:y("zh-CN"===j),onClick:()=>p("zh-CN"),children:"中文"}),(0,l.jsx)("button",{className:y("en-US"===j),onClick:()=>p("en-US"),children:"English"})]})}),(0,l.jsx)(a.A,{title:(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("div",{className:"statItemIcon",children:(0,l.jsx)(r,{size:16})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-sm font-semibold ".concat(N().sectionTitle),children:e("theme")}),(0,l.jsx)("div",{className:"text-xs ".concat(N().sectionDesc),children:e("themeDesc")})]})]}),children:(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsxs)("button",{className:y("light"===v),onClick:()=>x("light"),children:[(0,l.jsx)(m.A,{size:14}),e("light")]}),(0,l.jsxs)("button",{className:y("dark"===v),onClick:()=>x("dark"),children:[(0,l.jsx)(h.A,{size:14}),e("dark")]}),(0,l.jsxs)("button",{className:y("system"===v),onClick:()=>x("system"),children:[(0,l.jsx)(r,{size:14}),e("system")]})]})}),(0,l.jsx)(a.A,{title:(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("div",{className:"statItemIcon",children:(0,l.jsx)(o,{size:16})}),(0,l.jsx)("span",{className:"text-sm font-semibold ".concat(N().sectionTitle),children:e("about")})]}),children:(0,l.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:N().metaText,children:e("version")}),(0,l.jsx)(n.A,{color:"blue",children:"v0.1.0"})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:N().metaText,children:e("port")}),(0,l.jsx)("span",{className:N().metaValue,children:"17321"})]})]})})]})}},58451:(e,s,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/settings",function(){return t(24521)}])}},e=>{e.O(0,[4260,636,6593,8792],()=>e(e.s=58451)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3979],{6578:(e,n,t)=>{"use strict";async function o(e,n){let t=await fetch(e,n);if(!t.ok){let e=await t.text(),n=e||"HTTP ".concat(t.status);try{let t=JSON.parse(e);n=t.error||t.message||n}catch(e){}throw Error(n)}return t.json()}async function a(e){let n=e?"?projectRoot=".concat(encodeURIComponent(e)):"";return o("/api/kb/stats".concat(n))}async function i(e){var n,t;let a=new URLSearchParams;return(null==e?void 0:e.projectRoot)&&a.set("projectRoot",e.projectRoot),(null==e?void 0:e.category)&&a.set("category",e.category),(null==e?void 0:e.page)&&a.set("page",String(null!=(n=e.page)?n:1)),(null==e?void 0:e.limit)&&a.set("limit",String(null!=(t=e.limit)?t:50)),o("/api/kb/files?".concat(a))}async function r(e,n){let t=new URLSearchParams({relativePath:e});return n&&t.set("projectRoot",n),o("/api/kb/files/detail?".concat(t))}async function c(e,n){return o("/api/kb/files/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function s(e,n,t){return o("/api/kb/files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,target:n,projectRoot:t})})}async function d(e){return new Promise((n,t)=>{let o=new FileReader;o.onload=()=>{let e=o.result,t=e.indexOf(",");n(t>=0?e.slice(t+1):e)},o.onerror=t,o.readAsDataURL(e)})}async function l(e,n,t){return o("/api/kb/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:await Promise.all(e.map(async e=>({fileName:e.name,fileData:await d(e),relativePath:e.webkitRelativePath||void 0}))),projectRoot:n,uploadId:t})})}async function p(e){return o("/api/kb/upload/progress?id=".concat(encodeURIComponent(e)))}async function u(e){let n=new URLSearchParams({limit:"50"});return e&&n.set("projectRoot",e),o("/api/kb/operations?".concat(n))}async function y(e){let n=new URLSearchParams;return e&&n.set("projectRoot",e),o("/api/kb/operations?".concat(n),{method:"DELETE"})}async function h(e,n){let t=new URLSearchParams({id:e});return n&&t.set("projectRoot",n),o("/api/kb/operations?".concat(t),{method:"DELETE"})}async function m(e,n){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePath:e,projectRoot:n})})}async function f(e,n){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({relativePaths:e,projectRoot:n})})}async function g(e){return o("/api/kb/files",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({all:!0,projectRoot:e})})}async function w(e){return o("/api/kb/reindex",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectRoot:e})})}async function S(){return o("/api/kb/features")}async function T(e,n){var t,a,i,r,c;let s=new URLSearchParams({q:e});return(null==n?void 0:n.projectRoot)&&s.set("projectRoot",n.projectRoot),(null==n?void 0:n.category)&&s.set("category",n.category),(null==n?void 0:n.limit)&&s.set("limit",String(null!=(c=n.limit)?c:20)),(null==n||null==(t=n.weights)?void 0:t.keyword)!=null&&s.set("keywordWeight",String(n.weights.keyword)),(null==n||null==(a=n.weights)?void 0:a.vector)!=null&&s.set("vectorWeight",String(n.weights.vector)),(null==n||null==(i=n.weights)?void 0:i.rewrite)!=null&&s.set("rewriteWeight",String(n.weights.rewrite)),(null==n||null==(r=n.weights)?void 0:r.hybridBonus)!=null&&s.set("hybridBonus",String(n.weights.hybridBonus)),o("/api/kb/search?".concat(s))}async function b(){return o("/api/prompt")}async function j(e){return o("/api/documents/roles".concat(e?"?type=".concat(e):""))}async function x(e){return o("/api/documents/roles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function C(e,n){return o("/api/documents/roles?type=".concat(e,"&id=").concat(encodeURIComponent(n)),{method:"DELETE"})}async function E(e){return o("/api/documents/roles?mode=config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function O(e){return o("/api/documents/roles?mode=config&id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function N(){return o("/api/documents/specs")}async function k(e){return o("/api/documents/specs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function v(e){return o("/api/documents/specs?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function P(){return o("/api/documents/templates")}async function R(e){return o("/api/documents/templates",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function J(e){return o("/api/documents/templates?templateId=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function U(e){return o("/api/documents/templates",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:e})})}async function I(e){return o("/api/documents/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function L(){return o("/api/documents/generated")}async function A(e){return o("/api/documents/generated/".concat(encodeURIComponent(e)))}async function D(e,n){return o("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async function _(e){return o("/api/documents/generated/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function H(){return o("/api/assets/generated")}async function B(e){return o("/api/assets/generated?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function z(e){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"index"})})}async function W(e,n){return o("/api/assets/generated",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:"open",target:n})})}async function q(e){return o("/api/documents/chapter/regenerate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function F(e,n){return o("/api/documents/drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,id:n})})}async function Q(e){let n=await fetch("/api/documents/export",{method:"POST",headers:{"Content-Type":"application/json",Accept:"pdf"===e.format?"application/pdf":"*/*"},body:JSON.stringify(e)}),t=n.headers.get("content-type")||"",o=async()=>{let e=await n.text(),t=e||"导出失败";try{var o;let n=JSON.parse(e),a=null==(o=n.issues)?void 0:o.map(e=>e.message).filter(Boolean).slice(0,3).join(";");t=a?"".concat(n.error||"导出失败",":").concat(a):n.error||t}catch(e){}throw Error(t.length>300?"".concat(t.slice(0,300),"..."):t)};return n.ok||await o(),"pdf"!==e.format||t.includes("application/pdf")||await o(),"docx"!==e.format||t.includes("officedocument.wordprocessingml.document")||await o(),n.blob()}async function X(){return o("/api/config/providers")}async function V(e,n){return o("/api/config/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,...n})})}async function K(e){return o("/api/config/providers/".concat(encodeURIComponent(e)),{method:"DELETE"})}async function Z(){return o("/api/config/models")}async function G(e){return o("/api/config/models",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function M(){return o("/api/config/embedding")}async function $(e){return o("/api/config/embedding",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function Y(){return o("/api/config/embedding/healthCheck",{method:"POST"})}async function ee(e){return o("/api/config/healthCheck",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})})}async function en(){return o("/api/system/stats")}async function et(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return o("/api/system/logs?limit=".concat(e))}async function eo(){return o("/api/system/logs",{method:"DELETE"})}async function ea(e,n){let t=n?"?type=".concat(e,"&search=").concat(encodeURIComponent(n)):"?type=".concat(e);return o("/api/context".concat(t))}async function ei(e){return o("/api/context?type=".concat(e,"&stats=1"))}async function er(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"compress",type:e})})}async function ec(e){return o("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clear",type:e})})}async function es(e){return o("/api/context?id=".concat(encodeURIComponent(e)),{method:"DELETE"})}async function ed(e,n){return o("/api/context",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,...n})})}async function el(e){return o("/api/config/providers/".concat(encodeURIComponent(e)))}t.d(n,{Af:()=>F,Bh:()=>el,CU:()=>h,Dl:()=>P,E:()=>ec,EK:()=>k,ER:()=>v,FC:()=>en,FV:()=>C,H1:()=>w,H7:()=>y,HC:()=>c,HT:()=>i,II:()=>M,JU:()=>B,NR:()=>E,OX:()=>I,PH:()=>er,QG:()=>_,QT:()=>p,Qx:()=>u,R1:()=>q,SJ:()=>f,UE:()=>Q,VW:()=>S,W2:()=>T,X8:()=>g,Z3:()=>X,_m:()=>V,a6:()=>D,aP:()=>G,bV:()=>U,bZ:()=>ee,c1:()=>l,cQ:()=>L,dd:()=>$,dg:()=>x,dw:()=>O,dx:()=>b,f$:()=>H,h0:()=>J,h1:()=>K,hH:()=>eo,hc:()=>a,hn:()=>ea,l2:()=>R,lv:()=>j,mx:()=>N,oH:()=>et,oS:()=>W,p:()=>ei,tn:()=>s,u6:()=>Y,uc:()=>z,v7:()=>A,xC:()=>r,xq:()=>m,xw:()=>es,zo:()=>ed,zr:()=>Z})},39214:(e,n,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/system/logs",function(){return t(91698)}])},91698:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>S});var o=t(65321),a=t(97109),i=t(35292),r=t(9137),c=t(11702),s=t(33442),d=t(85114),l=t(26171),p=t(85493),u=t(68787),y=t(7576),h=t(21289),m=t(84253),f=t(6578);let{Text:g,Paragraph:w}=i.A;function S(){let[e,n]=(0,a.useState)([]),[t,i]=(0,a.useState)(!1),[S,T]=(0,a.useState)(""),b=async()=>{i(!0);try{let e=await (0,f.oH)(500);n(e.logs)}catch(e){r.Ay.error(e instanceof Error?e.message:"加载日志失败")}finally{i(!1)}};(0,a.useEffect)(()=>{b()},[]);let j=(0,a.useMemo)(()=>{let n=S.trim().toLowerCase();return n?e.filter(e=>[e.id,e.level,e.source,e.functionName,e.message,e.stack].filter(Boolean).some(e=>String(e).toLowerCase().includes(n))):e},[S,e]),x=[{title:"序号",key:"index",width:70,render:(e,n,t)=>t+1},{title:"时间",dataIndex:"createdAt",width:180,render:e=>new Date(e).toLocaleString()},{title:"级别",dataIndex:"level",width:90,render:e=>(0,o.jsx)(c.A,{color:"error"===e?"error":"warn"===e?"warning":"blue",children:e})},{title:"来源",dataIndex:"source",width:220,render:e=>(0,o.jsx)(g,{code:!0,children:e})},{title:"函数",dataIndex:"functionName",width:180,render:e=>e?(0,o.jsx)(g,{code:!0,children:e}):(0,o.jsx)(g,{type:"secondary",children:"-"})},{title:"错误信息",dataIndex:"message",render:e=>(0,o.jsx)(w,{className:"mb-0",style:{maxWidth:520,overflowWrap:"anywhere",wordBreak:"break-all"},ellipsis:{rows:2,expandable:!0,symbol:"展开"},children:e})},{title:"Request ID",dataIndex:"id",width:210,render:e=>(0,o.jsx)(g,{copyable:!0,code:!0,children:e})}];return(0,o.jsxs)("div",{className:"space-y-4",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between gap-4 flex-wrap",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("h1",{className:"pageTitle",children:"系统日志"}),(0,o.jsx)("p",{className:"pageDesc",children:"查看 API 异常、模型健康检查失败、PDF 降级等运行时问题。"})]}),(0,o.jsxs)(s.A,{wrap:!0,children:[(0,o.jsx)(d.Ay,{onClick:()=>void b(),loading:t,children:"刷新"}),(0,o.jsx)(l.A,{title:"确认清空所有错误日志?",onConfirm:()=>{(async()=>{await (0,f.hH)(),r.Ay.success("已清空"),await b()})()},children:(0,o.jsx)(d.Ay,{danger:!0,children:"清空日志"})})]})]}),(0,o.jsx)(p.A,{type:"info",showIcon:!0,message:"日志保存在本机 ~/.customize-agent/logs/errors.jsonl,最多读取最近 500 条。"}),(0,o.jsx)(u.A,{size:"small",children:(0,o.jsxs)(s.A,{direction:"vertical",className:"w-full",size:"middle",children:[(0,o.jsx)(y.A.Search,{allowClear:!0,placeholder:"搜索 requestId / source / function / message / stack",value:S,onChange:e=>T(e.target.value)}),(0,o.jsx)(h.A,{rowKey:"id",loading:t,dataSource:j,columns:x,locale:{emptyText:(0,o.jsx)(m.A,{description:"暂无错误日志"})},pagination:{pageSize:20,showSizeChanger:!0},expandable:{expandedRowRender:e=>(0,o.jsxs)(s.A,{direction:"vertical",className:"w-full",size:"small",children:[e.request&&(0,o.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",margin:0},children:JSON.stringify(e.request,null,2)}),void 0!==e.meta&&(0,o.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",margin:0},children:JSON.stringify(e.meta,null,2)}),e.stack&&(0,o.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",margin:0},children:e.stack})]})}})]})})]})}}},e=>{e.O(0,[4260,4277,7889,1210,7576,9551,2700,4696,9189,6985,7150,5292,1289,861,636,6593,8792],()=>e(e.s=39214)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- .style_cardMeta__6KOa3{color:var(--colorTextSecondary);font-size:12px;min-width:0}.style_cardName__WcLAf{font-weight:600;color:var(--colorText);text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.style_cardAction__XUfPD{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;min-width:0}.style_cardMain__qI1jU{min-width:0;flex:1}.style_providerCard__tLKGs,.style_providerGrid__Gx5GR .ant-card-body{height:100%}.style_urlLine__DuMYs{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.style_tierDesc__wOd6p{color:var(--colorTextSecondary);font-size:12px;display:block;margin-bottom:8px}.style_modelTags__nmMVj{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
@@ -1 +0,0 @@
1
- .style_featureLabel__XFSTX{color:var(--colorTextSecondary)}.style_featureValue__I_wMP{color:var(--colorText)}.style_filterInput__4_Elu{width:260px}.style_filterSelect__vUBJ9{width:140px}.style_statusCard__H7Mee .ant-card-head{min-height:auto;padding:6px 12px}.style_statusCard__H7Mee .ant-card-body,.style_statusCard__H7Mee .ant-card-extra,.style_statusCard__H7Mee .ant-card-head-title{padding:0}.style_statusFileIcon__t1ezs{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--colorFillSecondary);color:var(--colorTextSecondary);flex-shrink:0}.style_statusEmpty__8LWzH{color:var(--colorTextQuaternary);padding:12px 10px;text-align:center;font-size:12px}.style_timelineList__dqJrz{max-height:240px;overflow-y:auto;overscroll-behavior:contain;padding:2px 8px}.style_timelineItem__dbuL_{position:relative;padding:5px 8px;border-bottom:1px solid var(--colorBorderSecondary);cursor:pointer;transition:background .12s}.style_timelineItem__dbuL_:last-child{border-bottom:none}.style_timelineItem__dbuL_:hover{background:var(--colorFillAlter)}.style_timelineRow__EDOVa{display:flex;align-items:center;gap:6px;min-height:22px}.style_timelineTitle__Yujr8{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.style_timelineTime__oFbi_{color:var(--colorTextQuaternary);font-size:11px;flex-shrink:0}.style_timelineClose__Byx_9{opacity:0;transition:opacity .12s;flex-shrink:0;font-size:12px;width:20px;height:20px}.style_timelineItem__dbuL_:hover .style_timelineClose__Byx_9{opacity:1}.style_timelineDetail__nALei{margin-top:5px;padding-left:2px;display:flex;flex-direction:column;gap:5px}.style_timelineDesc__FMjWE{color:var(--colorText);font-size:12px;line-height:1.4}.style_timelinePath__C9VQI{color:var(--colorTextSecondary);font-size:11px;background:var(--colorFillAlter);border-radius:4px;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace}.style_timelineMeta__u_pCn{display:flex;flex-wrap:wrap;gap:4px}.style_timelineMetaTag__G3jF1{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--colorTextSecondary);background:var(--colorBgContainer);border:1px solid var(--colorBorderSecondary);border-radius:4px;padding:2px 6px}.style_timelineMetaTag__G3jF1 b{color:var(--colorText)}.style_timelineExpandArrow__xIBdF{display:inline-block;transition:transform .15s;font-size:10px;color:var(--colorTextQuaternary);flex-shrink:0}.style_timelineExpandArrowOpen__TWWDC{transform:rotate(90deg)}.style_fileNameCell__EHsnt{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.style_folderRow__d7k9S td{background:var(--colorFillAlter)!important;font-variant-numeric:tabular-nums}.style_searchResultList__cVKZg{display:grid;gap:12px}.style_searchResultItem__boj6D{border:1px solid var(--colorBorderSecondary);border-radius:12px;padding:14px;background:var(--colorFillAlter)}.style_searchResultHeader__meVdJ{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.style_searchContent__XbUVk{margin:10px 0!important;white-space:pre-wrap}.style_pdfPreviewStrip__94_eG{display:flex;gap:12px;overflow-x:auto;padding:8px 0}.style_pdfPreviewStrip__94_eG img{width:220px;max-height:320px;object-fit:contain;border:1px solid var(--colorBorderSecondary);border-radius:8px;background:#fff}.style_drawingPreview__lkk_L{min-height:120px;margin-top:12px;padding:16px;border:1px dashed var(--colorBorderSecondary);border-radius:10px;background:linear-gradient(135deg,rgba(80,140,255,.08),rgba(80,255,180,.06))}
@@ -1 +0,0 @@
1
- .style_langIcon__TP4OY{background:rgba(88,86,214,.1);color:#5856d6}.style_dark__b9hWg .style_langIcon__TP4OY{background:rgba(94,92,230,.15);color:#9492f0}.style_sectionTitle__kFQM6{color:var(--colorText)}.style_metaText__1_eoU,.style_sectionDesc__opDGs{color:var(--colorTextSecondary)}.style_metaValue__uxkOj{font-weight:600;color:var(--colorText)}
@@ -1 +0,0 @@
1
- :root{--colorBg:#f5f5f7;--colorBgElevated:#ffffff;--colorBgSecondary:rgba(255,255,255,0.64);--colorText:#1d1d1f;--colorTextSecondary:#6e6e73;--colorTextTertiary:#aeaeb2;--colorBrand:#007aff;--colorBrandHover:#0a84ff;--colorBrand2:#5856d6;--colorDanger:#ff3b30;--colorOk:#34c759;--colorWarn:#ff9500;--glassBg:rgba(255,255,255,0.72);--glassBlur:saturate(180%) blur(22px);--borderColor:rgba(60,60,67,0.16);--borderColorStrong:rgba(60,60,67,0.26);--shadowSoft:0 8px 24px rgba(0,0,0,0.06);--shadowCard:0 18px 45px rgba(0,0,0,0.08);--shadowButton:0 4px 14px rgba(0,122,255,0.25);--radiusSm:10px;--radiusMd:14px;--radiusLg:20px;--radiusPill:100px;--sidebarWidth:240px;--fontSans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif}.dark{--colorBg:#1c1c1e;--colorBgElevated:#2c2c2e;--colorBgSecondary:rgba(255,255,255,0.08);--colorText:#f5f5f7;--colorTextSecondary:#98989d;--colorTextTertiary:#6e6e73;--colorBrand:#0a84ff;--colorBrandHover:#409cff;--colorBrand2:#5e5ce6;--colorDanger:#ff453a;--colorOk:#30d158;--colorWarn:#ff9f0a;--glassBg:rgba(28,28,30,0.72);--borderColor:rgba(255,255,255,0.12);--borderColorStrong:rgba(255,255,255,0.2);--shadowSoft:0 8px 24px rgba(0,0,0,0.24);--shadowCard:0 18px 45px rgba(0,0,0,0.32);--shadowButton:0 4px 14px rgba(10,132,255,0.3)}*,:after,:before{box-sizing:border-box}html{font-family:var(--fontSans);background:var(--colorBg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.appShellPlaceholder{min-height:100vh;background:var(--colorBg)}body{margin:0;min-height:100vh;font-family:var(--fontSans);color:var(--colorText);background:radial-gradient(circle at 15% 0,rgba(0,122,255,.07),transparent 28rem),radial-gradient(circle at 85% 8%,rgba(88,86,214,.05),transparent 26rem),linear-gradient(180deg,rgba(251,251,253,1) 0,var(--colorBg) 100%)}.dark body{background:radial-gradient(circle at 15% 0,rgba(10,132,255,.06),transparent 28rem),radial-gradient(circle at 85% 8%,rgba(94,92,230,.04),transparent 26rem),linear-gradient(180deg,rgba(28,28,30,.98) 0,var(--colorBg) 100%)}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--borderColor);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--borderColorStrong)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animateFadeIn{animation:fadeIn .3s ease-out}.flex{display:flex}.inline-block{display:inline-block}.block{display:block}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:2px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.space-y-2>*+*{margin-top:8px}.space-y-5>*+*{margin-top:20px}.space-y-6>*+*{margin-top:24px}.mt-2{margin-top:8px}.mb-4{margin-bottom:16px}.py-16{padding-top:64px;padding-bottom:64px}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-2xl{max-width:672px}.max-w-\[400px\]{max-width:400px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs{font-size:12px;line-height:1.4}.text-sm{font-size:14px;line-height:1.45}.font-semibold{font-weight:600}.text-\[var\(--colorOk\)\]{color:var(--colorOk)}.text-\[var\(--colorDanger\)\]{color:var(--colorDanger)}.routeProgress{position:fixed;top:0;left:var(--sidebarWidth);right:0;height:3px;z-index:1000;background:linear-gradient(90deg,var(--colorPrimary),var(--colorAccent));animation:routeProgress .9s ease-in-out infinite}.routeLoadingCard{margin-bottom:16px;border:1px solid var(--borderSoft);border-radius:16px;padding:14px 16px;color:var(--textSecondary);background:var(--surfaceElevated)}@keyframes routeProgress{0%{transform:scaleX(.15);transform-origin:left;opacity:.65}50%{transform:scaleX(.7);transform-origin:left;opacity:1}to{transform:scaleX(1);transform-origin:left;opacity:.35}}@media (max-width:1024px){:root{--sidebarWidth:200px}}@media (max-width:860px){:root{--sidebarWidth:72px}.sidebarLogo{padding:16px;justify-content:center}.sidebarFooter,.sidebarItem span:not(.sidebarChevron),.sidebarLogoSub,.sidebarLogoTitle{display:none}.sidebarItem{justify-content:center;padding:11px}.sidebarSubmenu{padding-left:0}.sidebarSubItem{padding-left:11px}.mainInner{padding:20px}.topbar{padding:10px 16px;margin:10px 12px 0}}@media (max-width:640px){.sidebar{left:6px;top:6px;bottom:6px}.mainContent{margin-left:72px}.mainInner{padding:12px}.topbar{margin:8px 8px 0;padding:8px 12px;border-radius:16px}}.sidebar{position:fixed;left:12px;top:12px;bottom:12px;width:calc(var(--sidebarWidth) - 16px);display:flex;flex-direction:column;z-index:20;background:linear-gradient(180deg,color-mix(in srgb,var(--glassBg) 92%,white 8%),var(--glassBg));border:1px solid color-mix(in srgb,var(--borderColor) 58%,transparent);border-radius:24px;backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur);box-shadow:var(--shadowCard),inset 0 1px 0 rgba(255,255,255,.5);overflow:hidden;transition:width .22s ease,transform .22s ease}.sidebarCollapsedSelf{width:64px}.sidebarLogo{display:flex;align-items:center;gap:12px;padding:18px 18px 16px;border-bottom:1px solid color-mix(in srgb,var(--borderColor) 48%,transparent)}.sidebarLogoTitle{font-size:15px;font-weight:800;letter-spacing:-.035em;line-height:1.15}.logoGradient{background:linear-gradient(135deg,#007aff,#5856d6 50%,#af52de);-webkit-background-clip:text;background-clip:text}.dark .logoGradient,.logoGradient{-webkit-text-fill-color:transparent}.dark .logoGradient{background:linear-gradient(135deg,#0a84ff,#5e5ce6 50%,#bf5af2);-webkit-background-clip:text;background-clip:text}.sidebarLogoSub{margin-top:3px;font-size:10.5px;letter-spacing:.02em;color:var(--colorTextSecondary)}.sidebarCollapseBtn{margin:10px 12px 4px;height:34px;border-radius:14px;border:1px solid var(--borderColor);background:color-mix(in srgb,var(--glassBg) 86%,white 14%);color:var(--colorTextSecondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s ease}.sidebarCollapseBtn:hover{color:var(--colorText);border-color:color-mix(in srgb,var(--colorBrand) 42%,var(--borderColor));box-shadow:0 8px 18px rgba(0,122,255,.12)}.sidebarCollapsedSelf .sidebarLogo{justify-content:center;padding:16px 8px}.sidebarCollapsedSelf .sidebarChevron,.sidebarCollapsedSelf .sidebarFooter,.sidebarCollapsedSelf .sidebarItem span:not(.sidebarChevron),.sidebarCollapsedSelf .sidebarLogoSub,.sidebarCollapsedSelf .sidebarLogoTitle{display:none}.sidebarCollapsedSelf .sidebarItem{justify-content:center;padding:11px}.sidebarCollapsedSelf .sidebarCollapseBtn{margin:10px}.sidebarNav{flex:1;padding:16px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebarItem{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;font-size:14px;font-weight:500;color:var(--colorTextSecondary);transition:all .15s ease;cursor:pointer}.sidebarItem:hover{background:color-mix(in srgb,var(--colorBrand) 10%,transparent);color:var(--colorText);transform:translateX(2px)}.dark .sidebarItem:hover{background:color-mix(in srgb,var(--colorBrand) 16%,transparent)}.sidebarItemActive,.sidebarItemActive:hover{background:linear-gradient(180deg,var(--colorBrandHover),var(--colorBrand));color:#ffffff;box-shadow:0 8px 22px rgba(0,122,255,.22);transform:none}.dark .sidebarItemActive,.dark .sidebarItemActive:hover{background:linear-gradient(180deg,var(--colorBrandHover),var(--colorBrand));color:#ffffff;box-shadow:0 8px 24px rgba(10,132,255,.28)}.sidebarFooter{padding:16px 20px;border-top:1px solid var(--borderColor);font-size:11px;color:var(--colorTextSecondary)}.sidebarParent{justify-content:flex-start}.sidebarChevron{margin-left:auto;display:flex;align-items:center;opacity:.5}.sidebarSubmenu{padding-left:16px;display:flex;flex-direction:column;gap:2px}.sidebarSubItem{padding-left:16px;font-size:13px}.topbar{position:sticky;top:14px;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:14px 24px 0;padding:10px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--glassBg) 92%,white 8%),var(--glassBg));border:1px solid var(--borderColor);border-radius:22px;box-shadow:var(--shadowSoft),inset 0 1px 0 rgba(255,255,255,.42);backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur)}.topbarBtn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radiusMd);border:1px solid var(--borderColor);background:rgba(255,255,255,.88);color:var(--colorTextSecondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.dark .topbarBtn{background:rgba(255,255,255,.08)}.topbarBtn:hover{border-color:rgba(0,122,255,.35);color:var(--colorText);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,122,255,.1),inset 0 0 0 1px rgba(255,255,255,.25)}.mainContent{margin-left:var(--sidebarWidth);flex:1;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .22s ease}.sidebarCollapsed .mainContent{margin-left:88px}.mainInner{flex:1;padding:clamp(16px,2.5vw,40px);width:100%;overflow-x:hidden}.applePill{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radiusMd);font-size:13px;font-weight:600;border:1px solid var(--borderColor);cursor:pointer;transition:all .15s ease;background:rgba(255,255,255,.88);color:var(--colorTextSecondary);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.dark .applePill{background:rgba(255,255,255,.08)}.applePill:hover{border-color:rgba(0,122,255,.35);color:var(--colorText)}.applePillActive{background:#1d1d1f;color:#ffffff;border-color:transparent;box-shadow:none}.dark .applePillActive{background:rgba(255,255,255,.9);color:#1c1c1e}.applePillActive:hover{border-color:transparent;color:#ffffff}.dark .applePillActive:hover{color:#1c1c1e}.statItem{gap:12px;padding:4px}.statItem,.statItemIcon{display:flex;align-items:center}.statItemIcon{width:40px;height:40px;border-radius:10px;flex-shrink:0;justify-content:center;background:rgba(0,122,255,.08);color:var(--colorBrand)}.statItemValue{font-size:24px;font-weight:700;line-height:1.1;color:var(--colorText)}.statItemLabel{font-size:12px;color:var(--colorTextSecondary);margin-top:1px}.pageTitle{font-size:22px;font-weight:700;letter-spacing:-.015em;color:var(--colorText);margin:0}.pageDesc{margin-top:4px;font-size:14px;color:var(--colorTextSecondary)}.ant-card{background:linear-gradient(180deg,color-mix(in srgb,var(--glassBg) 92%,white 8%),var(--glassBg))!important;border:1px solid color-mix(in srgb,var(--borderColor) 46%,transparent)!important;border-radius:24px!important;box-shadow:var(--shadowSoft),inset 0 1px 0 rgba(255,255,255,.38)!important;backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ant-card:hover{border-color:color-mix(in srgb,var(--colorBrand) 14%,var(--borderColor))!important;box-shadow:var(--shadowCard),inset 0 1px 0 rgba(255,255,255,.5)!important;transform:translateY(-1px)}.ant-card .ant-card-head{border-bottom-color:var(--borderColor)!important}.ant-modal-content{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radiusLg)!important}.ant-table-wrapper .ant-table{border-radius:16px;overflow:hidden}.ant-table-thead>tr>th{font-size:12px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.05em}.ant-table-cell{font-size:13px}.ant-btn-primary{box-shadow:var(--shadowButton)!important}.ant-spin-dot-item{background-color:var(--colorBrand)!important}.ant-tag{border-radius:var(--radiusPill)!important;font-size:12px!important}