3 lines
51 KiB
JavaScript
3 lines
51 KiB
JavaScript
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78536,(e,t,r)=>{"use strict";function s({widthInt:e,heightInt:t,blurWidth:r,blurHeight:a,blurDataURL:i,objectFit:n}){let l=r?40*r:e,o=a?40*a:t,d=l&&o?`viewBox='0 0 ${l} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===n?"xMidYMid":"cover"===n?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return s}})},7546,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return n}};for(var a in s)Object.defineProperty(r,a,{enumerable:!0,get:s[a]});let i=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},87128,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(7507);let s=e.r(74339),a=e.r(78536),i=e.r(7546),n=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function o(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:u=!1,loading:m,className:g,quality:h,width:p,height:x,fill:f=!1,style:b,overrideSrc:v,onLoad:y,onLoadingComplete:j,placeholder:w="empty",blurDataURL:N,fetchPriority:k,decoding:_="async",layout:A,objectFit:C,objectPosition:S,lazyBoundary:P,lazyRoot:I,...R},E){var O;let M,z,L,{imgConf:H,showAltText:T,blurComplete:G,defaultLoader:D}=E,B=H||i.imageConfigDefault;if("allSizes"in B)M=B;else{let e=[...B.deviceSizes,...B.imageSizes].sort((e,t)=>e-t),t=B.deviceSizes.sort((e,t)=>e-t),r=B.qualities?.sort((e,t)=>e-t);M={...B,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===D)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let U=R.loader||D;delete R.loader,delete R.srcSet;let $="__next_img_default"in U;if($){if("custom"===M.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
|
||
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=U;U=t=>{let{config:r,...s}=t;return e(s)}}if(A){"fill"===A&&(f=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[A];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[A];r&&!t&&(t=r)}let F="",W=o(p),q=o(x);if((O=e)&&"object"==typeof O&&(l(O)||void 0!==O.src)){let t=l(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(z=t.blurWidth,L=t.blurHeight,N=N||t.blurDataURL,F=t.src,!f)if(W||q){if(W&&!q){let e=W/t.width;q=Math.round(t.height*e)}else if(!W&&q){let e=q/t.height;W=Math.round(t.width*e)}}else W=t.width,q=t.height}let V=!c&&!u&&("lazy"===m||void 0===m);(!(e="string"==typeof e?e:F)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,V=!1),M.unoptimized&&(r=!0),$&&!M.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let K=o(h),Q=Object.assign(f?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:C,objectPosition:S}:{},T?{}:{color:"transparent"},b),X=G||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,a.getImageBlurSvg)({widthInt:W,heightInt:q,blurWidth:z,blurHeight:L,blurDataURL:N||"",objectFit:Q.objectFit})}")`:`url("${w}")`,Y=n.includes(Q.objectFit)?"fill"===Q.objectFit?"100% 100%":"cover":Q.objectFit,J=X?{backgroundSize:Y,backgroundPosition:Q.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},Z=function({config:e,src:t,unoptimized:r,width:a,quality:i,sizes:n,loader:l}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,s.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let s=new URLSearchParams(t.slice(r+1));s.get("dpl")||(s.append("dpl",e),t=t.slice(0,r)+"?"+s.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:o,kind:d}=function({deviceSizes:e,allSizes:t},r,s){if(s){let r=/(^|\s)(1?\d?\d)vw/g,a=[];for(let e;e=r.exec(s);)a.push(parseInt(e[2]));if(a.length){let r=.01*Math.min(...a);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,a,n),c=o.length-1;return{sizes:n||"w"!==d?n:"100vw",srcSet:o.map((r,s)=>`${l({config:e,src:t,quality:i,width:r})} ${"w"===d?r:s+1}${d}`).join(", "),src:l({config:e,src:t,quality:i,width:o[c]})}}({config:M,src:e,unoptimized:r,width:W,quality:K,sizes:t,loader:U}),ee=V?"lazy":m;return{props:{...R,loading:ee,fetchPriority:k,width:W,height:q,decoding:_,className:g,style:{...Q,...J},sizes:Z.sizes,srcSet:Z.srcSet,src:v||Z.src},meta:{unoptimized:r,preload:u||c,placeholder:w,fill:f}}}},28817,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let s=e.r(55118),a="u"<typeof window,i=a?()=>{}:s.useLayoutEffect,n=a?()=>{}:s.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let e=s.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return a&&(t?.mountedInstances?.add(e.children),l()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),n(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},27366,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={default:function(){return p},defaultHead:function(){return u}};for(var a in s)Object.defineProperty(r,a,{enumerable:!0,get:s[a]});let i=e.r(14668),n=e.r(24930),l=e.r(46882),o=n._(e.r(55118)),d=i._(e.r(28817)),c=e.r(28508);function u(){return[(0,l.jsx)("meta",{charSet:"utf-8"},"charset"),(0,l.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(7507);let g=["name","httpEquiv","charSet","itemProp"];function h(e){let t,r,s,a;return e.reduce(m,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,s=new Set,a={},e=>{let i=!0,n=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){n=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?i=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?i=!1:r.add(e.type);break;case"meta":for(let t=0,r=g.length;t<r;t++){let r=g[t];if(e.props.hasOwnProperty(r))if("charSet"===r)s.has(r)?i=!1:s.add(r);else{let t=e.props[r],s=a[r]||new Set;("name"!==r||!n)&&s.has(t)?i=!1:(s.add(t),a[r]=s)}}}return i})).reverse().map((e,t)=>{let r=e.key||t;return o.default.cloneElement(e,{key:r})})}let p=function({children:e}){let t=(0,o.useContext)(c.HeadManagerContext);return(0,l.jsx)(d.default,{reduceComponentsToState:h,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},21464,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let s=e.r(14668)._(e.r(55118)),a=e.r(7546),i=s.default.createContext(a.imageConfigDefault)},84308,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return s}});let s=e.r(14668)._(e.r(55118)).default.createContext(null)},80341,(e,t,r)=>{"use strict";function s(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,t.qualities[0]):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return s}})},97381,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}});let s=e.r(80341),a=e.r(74339);function i({config:e,src:t,width:r,quality:n}){let l=(0,a.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),s=r.get("dpl");if(s){l=s,r.delete("dpl");let a=r.toString();t=t.slice(0,e)+(a?"?"+a:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
|
||
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let o=(0,s.findClosestQuality)(n,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${o}${t.startsWith("/")&&l?`&dpl=${l}`:""}`}i.__next_img_default=!0;let n=i},75872,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return y}});let s=e.r(14668),a=e.r(24930),i=e.r(46882),n=a._(e.r(55118)),l=s._(e.r(21890)),o=s._(e.r(27366)),d=e.r(87128),c=e.r(7546),u=e.r(21464);e.r(7507);let m=e.r(84308),g=s._(e.r(97381)),h=e.r(40716),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function x(e,t,r,s,a,i,n){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&a(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let s=!1,a=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>s,isPropagationStopped:()=>a,persist:()=>{},preventDefault:()=>{s=!0,t.preventDefault()},stopPropagation:()=>{a=!0,t.stopPropagation()}})}s?.current&&s.current(e)}}))}function f(e){return n.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,n.forwardRef)(({src:e,srcSet:t,sizes:r,height:s,width:a,decoding:l,className:o,style:d,fetchPriority:c,placeholder:u,loading:m,unoptimized:g,fill:p,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:y,setShowAltText:j,sizesInput:w,onLoad:N,onError:k,..._},A)=>{let C=(0,n.useCallback)(e=>{e&&(k&&(e.src=e.src),e.complete&&x(e,u,b,v,y,g,w))},[e,u,b,v,y,k,g,w]),S=(0,h.useMergedRef)(A,C);return(0,i.jsx)("img",{..._,...f(c),loading:m,width:a,height:s,decoding:l,"data-nimg":p?"fill":"1",className:o,style:d,sizes:r,srcSet:t,src:e,ref:S,onLoad:e=>{x(e.currentTarget,u,b,v,y,g,w)},onError:e=>{j(!0),"empty"!==u&&y(!0),k&&k(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...f(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,r),null):(0,i.jsx)(o.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let y=(0,n.forwardRef)((e,t)=>{let r=(0,n.useContext)(m.RouterContext),s=(0,n.useContext)(u.ImageConfigContext),a=(0,n.useMemo)(()=>{let e=p||s||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),a=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:a,localPatterns:"u"<typeof window?s?.localPatterns:e.localPatterns}},[s]),{onLoad:l,onLoadingComplete:o}=e,h=(0,n.useRef)(l);(0,n.useEffect)(()=>{h.current=l},[l]);let x=(0,n.useRef)(o);(0,n.useEffect)(()=>{x.current=o},[o]);let[f,y]=(0,n.useState)(!1),[j,w]=(0,n.useState)(!1),{props:N,meta:k}=(0,d.getImgProps)(e,{defaultLoader:g.default,imgConf:a,blurComplete:f,showAltText:j});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{...N,unoptimized:k.unoptimized,placeholder:k.placeholder,fill:k.fill,onLoadRef:h,onLoadingCompleteRef:x,setBlurComplete:y,setShowAltText:w,sizesInput:e.sizes,ref:t}),k.preload?(0,i.jsx)(v,{isAppRouter:!r,imgAttributes:N}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88145,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={default:function(){return c},getImageProps:function(){return d}};for(var a in s)Object.defineProperty(r,a,{enumerable:!0,get:s[a]});let i=e.r(14668),n=e.r(87128),l=e.r(75872),o=i._(e.r(97381));function d(e){let{props:t}=(0,n.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=l.Image},85105,(e,t,r)=>{t.exports=e.r(88145)},96487,e=>{"use strict";var t=e.i(46882),r=e.i(55118),s=e.i(54249),a=e.i(85105),i=e.i(91759),n=e.i(49793);let l=(0,n.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),o=(0,n.default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var d=e.i(56780);let c="https://code.xinghanlab.com/",u={zh:{navLinks:[{href:"#products",label:"产品"},{href:"#workflow",label:"工作流"},{href:"#resources",label:"资源"}],login:"登录",start:"开始使用"},en:{navLinks:[{href:"#products",label:"Products"},{href:"#workflow",label:"Workflow"},{href:"#resources",label:"Resources"}],login:"Login",start:"Get started"}};e.s(["Header",0,function(){let[e,n]=(0,r.useState)(!1),{lang:m,toggle:g}=(0,d.useLang)(),h=u[m];return(0,t.jsxs)("header",{className:"fixed top-0 left-0 right-0 z-50 border-b border-border/50 bg-background/80 backdrop-blur-md",children:[(0,t.jsxs)("div",{className:"mx-auto flex h-16 max-w-7xl items-center justify-between px-4 sm:px-6 lg:px-8",children:[(0,t.jsxs)(s.default,{href:"/",className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-card/60 text-foreground",children:(0,t.jsx)(a.default,{src:"/heicode-logo.png",alt:"Heicode",width:18,height:18})}),(0,t.jsx)("span",{className:"bg-gradient-to-r from-blue-400 via-violet-400 to-purple-500 bg-clip-text text-lg font-semibold tracking-tight text-transparent",children:"Heicode"})]}),(0,t.jsx)("nav",{className:"hidden items-center gap-8 md:flex",children:h.navLinks.map(e=>(0,t.jsx)(s.default,{href:e.href,className:"text-sm text-muted-foreground transition-colors hover:text-foreground",children:e.label},e.href))}),(0,t.jsxs)("div",{className:"hidden items-center gap-3 md:flex",children:[(0,t.jsx)("button",{onClick:g,className:"rounded-md border border-border/60 px-2.5 py-1 font-mono text-xs text-muted-foreground transition-colors hover:border-accent/50 hover:text-foreground","aria-label":"Toggle language",children:"zh"===m?"EN":"中"}),(0,t.jsx)(i.Button,{variant:"ghost",size:"sm",asChild:!0,children:(0,t.jsx)("a",{href:c,target:"_blank",rel:"noreferrer",children:h.login})}),(0,t.jsx)(i.Button,{size:"sm",asChild:!0,children:(0,t.jsx)("a",{href:c,target:"_blank",rel:"noreferrer",children:h.start})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 md:hidden",children:[(0,t.jsx)("button",{onClick:g,className:"rounded-md border border-border/60 px-2 py-1 font-mono text-xs text-muted-foreground",children:"zh"===m?"EN":"中"}),(0,t.jsx)("button",{onClick:()=>n(!e),"aria-label":e?"Close menu":"Open menu",children:e?(0,t.jsx)(o,{className:"h-6 w-6"}):(0,t.jsx)(l,{className:"h-6 w-6"})})]})]}),e&&(0,t.jsx)("div",{className:"border-t border-border bg-background md:hidden",children:(0,t.jsxs)("nav",{className:"flex flex-col px-4 py-4",children:[h.navLinks.map(e=>(0,t.jsx)(s.default,{href:e.href,className:"py-3 text-sm text-muted-foreground transition-colors hover:text-foreground",onClick:()=>n(!1),children:e.label},e.href)),(0,t.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[(0,t.jsx)(i.Button,{variant:"ghost",size:"sm",className:"justify-start",asChild:!0,children:(0,t.jsx)("a",{href:c,target:"_blank",rel:"noreferrer",children:h.login})}),(0,t.jsx)(i.Button,{size:"sm",asChild:!0,children:(0,t.jsx)("a",{href:c,target:"_blank",rel:"noreferrer",children:h.start})})]})]})})]})}],96487)},25046,e=>{"use strict";var t=e.i(46882),r=e.i(54249),s=e.i(91759),a=e.i(68098),i=e.i(81696);let n=(0,e.i(49793).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var l=e.i(56780);let o={zh:{badge:"SYS.READY // 全流程智能开发平台",h1a:"从一个想法,",h1b:"到可上线的软件产品",subtitle:"Heicode 组织 AI 开发团队,接入你的代码、文档、SK 和云资源,完成需求、开发、检查、部署和后续维护。",btn1:"初始化 Heicode",btn2:"查看系统演示",flowLabel:"PIPELINE: IDEA_TO_LAUNCH",steps:["输入想法","绑定资源","AI 开发团队","执行与审批","部署上线"],tags:["Git 仓库","云资源","SK 工具包","密钥保管器","模型网关"],sysLog:["BOOT_SEQ_INIT","AUTH_VERIFIED","CONNECTING_AGNET","AWAITING_INPUT..."]},en:{badge:"SYS.READY // Full-Lifecycle AI Dev",h1a:"From an idea,",h1b:"to a shipped software product",subtitle:"Heicode orchestrates an AI dev team, connects your code, docs, SKs and cloud resources to complete planning, development, review, deployment and ongoing maintenance.",btn1:"Initialize Heicode",btn2:"View System Demo",flowLabel:"PIPELINE: IDEA_TO_LAUNCH",steps:["Input idea","Bind resources","AI dev team","Execute & approve","Deploy"],tags:["Git repo","Cloud","SK toolkit","Secret vault","Model GW"],sysLog:["BOOT_SEQ_INIT","AUTH_VERIFIED","CONNECTING_AGNET","AWAITING_INPUT..."]}};e.s(["Hero",0,function(){let{lang:e}=(0,l.useLang)(),d=o[e];return(0,t.jsxs)("section",{className:"relative overflow-hidden pt-32 pb-20 sm:pt-40 sm:pb-32",children:[(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(to_right,rgba(255,255,255,0.03)_1px,transparent_1px),linear-gradient(to_bottom,rgba(255,255,255,0.03)_1px,transparent_1px)] bg-[size:48px_48px] [mask-image:radial-gradient(ellipse_60%_60%_at_50%_40%,#000_30%,transparent_100%)]"}),(0,t.jsx)("div",{className:"pointer-events-none absolute top-10 left-1/2 -translate-x-1/2 h-[450px] w-[900px] bg-accent/15 blur-[120px] rounded-[100%] rounded-b-none"}),(0,t.jsx)("div",{className:"pointer-events-none absolute left-4 top-32 h-16 w-16 border-l-2 border-t-2 border-accent/20 opacity-50 sm:left-12"}),(0,t.jsx)("div",{className:"pointer-events-none absolute right-4 top-32 h-16 w-16 border-r-2 border-t-2 border-accent/20 opacity-50 sm:right-12"}),(0,t.jsx)("div",{className:"pointer-events-none absolute bottom-12 left-4 h-16 w-16 border-b-2 border-l-2 border-accent/20 opacity-50 sm:left-12"}),(0,t.jsx)("div",{className:"pointer-events-none absolute bottom-12 right-4 h-16 w-16 border-b-2 border-r-2 border-accent/20 opacity-50 sm:right-12"}),(0,t.jsxs)("div",{className:"relative mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:[(0,t.jsxs)("div",{className:"mx-auto max-w-4xl text-center",children:[(0,t.jsxs)("div",{className:"mb-6 inline-flex items-center gap-2 rounded-full border border-accent/30 bg-accent/5 px-4 py-1.5 font-mono text-xs font-medium text-accent tracking-widest backdrop-blur-md",children:[(0,t.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,t.jsx)("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-accent opacity-75"}),(0,t.jsx)("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-accent"})]}),d.badge]}),(0,t.jsxs)("h1",{className:"text-4xl font-extrabold tracking-tight sm:text-5xl lg:text-6xl text-balance drop-shadow-[0_0_15px_rgba(255,255,255,0.1)]",children:[d.h1a,(0,t.jsx)("br",{}),(0,t.jsx)("span",{className:"bg-gradient-to-r from-amber-200 via-yellow-400 to-accent bg-clip-text text-transparent",children:d.h1b})]}),(0,t.jsx)("p",{className:"mx-auto mt-6 max-w-2xl text-lg text-muted-foreground leading-relaxed text-pretty",children:d.subtitle}),(0,t.jsxs)("div",{className:"mt-10 flex flex-col items-center justify-center gap-5 sm:flex-row",children:[(0,t.jsx)(s.Button,{size:"lg",className:"group relative gap-2 overflow-hidden bg-accent font-mono font-semibold tracking-wide text-accent-foreground hover:bg-accent/90",asChild:!0,children:(0,t.jsxs)("a",{href:"https://code.xinghanlab.com/",target:"_blank",rel:"noreferrer",children:[(0,t.jsx)("span",{className:"absolute inset-0 bg-white/20 transition-transform duration-300 group-hover:translate-x-full [transform:skewX(-45deg)_translateX(-150%)]"}),(0,t.jsx)(n,{className:"h-4 w-4"}),d.btn1,(0,t.jsx)(a.ArrowRight,{className:"h-4 w-4 transition-transform group-hover:translate-x-1"})]})}),(0,t.jsx)(s.Button,{variant:"outline",size:"lg",className:"gap-2 border-border/80 bg-background/50 font-mono tracking-wide backdrop-blur-sm hover:border-accent/50 hover:bg-accent/10",asChild:!0,children:(0,t.jsxs)(r.default,{href:"/docs#demo",children:[(0,t.jsx)(i.CirclePlay,{className:"h-4 w-4 text-accent"}),d.btn2]})})]})]}),(0,t.jsx)("div",{className:"mx-auto mt-24 max-w-5xl",children:(0,t.jsxs)("div",{className:"group relative rounded-xl border border-accent/20 bg-card/40 shadow-[0_0_30px_rgba(var(--accent),0.05)] p-1 backdrop-blur-md transition-all hover:border-accent/40 hover:shadow-[0_0_40px_rgba(var(--accent),0.1)]",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-accent/10 bg-accent/5 px-4 py-2 font-mono text-[10px] text-muted-foreground",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-red-500/70"}),(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-yellow-500/70"}),(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-green-500/70"}),(0,t.jsx)("span",{className:"ml-2 uppercase tracking-widest",children:d.flowLabel})]}),(0,t.jsx)("div",{className:"hidden sm:flex gap-3 text-accent/70",children:d.sysLog.map(e=>(0,t.jsxs)("span",{className:"opacity-0 animate-[fade-in_2s_ease-out_forwards]",style:{animationDelay:`${2*Math.random()}s`},children:["> ",e]},e))})]}),(0,t.jsxs)("div",{className:"p-6 sm:p-8",children:[(0,t.jsx)("div",{className:"flex flex-wrap items-center justify-center gap-3",children:d.steps.map((e,r)=>(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("div",{className:"relative flex items-center gap-3 rounded-md border border-accent/20 bg-background/50 px-4 py-3 shadow-inner transition-colors group-hover:border-accent/40",children:[(0,t.jsx)("span",{className:"font-mono text-[10px] font-bold text-accent/80",children:String(r+1).padStart(2,"0")}),(0,t.jsx)("span",{className:"font-mono text-sm tracking-tight text-foreground/90",children:e}),(0,t.jsx)("span",{className:"absolute left-0 top-0 h-full w-[2px] bg-accent/0 shadow-[0_0_10px_rgba(0,0,0,0)] transition-all duration-[2000ms] ease-in-out group-hover:bg-accent group-hover:shadow-[0_0_10px_var(--accent)]"})]}),r<d.steps.length-1&&(0,t.jsx)(a.ArrowRight,{className:"h-4 w-4 shrink-0 text-accent/30"})]},e))}),(0,t.jsx)("div",{className:"mx-auto mt-8 flex max-w-3xl flex-wrap justify-center gap-3 border-t border-accent/10 pt-8 font-mono text-[11px] text-muted-foreground",children:d.tags.map(e=>(0,t.jsxs)("div",{className:"relative flex items-center gap-2 rounded border border-border/50 bg-background/30 px-3 py-1.5 transition-colors hover:border-accent/40 hover:text-accent",children:[(0,t.jsx)("span",{className:"h-1 w-1 bg-accent/50 rounded-sm"}),e]},e))})]})]})})]})]})}],25046)},70536,e=>{"use strict";var t=e.i(46882),r=e.i(56780);let s={zh:{badge:"现实问题",h2a:"AI 已经会写代码,",h2b:"但软件交付仍然很难",problems:["想法和代码之间缺少可执行路径,需求、设计、实现分散在不同工具里。","AI 工具通常无法安全使用真实的 Git 仓库、云资源和密钥。","多个 Agent 协作缺少角色定义、权限分配、状态追踪和审计。","模型用量、余额和日志分散在后台系统,难以统一管控。","部署和后续维护没有统一生命周期闭环,交付后即断链。"],answerLabel:"Heicode 的答案:",answerBody:"把想法、资源、AI 团队、权限、执行和审计整合到一个完整的生命周期平台里。用户只需登录 Heicode,输入想法,剩下的由 AI 开发团队完成。"},en:{badge:"The Problem",h2a:"AI can write code,",h2b:"but shipping software is still hard",problems:["There is no executable path between an idea and code — requirements, design and implementation are scattered across different tools.","AI tools typically cannot safely access real Git repos, cloud resources or secrets.","Multi-agent collaboration lacks role definitions, permission scoping, state tracking and audit.","Model usage, balance and logs are scattered across back-end systems with no unified control.","Deployment and ongoing maintenance have no unified lifecycle loop — the chain breaks after delivery."],answerLabel:"Heicode's answer: ",answerBody:"Unify ideas, resources, AI team, permissions, execution and audit into one complete lifecycle platform. Users only need to log in to Heicode, input an idea, and the AI dev team handles the rest."}};e.s(["Problem",0,function(){let{lang:e}=(0,r.useLang)(),a=s[e];return(0,t.jsx)("section",{className:"border-t border-border py-20 sm:py-32",children:(0,t.jsx)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,t.jsx)("p",{className:"text-sm font-medium uppercase tracking-widest text-accent",children:a.badge}),(0,t.jsxs)("h2",{className:"mt-4 text-3xl font-bold tracking-tight sm:text-4xl",children:[a.h2a,(0,t.jsx)("br",{}),(0,t.jsx)("span",{className:"text-muted-foreground",children:a.h2b})]}),(0,t.jsx)("div",{className:"mt-12 space-y-4",children:a.problems.map((e,r)=>(0,t.jsxs)("div",{className:"flex items-start gap-4 rounded-xl border border-border bg-card/30 p-5",children:[(0,t.jsx)("span",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-destructive/10 font-mono text-xs font-bold text-destructive",children:"✕"}),(0,t.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:e})]},r))}),(0,t.jsx)("div",{className:"mt-10 rounded-xl border border-accent/30 bg-accent/5 p-6",children:(0,t.jsxs)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:a.answerLabel}),a.answerBody]})})]})})})}])},60027,e=>{"use strict";var t=e.i(46882),r=e.i(49793);let s=(0,r.default)("monitor-dot",[["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M22 12.307V15a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8.693",key:"1dx6ho"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["circle",{cx:"19",cy:"6",r:"3",key:"108a5v"}]]),a=(0,r.default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var i=e.i(56780);let n={zh:{badge:"产品组成",h2:"两个界面,一套完整体验",subtitle:"客户端是主体验,Manager 是辅助控制台,用户不在网页上编码",products:[{name:"Heicode 客户端",badge:"主体验",description:"用户的主入口。在本地输入产品想法、继续任务、查看 Agnet 执行反馈、接收交付结果、审批高危操作。登录 Heicode 即可使用,无需配置模型。",features:["任务驾驶舱","高危审批","执行反馈","本地服务"]},{name:"Heicode Manager",badge:"辅助控制台",description:"浏览器端辅助控制台。负责账号与安全、客户端下载、Git 与云资源绑定、Agnet 部署、任务状态总览、模型余额与用量、审计与日志查看。",features:["资源绑定","Agnet 部署","余额与用量","审计日志"]}]},en:{badge:"Product Components",h2:"Two interfaces, one complete experience",subtitle:"The client is the main experience, Manager is the auxiliary console",products:[{name:"Heicode Client",badge:"Main experience",description:"The user's primary entry point. Input product ideas locally, continue tasks, view Agnet execution feedback, receive delivery results, approve high-risk operations. Log in to Heicode — no model configuration needed.",features:["Task dashboard","Approval flow","Exec feedback","Local service"]},{name:"Heicode Manager",badge:"Aux console",description:"Browser-based auxiliary console. Handles account & security, client download, Git & cloud resource binding, Agnet deployment, task status overview, model balance & usage, audit & log viewing.",features:["Resource binding","Agnet deploy","Balance & usage","Audit log"]}]}},l=[s,a];e.s(["Products",0,function(){let{lang:e}=(0,i.useLang)(),r=n[e];return(0,t.jsx)("section",{id:"products",className:"py-20 sm:py-32",children:(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:[(0,t.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium tracking-widest text-accent uppercase",children:r.badge}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-bold tracking-tight sm:text-4xl",children:r.h2}),(0,t.jsx)("p",{className:"mt-4 text-muted-foreground",children:r.subtitle})]}),(0,t.jsx)("div",{className:"mt-16 grid gap-8 md:grid-cols-2",children:r.products.map((e,r)=>{let s=l[r];return(0,t.jsxs)("div",{className:"group relative rounded-xl border border-border bg-card/50 p-8 transition-colors hover:border-accent/50 hover:bg-card",children:[(0,t.jsxs)("div",{className:"mb-6 flex items-center gap-3",children:[(0,t.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-lg bg-secondary",children:(0,t.jsx)(s,{className:"h-6 w-6 text-accent"})}),(0,t.jsx)("span",{className:"rounded-full bg-accent/10 px-3 py-1 text-xs font-medium text-accent",children:e.badge})]}),(0,t.jsx)("h3",{className:"text-xl font-semibold",children:e.name}),(0,t.jsx)("p",{className:"mt-3 text-sm leading-relaxed text-muted-foreground",children:e.description}),(0,t.jsx)("div",{className:"mt-6 flex flex-wrap gap-2",children:e.features.map(e=>(0,t.jsx)("span",{className:"rounded-full bg-secondary px-3 py-1 text-xs text-muted-foreground",children:e},e))})]},e.name)})})]})})}],60027)},86532,e=>{"use strict";var t=e.i(46882),r=e.i(68098),s=e.i(56780);let a={zh:{badge:"工作流程",h2:"从登录到上线,一条主流程",subtitle:"不需要直接操作 CodeGW 后台,也不需要管理密钥保管器",steps:[{step:"01",title:"登录 Heicode",desc:"注册登录 code.xinghanlab.com,进入工作区。下载客户端并完成 OAuth 授权。"},{step:"02",title:"输入产品想法",desc:"在客户端用自然语言描述要做的产品或任务。Heicode 生成需求摘要和任务草案。"},{step:"03",title:"绑定资源",desc:"在 Manager 绑定 Git 仓库、云账号、SK 工具包。凭证由密钥保管器托管,不落入代码。"},{step:"04",title:"生成 AI 开发团队",desc:"Heicode 推荐子 Agnet 角色,确认权限范围和审批规则,生成 Resource Grant。"},{step:"05",title:"执行与审批",desc:"Agnet 按需求→开发→测试→修复→部署持续推进,高危操作在客户端弹出审批。"},{step:"06",title:"交付与持续维护",desc:"Agnet 完成部署并回传交付结果。后续迭代复用上下文和权限,持续进入开发闭环。"}],footer:["客户端","Manager","Agnet 平台","CodeGW","密钥保管器"]},en:{badge:"Workflow",h2:"From login to launch, one pipeline",subtitle:"No direct CodeGW backend access or secret vault management required",steps:[{step:"01",title:"Log in to Heicode",desc:"Register and log in at code.xinghanlab.com. Download the client and complete OAuth authorization."},{step:"02",title:"Input product idea",desc:"Describe your product or task in natural language in the client. Heicode generates a requirements summary and task draft."},{step:"03",title:"Bind resources",desc:"In Manager, bind Git repos, cloud accounts, SK toolkits. Credentials are managed by the secret vault, never in code."},{step:"04",title:"Generate AI dev team",desc:"Heicode recommends sub-Agnet roles, confirms permission scope and approval rules, generates Resource Grants."},{step:"05",title:"Execute & approve",desc:"Agnets continuously push forward (plan→dev→test→fix→deploy). High-risk operations trigger client approval prompts."},{step:"06",title:"Deliver & maintain",desc:"Agnets complete deployment and return delivery results. Future iterations reuse context and permissions."}],footer:["Client","Manager","Agnet Platform","CodeGW","Secret Vault"]}};e.s(["Workflow",0,function(){let{lang:e}=(0,s.useLang)(),i=a[e];return(0,t.jsx)("section",{id:"workflow",className:"py-20 sm:py-32",children:(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:[(0,t.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium uppercase tracking-widest text-accent",children:i.badge}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-bold tracking-tight sm:text-4xl",children:i.h2}),(0,t.jsx)("p",{className:"mt-4 text-muted-foreground",children:i.subtitle})]}),(0,t.jsx)("div",{className:"mt-16 grid gap-6 sm:grid-cols-2 lg:grid-cols-3",children:i.steps.map(e=>(0,t.jsxs)("div",{className:"relative rounded-xl border border-border bg-card/50 p-6",children:[(0,t.jsx)("span",{className:"absolute top-4 right-4 font-mono text-5xl font-bold text-secondary/60",children:e.step}),(0,t.jsx)("h3",{className:"relative text-base font-semibold",children:e.title}),(0,t.jsx)("p",{className:"relative mt-2 text-sm leading-relaxed text-muted-foreground",children:e.desc})]},e.step))}),(0,t.jsx)("div",{className:"mt-10 flex items-center justify-center gap-2 text-xs text-muted-foreground",children:i.footer.map((e,s,a)=>(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"rounded-full border border-border bg-secondary/50 px-3 py-1",children:e}),s<a.length-1&&(0,t.jsx)(r.ArrowRight,{className:"h-3 w-3 text-muted-foreground/40"})]},e))})]})})}])},37536,e=>{"use strict";var t=e.i(46882),r=e.i(56765),s=e.i(79166),a=e.i(9992),i=e.i(81696),n=e.i(68098),l=e.i(54249),o=e.i(56780);let d=[r.Cable,s.LockKeyhole,a.Network,i.CirclePlay],c={zh:{badge:"平台资源层",h2:"Resources",subtitle:"Git、云账号、密钥、模型能力统一纳入可审计、可流程的授权边界",footerLink:"查看完整产品文档",resources:[{title:"资源绑定",subtitle:"Resource Binding",description:"一次授权,全流程复用。支持 Git 仓库、云账号、SK 工具包和项目文档。Agnet 按任务权限申请使用,操作有记录,权限可流程。",tags:["Git 仓库","云账号","SK 工具包","项目文档"],href:"/docs#resource-binding"},{title:"密钥保管器",subtitle:"Secret Vault",description:"长期凭证进入 OpenBao 密钥保管器,数据库只保存引用。Agnet 执行时按审批派生短期最小权限凭证,TTL 到期自动失效。",tags:["OpenBao","短期凭证","最小权限","审计日志"],href:"/docs#secret-vault"},{title:"模型网关",subtitle:"CodeGW Boundary",description:"所有模型调用统一走 CodeGW 路由,用户只见 Heicode 提供的模型,不暴露底层提供商。额度、用量和计费在网关层集中管控。",tags:["统一路由","额度管控","用量统计","计费边界"],href:"/docs#codegw"},{title:"产品演示",subtitle:"Product Demo",description:"完整五步流程:注册登录 → 下载客户端 → 输入想法 → Agnet 执行 → 查看交付结果。10 分钟跑通完整链路。",tags:["快速上手","完整流程","使用指南"],href:"/docs#demo",highlight:!0}],highlightLink:"查看完整使用指南 →"},en:{badge:"Platform Resources",h2:"Resources",subtitle:"Git, cloud accounts, secrets and model capabilities unified under auditable authorization boundaries",footerLink:"View full product documentation",resources:[{title:"Resource Binding",subtitle:"Resource Binding",description:"Authorize once, reuse across the full lifecycle. Supports Git repos, cloud accounts, SK toolkits and project docs. Agnets request access per-task permission, all operations logged, permissions revocable.",tags:["Git repo","Cloud account","SK toolkit","Project docs"],href:"/docs#resource-binding"},{title:"Secret Vault",subtitle:"Secret Vault",description:"Long-term credentials go into OpenBao secret vault; database stores only references. Agnets receive short-term least-privilege credentials at execution time, TTL expires automatically.",tags:["OpenBao","Short-term creds","Least privilege","Audit log"],href:"/docs#secret-vault"},{title:"Model Gateway",subtitle:"CodeGW Boundary",description:"All model calls route through CodeGW. Users only see Heicode-defined models, never the underlying provider. Quotas, usage and billing are centrally managed at the gateway layer.",tags:["Unified routing","Quota control","Usage stats","Billing boundary"],href:"/docs#codegw"},{title:"Product Demo",subtitle:"Product Demo",description:"Complete 5-step flow: register & login → download client → input idea → Agnet executes → view delivery. Full pipeline in 10 minutes.",tags:["Quick start","Full flow","Usage guide"],href:"/docs#demo",highlight:!0}],highlightLink:"View full usage guide →"}};e.s(["Resources",0,function(){let{lang:e}=(0,o.useLang)(),r=c[e];return(0,t.jsx)("section",{id:"resources",className:"border-y border-border bg-card/20 py-20 sm:py-32",children:(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:[(0,t.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium uppercase tracking-widest text-accent",children:r.badge}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-bold tracking-tight sm:text-4xl",children:r.h2}),(0,t.jsx)("p",{className:"mt-4 text-muted-foreground",children:r.subtitle})]}),(0,t.jsx)("div",{className:"mt-16 grid gap-6 sm:grid-cols-2 lg:gap-8",children:r.resources.map((e,s)=>{let a=d[s];return(0,t.jsxs)(l.default,{href:e.href,className:`group flex flex-col rounded-xl border bg-card/50 p-8 transition-all hover:bg-card hover:shadow-md ${e.highlight?"border-accent/40 hover:border-accent/70":"border-border hover:border-accent/40"}`,children:[(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-accent/10 text-accent",children:(0,t.jsx)(a,{className:"h-5 w-5"})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:e.title}),(0,t.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:e.subtitle})]}),(0,t.jsx)(n.ArrowRight,{className:"h-4 w-4 shrink-0 text-muted-foreground/40 transition-transform group-hover:translate-x-1 group-hover:text-accent"})]}),(0,t.jsx)("p",{className:"mt-4 text-sm leading-relaxed text-muted-foreground",children:e.description}),(0,t.jsx)("div",{className:"mt-5 flex flex-wrap gap-2",children:e.tags.map(e=>(0,t.jsx)("span",{className:"rounded-full bg-secondary px-3 py-1 text-xs text-muted-foreground",children:e},e))}),e.highlight&&(0,t.jsx)("div",{className:"mt-5 border-t border-accent/20 pt-4",children:(0,t.jsx)("span",{className:"text-sm font-medium text-accent",children:r.highlightLink})})]},e.title)})}),(0,t.jsx)("div",{className:"mt-10 text-center",children:(0,t.jsxs)(l.default,{href:"/docs",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[r.footerLink,(0,t.jsx)(n.ArrowRight,{className:"h-3.5 w-3.5"})]})})]})})}])},78193,e=>{"use strict";var t=e.i(46882),r=e.i(49793);let s=(0,r.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var a=e.i(56765);let i=(0,r.default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]),n=(0,r.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var l=e.i(56780);let o=[s,a.Cable,i,n],d={zh:{badge:"核心能力",h2:"四个核心能力",subtitle:"从想法到上线,每一环都有对应能力支撑",features:[{title:"想法转开发任务",description:"用自然语言描述产品目标,Heicode 生成需求摘要、功能清单、任务计划和需要的资源建议。不需要先写完整 PRD。"},{title:"资源绑定与权限分配",description:"接入 Git 仓库、云账号、SK 工具包和项目文档。Heicode 按角色生成 Resource Grant,Agnet 只能访问任务对应的资源。"},{title:"子 Agnet 编排与执行",description:"平台推荐子 Agnet 角色(产品、架构、前端、后端、测试、运维),在需求→开发→测试→修复→部署闭环中持续推进,可调用 SK 工具。"},{title:"安全、用量与审计闭环",description:"长期密钥进密钥保管器,Agnet 只拿短期凭证。高危操作需客户端审批。模型用量、余额和所有操作记录统一可查。"}]},en:{badge:"Core Capabilities",h2:"Four core capabilities",subtitle:"Every step from idea to launch has a corresponding capability",features:[{title:"Idea to dev task",description:"Describe your product goal in natural language. Heicode generates a requirements summary, feature list, task plan and resource recommendations. No full PRD needed upfront."},{title:"Resource binding & permission scoping",description:"Connect Git repos, cloud accounts, SK toolkits and project docs. Heicode generates Resource Grants per role — Agnets can only access resources for their assigned task."},{title:"Sub-Agnet orchestration & execution",description:"Platform recommends sub-Agnet roles (product, architecture, frontend, backend, test, ops) and drives the plan→dev→test→fix→deploy loop, calling SK tools as needed."},{title:"Security, usage & audit loop",description:"Long-term secrets go into the secret vault; Agnets only get short-term credentials. High-risk operations require client approval. Model usage, balance and all operation logs are unified and queryable."}]}};e.s(["Features",0,function(){let{lang:e}=(0,l.useLang)(),r=d[e];return(0,t.jsx)("section",{id:"features",className:"border-y border-border bg-card/30 py-20 sm:py-32",children:(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:[(0,t.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium tracking-widest text-accent uppercase",children:r.badge}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-bold tracking-tight sm:text-4xl",children:r.h2}),(0,t.jsx)("p",{className:"mt-4 text-muted-foreground",children:r.subtitle})]}),(0,t.jsx)("div",{className:"mt-16 grid gap-6 sm:grid-cols-2 lg:gap-8",children:r.features.map((e,r)=>{let s=o[r];return(0,t.jsxs)("div",{className:"relative flex gap-6 rounded-xl border border-border bg-background p-6 sm:p-8",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-accent/10 text-accent",children:(0,t.jsx)(s,{className:"h-5 w-5"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:e.title}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-muted-foreground",children:e.description})]}),(0,t.jsx)("span",{className:"absolute top-4 right-4 text-6xl font-bold text-secondary/50",children:String(r+1).padStart(2,"0")})]},e.title)})})]})})}],78193)},91642,e=>{"use strict";var t=e.i(46882),r=e.i(91759),s=e.i(68098),a=e.i(56780);let i={zh:{h2:"准备好让 AI 开发团队帮你落地了吗?",subtitle:"注册 Heicode,10 分钟内完成登录、绑定资源,启动第一个任务。",btn1:"开始使用 Heicode",btn2:"查看使用文档"},en:{h2:"Ready to let your AI dev team ship?",subtitle:"Register Heicode, complete login and resource binding in 10 minutes, launch your first task.",btn1:"Start using Heicode",btn2:"View docs"}};e.s(["CTA",0,function(){let{lang:e}=(0,a.useLang)(),n=i[e];return(0,t.jsx)("section",{className:"border-t border-border bg-card/30 py-20 sm:py-32",children:(0,t.jsx)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,t.jsx)("h2",{className:"text-3xl font-bold tracking-tight sm:text-4xl",children:n.h2}),(0,t.jsx)("p",{className:"mt-4 text-lg text-muted-foreground",children:n.subtitle}),(0,t.jsxs)("div",{className:"mt-10 flex flex-col items-center justify-center gap-4 sm:flex-row",children:[(0,t.jsx)(r.Button,{size:"lg",className:"gap-2",asChild:!0,children:(0,t.jsxs)("a",{href:"https://code.xinghanlab.com/",target:"_blank",rel:"noreferrer",children:[n.btn1,(0,t.jsx)(s.ArrowRight,{className:"h-4 w-4"})]})}),(0,t.jsx)(r.Button,{variant:"outline",size:"lg",asChild:!0,children:(0,t.jsx)("a",{href:"/docs",children:n.btn2})})]})]})})})}])},38309,e=>{"use strict";var t=e.i(46882),r=e.i(54249),s=e.i(85105),a=e.i(56780);let i={zh:{tagline1:"从一个想法,到可上线的软件产品",tagline2:"全流程 AI 开发团队平台",copyright:"保留所有权利。 taiji保留所有的权利。",categories:{产品:[{label:"Heicode Manager",href:"https://code.xinghanlab.com/"},{label:"Heicode 客户端",href:"https://code.xinghanlab.com/"},{label:"Agnet 控制面",href:"https://agnet.taijiaicloud.com/"}],资源:[{label:"文档",href:"/docs"},{label:"快速上手",href:"/docs#quickstart"},{label:"资源绑定",href:"/docs#resource-binding"},{label:"密钥保管器",href:"/docs#secret-vault"}],公司:[{label:"关于我们",href:"https://www.taijiaicloud.com/"},{label:"博客",href:"#"},{label:"加入我们",href:"#"},{label:"联系方式",href:"#"}],法律:[{label:"隐私政策",href:"/legal/privacy"},{label:"服务条款",href:"/legal/terms"},{label:"安全",href:"/legal/security"}]}},en:{tagline1:"From an idea, to a shipped software product",tagline2:"Full-lifecycle AI dev platform",copyright:"All rights reserved. All rights reserved by taiji.",categories:{Products:[{label:"Heicode Manager",href:"https://code.xinghanlab.com/"},{label:"Heicode Client",href:"https://code.xinghanlab.com/"},{label:"Agnet Console",href:"https://agnet.taijiaicloud.com/"}],Resources:[{label:"Docs",href:"/docs"},{label:"Quick start",href:"/docs#quickstart"},{label:"Resource binding",href:"/docs#resource-binding"},{label:"Secret vault",href:"/docs#secret-vault"}],Company:[{label:"About us",href:"https://www.taijiaicloud.com/"},{label:"Blog",href:"#"},{label:"Join us",href:"#"},{label:"Contact",href:"#"}],Legal:[{label:"Privacy policy",href:"/legal/privacy"},{label:"Terms of service",href:"/legal/terms"},{label:"Security",href:"/legal/security"}]}}};e.s(["Footer",0,function(){let{lang:e}=(0,a.useLang)(),n=i[e];return(0,t.jsx)("footer",{className:"border-t border-border bg-background",children:(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-4 py-12 sm:px-6 lg:px-8 lg:py-16",children:[(0,t.jsxs)("div",{className:"grid gap-8 sm:grid-cols-2 lg:grid-cols-5",children:[(0,t.jsxs)("div",{className:"lg:col-span-1",children:[(0,t.jsxs)(r.default,{href:"/",className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-card/60 text-foreground",children:(0,t.jsx)(s.default,{src:"/heicode-logo.png",alt:"Heicode",width:18,height:18})}),(0,t.jsx)("span",{className:"bg-gradient-to-r from-blue-400 via-violet-400 to-purple-500 bg-clip-text text-lg font-semibold tracking-tight text-transparent",children:"Heicode"})]}),(0,t.jsxs)("p",{className:"mt-4 text-sm leading-relaxed text-muted-foreground",children:[n.tagline1,(0,t.jsx)("br",{}),n.tagline2]})]}),Object.entries(n.categories).map(([e,s])=>(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:e}),(0,t.jsx)("ul",{className:"mt-4 space-y-3",children:s.map(e=>(0,t.jsx)("li",{children:(0,t.jsx)(r.default,{href:e.href,className:"text-sm text-muted-foreground transition-colors hover:text-foreground",children:e.label})},e.label))})]},e))]}),(0,t.jsx)("div",{className:"mt-12 border-t border-border pt-8",children:(0,t.jsxs)("p",{className:"text-sm text-muted-foreground",children:["© ",new Date().getFullYear()," Heicode. ",n.copyright]})})]})})}])}]); |