Files
heicode/website/out/_next/static/chunks/051-oln_9n0g0.js
T

1 line
35 KiB
JavaScript

(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,60645,e=>{"use strict";let t=(0,e.i(35956).default)("lock-keyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]);e.s(["LockKeyhole",0,t],60645)},3922,75835,e=>{"use strict";var t=e.i(35956);let r=(0,t.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",0,r],3922);let s=(0,t.default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["default",0,s],75835)},41874,e=>{"use strict";let t=(0,e.i(35956).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);e.s(["GitBranch",0,t],41874)},5924,e=>{"use strict";let t=(0,e.i(35956).default)("calendar-days",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);e.s(["CalendarDays",0,t],5924)},15597,e=>{"use strict";let t=(0,e.i(35956).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);e.s(["Rocket",0,t],15597)},21432,e=>{"use strict";let t=(0,e.i(35956).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,t],21432)},39629,e=>{"use strict";var t=e.i(21416),r=e.i(95599),s=e.i(96487),a=e.i(91759),n=e.i(155),i=e.i(5924),o=e.i(15597),d=e.i(65645);let l={en:{eyebrow:"Full launch",title:"Heicode goes fully live on June 5, 2026.",desc:"Register now and follow launch readiness for Client, Manager, Agnet Swarm, resource binding and audit.",date:"June 5, 2026",primary:"Register now",secondary:"Launch details",close:"Close launch announcement"},zh:{eyebrow:"全面上线",title:"Heicode 将于 2026年6月5日全面上线。",desc:"现在可以注册,并查看客户端、Manager、Agnet 蜂群、资源绑定和审计能力的上线准备。",date:"2026年6月5日",primary:"立即注册",secondary:"查看上线详情",close:"关闭上线公告"}};function c({lang:e}){let[s,m]=(0,r.useState)(!0),p=(0,r.useRef)(e),x=l[e];return((0,r.useEffect)(()=>{"zh"!==p.current&&"zh"===e&&m(!0),p.current=e},[e]),s)?(0,t.jsx)("div",{className:"fixed inset-0 z-[70] flex items-center justify-center bg-foreground/55 px-4 py-8 backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"relative w-full max-w-2xl overflow-hidden rounded-[2rem] border border-border bg-background p-6 shadow-2xl sm:p-8",children:[(0,t.jsx)("button",{type:"button","aria-label":x.close,onClick:()=>m(!1),className:"absolute right-4 top-4 rounded-full border border-border bg-card/80 p-2 text-muted-foreground transition-colors hover:text-foreground",children:(0,t.jsx)(d.X,{className:"h-5 w-5"})}),(0,t.jsx)("div",{className:"pointer-events-none absolute -right-24 -top-24 h-56 w-56 rounded-full bg-primary/15 blur-3xl"}),(0,t.jsx)("div",{className:"pointer-events-none absolute -bottom-24 -left-24 h-56 w-56 rounded-full bg-accent/15 blur-3xl"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("div",{className:"mb-5 inline-flex items-center gap-2 rounded-full border border-primary/20 bg-primary/10 px-4 py-2 text-sm font-bold text-primary",children:[(0,t.jsx)(o.Rocket,{className:"h-4 w-4"}),x.eyebrow]}),(0,t.jsxs)("div",{className:"mb-6 flex w-fit items-center gap-2 rounded-2xl bg-foreground px-4 py-3 text-background",children:[(0,t.jsx)(i.CalendarDays,{className:"h-5 w-5 text-primary"}),(0,t.jsx)("span",{className:"text-sm font-black tracking-wide",children:x.date})]}),(0,t.jsx)("h2",{className:"max-w-xl text-3xl font-black leading-tight tracking-[-0.04em] sm:text-5xl",children:x.title}),(0,t.jsx)("p",{className:"mt-4 max-w-xl text-base leading-7 text-muted-foreground sm:text-lg",children:x.desc}),(0,t.jsxs)("div",{className:"mt-8 flex flex-col gap-3 sm:flex-row",children:[(0,t.jsx)(a.Button,{className:"h-12 rounded-full bg-primary px-7 text-primary-foreground hover:bg-primary/90",asChild:!0,children:(0,t.jsxs)("a",{href:"https://agnet.taijiaicloud.com/login/",target:"_blank",rel:"noreferrer",children:[x.primary,(0,t.jsx)(n.ArrowRight,{className:"h-4 w-4"})]})}),(0,t.jsx)(a.Button,{variant:"outline",className:"h-12 rounded-full bg-card/50 px-7",asChild:!0,children:(0,t.jsx)("a",{href:"/launch",children:x.secondary})})]})]})]})}):null}var m=e.i(21432),p=e.i(60645),x=e.i(35956);let u=(0,x.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var h=e.i(50103);let g={en:{eyebrow:"From idea to production software",titleA:"One idea,",titleB:"one AI development team.",intro:"Heicode organizes sub-Agnet teams, connects your code, documents, SK skills and cloud resources, and continuously carries work through requirements, development, testing, fixes, deployment and maintenance.",primary:"Start with Heicode",secondary:"Register",bullets:["Input ideas in the client","Bind resources in Manager","Ship through Agnet"],cockpit:"Heicode Task Cockpit",project:"Small-team task management SaaS",running:"Running",inputLabel:"User input",prompt:"I want to build a small-team task management SaaS with login, projects, tasks, comments, notifications and admin, deployed to Azure.",agents:[["Product Agnet","Requirements and acceptance","Done"],["Backend Agnet","APIs and data model","Building"],["Frontend Agnet","Pages and interaction","Waiting for API"],["Ops Agnet","Deployment and observability","Approval pending"]],approvalTitle:"Production deployment requires client approval",approvalDesc:"The secret vault will derive a 15-minute short-lived credential. Sub Agnets never receive long-term secrets."},zh:{eyebrow:"从想法到上线的软件生命周期平台",titleA:"一个想法,",titleB:"一支 AI 开发团队。",intro:"Heicode 组织子 Agnet,接入你的代码、文档、SK 和云资源,持续完成需求、开发、测试、修复、部署和后续维护。",primary:"开始使用 Heicode",secondary:"注册",bullets:["客户端输入想法","Manager 绑定资源","Agnet 交付部署"],cockpit:"Heicode Task Cockpit",project:"小团队任务管理 SaaS",running:"运行中",inputLabel:"用户输入",prompt:"我想做一个小团队任务管理 SaaS,需要登录、项目、任务、评论、通知和后台管理,希望部署到 Azure。",agents:[["Product Agnet","需求和验收标准","完成"],["Backend Agnet","API 与数据模型","开发中"],["Frontend Agnet","页面与交互","等待接口"],["Ops Agnet","部署与观测","待审批"]],approvalTitle:"生产部署需要客户端审批",approvalDesc:"密钥保管器将派生 15 分钟短期凭证,子 Agnet 不接触长期密钥。"}};function b({lang:e}){let r=g[e];return(0,t.jsxs)("section",{className:"relative overflow-hidden pt-28 pb-16 sm:pt-36 sm:pb-24",children:[(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(to_right,color-mix(in_oklch,var(--foreground)_5%,transparent)_1px,transparent_1px),linear-gradient(to_bottom,color-mix(in_oklch,var(--foreground)_5%,transparent)_1px,transparent_1px)] bg-[size:42px_42px]"}),(0,t.jsx)("div",{className:"pointer-events-none absolute left-1/2 top-24 h-[420px] w-[70vw] -translate-x-1/2 rounded-full bg-primary/10 blur-[120px]"}),(0,t.jsx)("div",{className:"relative mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"grid gap-12 lg:grid-cols-[1.03fr_0.97fr] lg:items-center",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-6 inline-flex items-center gap-2 rounded-full border border-border bg-card/70 px-4 py-2 text-sm font-semibold shadow-sm backdrop-blur",children:[(0,t.jsx)(h.Sparkles,{className:"h-4 w-4 text-primary"}),r.eyebrow]}),(0,t.jsxs)("h1",{className:"max-w-4xl text-5xl font-black leading-[0.95] tracking-[-0.06em] sm:text-7xl lg:text-8xl",children:[r.titleA,(0,t.jsx)("span",{className:"block text-primary",children:r.titleB})]}),(0,t.jsx)("p",{className:"mt-7 max-w-2xl text-lg leading-8 text-muted-foreground sm:text-xl",children:r.intro}),(0,t.jsxs)("div",{className:"mt-9 flex flex-col gap-4 sm:flex-row",children:[(0,t.jsx)(a.Button,{size:"lg",className:"h-12 rounded-full bg-foreground px-7 text-background hover:bg-foreground/90",asChild:!0,children:(0,t.jsxs)("a",{href:"https://code.xinghanlab.com/",target:"_blank",rel:"noreferrer",children:[r.primary,(0,t.jsx)(n.ArrowRight,{className:"h-4 w-4"})]})}),(0,t.jsx)(a.Button,{variant:"outline",size:"lg",className:"h-12 rounded-full border-foreground/20 bg-card/50 px-7",asChild:!0,children:(0,t.jsxs)("a",{href:"https://agnet.taijiaicloud.com/login/",target:"_blank",rel:"noreferrer",children:[(0,t.jsx)(u,{className:"h-4 w-4"}),r.secondary]})})]}),(0,t.jsx)("div",{className:"mt-8 grid max-w-2xl gap-3 text-sm text-muted-foreground sm:grid-cols-3",children:r.bullets.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m.CheckCircle2,{className:"h-4 w-4 text-accent"}),e]},e))})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"absolute -left-6 -top-6 hidden h-24 w-24 rounded-full border border-primary/30 lg:block"}),(0,t.jsx)("div",{className:"rounded-[2rem] border border-foreground/10 bg-foreground p-3 shadow-2xl",children:(0,t.jsxs)("div",{className:"overflow-hidden rounded-[1.5rem] bg-[#10151d] text-white",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-5 py-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:r.cockpit}),(0,t.jsx)("p",{className:"mt-1 font-semibold",children:r.project})]}),(0,t.jsx)("span",{className:"rounded-full bg-emerald-400/15 px-3 py-1 text-xs font-semibold text-emerald-200",children:r.running})]}),(0,t.jsxs)("div",{className:"grid gap-3 p-5",children:[(0,t.jsxs)("div",{className:"rounded-2xl bg-white/[0.06] p-4",children:[(0,t.jsx)("p",{className:"text-xs text-white/45",children:r.inputLabel}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-6 text-white/85",children:r.prompt})]}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:r.agents.map(([e,r,s])=>(0,t.jsxs)("div",{className:"rounded-2xl border border-white/10 bg-white/[0.04] p-4",children:[(0,t.jsx)("p",{className:"font-semibold",children:e}),(0,t.jsx)("p",{className:"mt-1 text-xs text-white/50",children:r}),(0,t.jsx)("p",{className:"mt-4 text-xs font-semibold text-primary-foreground/90",children:s})]},e))}),(0,t.jsx)("div",{className:"rounded-2xl border border-amber-300/20 bg-amber-300/10 p-4",children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(p.LockKeyhole,{className:"mt-0.5 h-5 w-5 text-amber-200"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-semibold text-amber-100",children:r.approvalTitle}),(0,t.jsx)("p",{className:"mt-1 text-xs leading-5 text-amber-100/65",children:r.approvalDesc})]})]})})]})]})})]})]})})]})}let f=(0,x.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),y=(0,x.default)("credit-card",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);var v=e.i(3922),j=e.i(75835),j=j;let k=(0,x.default)("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"}]]),w=[(0,x.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),k,f,y,v.KeyRound,j.default],N={en:{eyebrow:"Product surfaces",title:"Users operate Heicode. The underlying systems stay in their lanes.",description:"The client is the primary experience and Manager is the auxiliary console. CodeGW, the vault, and the Agnet platform are not exposed as ordinary user backends.",products:[{name:"Heicode Client",description:"The primary user experience. Describe ideas, continue development, review Agnet execution feedback, and approve risky operations before production deploys, secret access, or cloud changes.",features:["Idea input","Task progress","Execution feedback","Risk approval"]},{name:"Heicode Manager",description:"The browser-side control console for account safety, client downloads, resource binding, Agnet deployment, task status, balance, and audit.",features:["Resource binding","Deploy Agnets","Model balance","Audit logs"]},{name:"Agnet Platform",description:"The AI development-team execution layer. It runs Product, Frontend, Backend, Reviewer, Ops, and other sub Agnets on AKS, then reports state and events back.",features:["Role teams","Continuous execution","SK calls","State callback"]},{name:"CodeGW",description:"The internal model gateway and billing foundation. Heicode only exposes the models, balance, quota, usage, and call logs ordinary users need.",features:["Model gateway","Balance quota","Call logs","No admin exposure"]},{name:"Secret Vault",description:"Credential custody backed by OpenBao. Long-lived secrets only enter the vault; sub Agnets receive short-lived, least-privilege credentials.",features:["secret_ref","Short-lived creds","Rotate and revoke","Audit trail"]},{name:"Resource Context",description:"Git, SK, documents, cloud accounts, and cloud resources become Resource Bindings and Grants that can be authorized, revoked, and audited.",features:["Git","SK","Project docs","Cloud resources"]}]},zh:{eyebrow:"Product surfaces",title:"用户只操作 Heicode,底层能力各归其位",description:"客户端是主体验,Manager 是辅助控制台;CodeGW、密钥保管器和 Agnet 平台不作为普通用户后台。",products:[{name:"Heicode 客户端",description:"用户主体验。输入想法、继续开发、查看 Agnet 执行反馈,并在生产部署、密钥访问、云操作前完成高危审批。",features:["想法输入","任务推进","执行反馈","高危审批"]},{name:"Heicode Manager",description:"浏览器辅助控制台。负责账号安全、客户端下载、资源绑定、Agnet 部署、任务状态、余额和审计。",features:["资源绑定","部署 Agnet","模型余额","审计日志"]},{name:"Agnet 平台",description:"AI 开发团队执行层。在 AKS 上运行 Product、Frontend、Backend、Reviewer、Ops 等子 Agnet,并回传状态和事件。",features:["角色团队","持续执行","SK 调用","状态回传"]},{name:"CodeGW",description:"内部模型网关和计费底座。Heicode 只展示普通用户需要的模型、余额、额度、用量和调用日志。",features:["模型网关","余额额度","调用日志","不开放后台"]},{name:"密钥保管器",description:"OpenBao 实现的凭证托管服务。长期密钥只进入密钥保管器,子 Agnet 只拿短期、最小权限凭证。",features:["secret_ref","短期凭证","轮换撤销","审计记录"]},{name:"资源上下文",description:"把 Git、SK、文档、云账号和云资源变成可授权、可撤销、可审计的 Resource Binding 和 Grant。",features:["Git","SK","项目文档","云资源"]}]}};function A({lang:e}){let r=N[e];return(0,t.jsx)("section",{id:"products",className:"py-20 sm:py-28",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-bold tracking-widest text-primary uppercase",children:r.eyebrow}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-black tracking-tight sm:text-5xl",children:r.title}),(0,t.jsx)("p",{className:"mt-4 text-muted-foreground",children:r.description})]}),(0,t.jsx)("div",{className:"mt-14 grid gap-5 md:grid-cols-2 xl:grid-cols-3",children:r.products.map((e,r)=>{let s=w[r];return(0,t.jsxs)("div",{className:"group relative overflow-hidden rounded-[1.7rem] border border-border bg-card/65 p-7 shadow-sm transition-all hover:-translate-y-1 hover:border-primary/40 hover:shadow-xl",children:[(0,t.jsx)("div",{className:"absolute -right-10 -top-10 h-28 w-28 rounded-full bg-primary/5 transition-colors group-hover:bg-primary/10"}),(0,t.jsx)("div",{className:"mb-6 flex h-12 w-12 items-center justify-center rounded-2xl bg-secondary text-primary",children:(0,t.jsx)(s,{className:"h-6 w-6"})}),(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)})})]})})}let M=(0,x.default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var S=e.i(41874),C=e.i(9808),R=e.i(21646);let H=[M,S.GitBranch,R.Workflow,C.ShieldCheck],z={en:{eyebrow:"Core abilities",title:"Four loops Heicode must close",description:"From idea, resources, team, and permissions to execution, launch, and maintenance, Heicode turns software delivery into an auditable lifecycle.",features:[{title:"Ideas become development work",description:"Users do not need a complete PRD first. Heicode turns natural-language goals into requirement summaries, task drafts, prototype notes, role suggestions, and resource needs."},{title:"Resource binding and permission assignment",description:"Git, SK, project docs, and cloud resources are modeled as Resource Bindings, then assigned to specific sub Agnet roles through Resource Grants."},{title:"Sub Agnets execute continuously",description:"Work is not thrown over the wall once. Agnets keep moving through requirements, design, development, testing, fixes, and deployment."},{title:"Usage, logs, security, and audit loop",description:"Model balance, call logs, resource access, risky approvals, and deployment records return to Heicode. Long-lived secrets never enter Git, Markdown, or logs."}]},zh:{eyebrow:"Core abilities",title:"Heicode 要闭环的四件事",description:"从想法、资源、团队、权限到执行、上线、维护,形成一条可审计的软件生命周期。",features:[{title:"想法转开发任务",description:"用户不需要先写完整 PRD。Heicode 会把自然语言目标整理成需求摘要、任务草案、原型描述、角色建议和资源需求。"},{title:"资源绑定和权限分配",description:"Git、SK、项目文档和云资源被建模为 Resource Binding,再通过 Resource Grant 分配给具体子 Agnet 角色。"},{title:"子 Agnet 持续执行",description:"不是一次性把任务丢出去,而是在需求、设计、开发、测试、修复、部署的子环节中持续调用 Agnet 推进。"},{title:"用量、日志、安全和审计闭环",description:"模型余额、调用日志、资源访问、高危审批、部署记录统一回到 Heicode,长期密钥不进入 Git、Markdown 或日志。"}]}};function G({lang:e}){let r=z[e];return(0,t.jsx)("section",{id:"features",className:"border-y border-border bg-card/30 py-20 sm:py-28",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-bold tracking-widest text-primary uppercase",children:r.eyebrow}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-black tracking-tight sm:text-5xl",children:r.title}),(0,t.jsx)("p",{className:"mt-4 text-muted-foreground",children:r.description})]}),(0,t.jsx)("div",{className:"mt-14 grid gap-5 sm:grid-cols-2 lg:gap-6",children:r.features.map((e,r)=>{let s=H[r];return(0,t.jsxs)("div",{className:"relative flex gap-6 overflow-hidden rounded-[1.7rem] border border-border bg-background/80 p-6 shadow-sm sm:p-8",children:[(0,t.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-2xl bg-primary/10 text-primary",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 -bottom-4 right-5 text-7xl font-black text-secondary/55",children:String(r+1).padStart(2,"0")})]},e.title)})})]})})}let B={en:{eyebrow:"User journey",title:"Users see one continuous flow, not a wall of admin panels",description:"The homepage and primary workflow stay anchored to the active job: idea, resources, team, permissions, execution, launch, and maintenance.",pathTitle:"Minimum MVP path",pathDescription:"Sign in, download the client, describe the idea, bind Git and cloud resources, confirm role permissions, preview the manifest, create an Agnet deployment placeholder, then keep development and testing moving.",steps:[["Sign in","Users only sign in to Heicode, not CodeGW or the OpenBao console."],["Describe the idea","Capture the product, constraints, existing code, and deployment target in the client."],["Bind resources","Manager authorizes Git, SK, docs, and cloud accounts while storing secret_ref only."],["Generate the team","Recommend Product, Architect, Frontend, Backend, Reviewer, Ops, and other sub Agnets."],["Assign permissions","Confirm resources, actions, TTL, and approval requirements through role cards."],["Close the loop","Agnets keep pushing requirements, development, testing, fixes, deployment, and maintenance."]],cards:[["Users do not write manifests","The default flow shows roles, resources, actions, and approvals. Advanced users can expand the permission manifest."],["The web app is not the IDE","Manager handles auxiliary management and observation. Main development, continuation, and approvals return to the client."],["Risky actions need explicit approval","Production deploys, cloud operations, database writes, and production secret access must be confirmed in the client."]]},zh:{eyebrow:"User journey",title:"用户看到的是连续流程,不是一堆后台菜单",description:"首页第一屏和主流程都围绕当前任务展开:想法、资源、团队、权限、执行、上线、维护。",pathTitle:"MVP 最小路径",pathDescription:"登录、下载客户端、输入想法、绑定 Git 和云资源、确认角色权限、预览 manifest、创建 Agnet 部署占位任务、持续推进开发与测试。",steps:[["登录","用户只登录 Heicode,不进入 CodeGW 后台或 OpenBao 控制台。"],["输入想法","在客户端描述产品、约束、已有代码和部署目标。"],["绑定资源","Manager 授权 Git、SK、文档、云账号并保存 secret_ref。"],["生成团队","推荐 Product、Architect、Frontend、Backend、Reviewer、Ops 等子 Agnet。"],["分配权限","用角色卡确认资源、动作、有效期和审批要求。"],["执行闭环","Agnet 持续推进需求、开发、测试、修复、部署和维护。"]],cards:[["用户不手写 manifest","普通流程只展示角色、资源、动作和审批要求,高级用户可以展开查看 permission manifest。"],["网页不是 IDE","Manager 完成辅助管理和观测,主开发对话、继续推进和审批仍回到客户端。"],["高危操作单独审批","生产部署、云操作、数据库写入、访问生产密钥都必须在客户端确认。"]]}};function P({lang:e}){let r=B[e];return(0,t.jsx)("section",{id:"workflow",className:"py-20 sm:py-28",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:"grid gap-12 lg:grid-cols-[0.8fr_1.2fr] lg:items-start",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-bold uppercase tracking-widest text-primary",children:r.eyebrow}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-black tracking-tight sm:text-5xl",children:r.title}),(0,t.jsx)("p",{className:"mt-5 text-muted-foreground",children:r.description}),(0,t.jsxs)("div",{className:"mt-8 rounded-[1.7rem] border border-primary/20 bg-primary/10 p-6",children:[(0,t.jsx)("p",{className:"text-sm font-semibold text-primary",children:r.pathTitle}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:r.pathDescription})]})]}),(0,t.jsx)("div",{className:"rounded-[2rem] border border-border bg-card/60 p-4 shadow-sm",children:(0,t.jsx)("div",{className:"grid gap-3",children:r.steps.map(([e,s],a)=>(0,t.jsxs)("div",{className:"grid gap-3 rounded-[1.4rem] border border-border bg-background/70 p-5 sm:grid-cols-[auto_1fr_auto] sm:items-center",children:[(0,t.jsx)("div",{className:"flex h-11 w-11 items-center justify-center rounded-2xl bg-foreground text-sm font-black text-background",children:String(a+1).padStart(2,"0")}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"font-semibold",children:e}),(0,t.jsx)("p",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:s})]}),a<r.steps.length-1&&(0,t.jsx)(n.ArrowRight,{className:"hidden h-5 w-5 text-muted-foreground sm:block"})]},e))})})]}),(0,t.jsx)("div",{className:"mt-14 grid gap-5 md:grid-cols-3",children:r.cards.map(([e,r])=>(0,t.jsxs)("div",{className:"rounded-[1.5rem] border border-border bg-card/60 p-6",children:[(0,t.jsx)("h3",{className:"font-semibold",children:e}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:r})]},e))})]})})}let T={en:{eyebrow:"Security model",title:"Resources are usable. Secrets do not leak.",description:"Users authorize resources, the platform holds credentials, and sub Agnets only receive short-lived access inside the approved scope.",principles:[{number:"01",title:"Secrets never enter the product surface",description:"Git tokens, cloud access keys, SSH private keys, database passwords, and CodeGW keys never enter Git, Markdown, frontend responses, or ordinary logs."},{number:"02",title:"Only secret_ref is stored",description:"The Manager database stores resource metadata, permission relationships, and secret_ref. Real long-lived credentials are held by the vault."},{number:"03",title:"Sub Agnets only receive short-lived credentials",description:"After approval, the platform derives short-lived, least-privilege, auditable credentials by permission and TTL. Sub Agnets do not keep long-lived secrets."},{number:"04",title:"Risky actions are approved in the client",description:"Production deploys, cloud changes, database writes, production secret access, and large budget consumption require explicit client confirmation."},{number:"05",title:"Audit answers the critical questions",description:"Who used which resource, for which task, through which sub Agnet, at what time, with what action, and whether approval happened."}]},zh:{eyebrow:"Security model",title:"资源可用,密钥不外泄",description:"用户授权资源,平台托管凭证,子 Agnet 只获得被批准范围内的短期访问能力。",principles:[{number:"01",title:"密钥不进入产品表面",description:"Git token、云 access key、SSH 私钥、数据库密码和 CodeGW key 不进入 Git、Markdown、前端响应或普通日志。"},{number:"02",title:"只保存 secret_ref",description:"Manager 数据库保存资源元数据、权限关系和 secret_ref,真实长期凭证由密钥保管器托管。"},{number:"03",title:"子 Agnet 只拿短期凭证",description:"审批通过后,平台按权限和 TTL 派生短期、最小权限、可审计凭证;子 Agnet 不保存长期密钥。"},{number:"04",title:"高危操作只在客户端审批",description:"生产部署、云资源变更、数据库写入、访问生产密钥和大额预算消耗,必须由用户在客户端明确确认。"},{number:"05",title:"审计能回答关键问题",description:"谁在什么时候,为了哪个任务,让哪个子 Agnet 使用了哪个资源,执行了什么动作,是否经过审批。"}]}};function _({lang:e}){let r=T[e];return(0,t.jsx)("section",{id:"security",className:"border-t border-border bg-card/30 py-20 sm:py-28",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-bold tracking-widest text-primary uppercase",children:r.eyebrow}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-black tracking-tight sm:text-5xl",children:r.title}),(0,t.jsx)("p",{className:"mt-4 text-muted-foreground",children:r.description})]}),(0,t.jsx)("div",{className:"mt-16 grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:r.principles.map(e=>(0,t.jsxs)("div",{className:"group relative overflow-hidden rounded-[1.6rem] border border-border bg-background/80 p-6 transition-colors hover:border-primary/40",children:[(0,t.jsx)("span",{className:"absolute -top-2 -right-2 text-7xl font-black text-secondary/40 transition-colors group-hover:text-primary/10",children:e.number}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:e.title}),(0,t.jsx)("p",{className:"mt-3 text-sm leading-relaxed text-muted-foreground",children:e.description})]})]},e.number))})]})})}let K={en:{eyebrow:"MVP to lifecycle",title:"Prove the loop first, then expand the full lifecycle",description:"The real Agnet platform deployment API can arrive later. Manager payloads, manifests, audit trails, and the client approval loop must be ready first.",phases:[{phase:"Current MVP",description:"Heicode, CodeGW, and OpenBao deploy separately. Resource bindings, Grants, manifests, and secret custody form the first closed loop. The client signs in only to Heicode.",status:"Converging"},{phase:"Next",description:"Expose user-side CodeGW model and usage views, close the client login and approval download path, and integrate the real Agnet deployment API.",status:"Priority"},{phase:"Long term",description:"Add automated maintenance, upgrade plans, and continuous cost and quality observation so development, deployment, and maintenance live in one lifecycle.",status:"Product direction"}]},zh:{eyebrow:"MVP to lifecycle",title:"当前先证明闭环,再做完整生命周期",description:"真实 Agnet 平台部署 API 可以后置,但 Manager 侧 payload、manifest、审计和客户端闭环必须先准备好。",phases:[{phase:"当前 MVP",description:"Heicode、CodeGW、OpenBao 解耦部署;资源绑定、Grant、manifest 和密钥保管闭环;客户端只登录 Heicode。",status:"正在收敛"},{phase:"下一步",description:"CodeGW 用户侧模型与用量展示、客户端登录审批下载闭环、Agnet 平台真实部署接口联调。",status:"优先推进"},{phase:"长期形态",description:"自动维护、升级计划、成本和质量持续观测,把开发、部署、维护纳入同一个生命周期闭环。",status:"产品方向"}]}};function q({lang:e}){let r=K[e];return(0,t.jsx)("section",{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-bold tracking-widest text-primary uppercase",children:r.eyebrow}),(0,t.jsx)("h2",{className:"mt-4 text-3xl font-black tracking-tight sm:text-5xl",children:r.title}),(0,t.jsx)("p",{className:"mt-4 text-sm text-muted-foreground",children:r.description})]}),(0,t.jsx)("div",{className:"mt-16",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"absolute left-1/2 top-0 hidden h-full w-px -translate-x-1/2 bg-gradient-to-b from-primary/50 via-border to-border lg:block"}),(0,t.jsx)("div",{className:"grid gap-8 lg:grid-cols-3",children:r.phases.map((e,r)=>(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"mx-auto mb-6 flex h-16 w-16 items-center justify-center rounded-full border-2 border-primary/30 bg-background",children:(0,t.jsx)("span",{className:"text-2xl font-black text-primary",children:r+1})}),(0,t.jsxs)("div",{className:"rounded-[1.6rem] border border-border bg-card/60 p-6 text-center shadow-sm",children:[(0,t.jsx)("span",{className:"inline-block rounded-full bg-primary/10 px-3 py-1 text-xs font-semibold text-primary",children:e.status}),(0,t.jsx)("h3",{className:"mt-4 text-xl font-bold",children:e.phase}),(0,t.jsx)("p",{className:"mt-3 text-sm leading-relaxed text-muted-foreground",children:e.description})]})]},e.phase))})]})})]})})}let I={en:{title:"Move an idea into a real development flow",description:"Heicode does more than generate code. It organizes product intent, code, permissions, models, deployment, and maintenance into one auditable software lifecycle.",primary:"Enter Heicode",secondary:"Register account"},zh:{title:"让想法进入真实开发流程",description:"不是只生成代码,而是把产品、代码、权限、模型、部署和维护组织成一个可审计的软件生命周期。",primary:"进入 Heicode",secondary:"注册账号"}};function D({lang:e}){let r=I[e];return(0,t.jsx)("section",{className:"border-t border-border bg-foreground py-20 text-background sm:py-28",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-black tracking-tight sm:text-5xl",children:r.title}),(0,t.jsx)("p",{className:"mt-4 text-lg text-background/70",children:r.description}),(0,t.jsxs)("div",{className:"mt-10 flex flex-col items-center justify-center gap-4 sm:flex-row",children:[(0,t.jsx)(a.Button,{size:"lg",className:"h-12 rounded-full bg-primary px-7 text-primary-foreground hover:bg-primary/90",asChild:!0,children:(0,t.jsxs)("a",{href:"https://code.xinghanlab.com/",target:"_blank",rel:"noreferrer",children:[r.primary,(0,t.jsx)(n.ArrowRight,{className:"h-4 w-4"})]})}),(0,t.jsx)(a.Button,{variant:"outline",size:"lg",className:"h-12 rounded-full border-background/30 bg-transparent px-7 text-background hover:bg-background hover:text-foreground",asChild:!0,children:(0,t.jsx)("a",{href:"https://agnet.taijiaicloud.com/login/",target:"_blank",rel:"noreferrer",children:r.secondary})})]})]})})})}var O=e.i(38309);e.s(["default",0,function(){let[e,a]=(0,r.useState)("en");return(0,r.useEffect)(()=>{document.documentElement.lang="zh"===e?"zh-CN":"en"},[e]),(0,t.jsxs)("main",{className:"min-h-screen",children:[(0,t.jsx)(s.Header,{lang:e,setLang:a}),(0,t.jsx)(c,{lang:e}),(0,t.jsx)(b,{lang:e}),(0,t.jsx)(P,{lang:e}),(0,t.jsx)(A,{lang:e}),(0,t.jsx)(G,{lang:e}),(0,t.jsx)(_,{lang:e}),(0,t.jsx)(q,{lang:e}),(0,t.jsx)(D,{lang:e}),(0,t.jsx)(O.Footer,{lang:e})]})}],39629)}]);