style(website): redesign hero section, switch to neon yellow theme, and add legal pages
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Docs / 产品文档 — Heicode",
|
||||
description:
|
||||
"Heicode product guide: quick start, resource binding, secret vault, model gateway and product demo.",
|
||||
};
|
||||
|
||||
export default function DocsLayout({ children }: { children: React.ReactNode }) {
|
||||
return <>{children}</>;
|
||||
}
|
||||
@@ -0,0 +1,443 @@
|
||||
"use client";
|
||||
import Link from "next/link";
|
||||
import { ArrowLeft, ArrowRight, Cable, LockKeyhole, Network, CirclePlay, CheckCircle2 } from "lucide-react";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const MANAGER_URL = "https://code.xinghanlab.com/";
|
||||
|
||||
/* ─── i18n ─── */
|
||||
const zh = {
|
||||
back: "返回首页",
|
||||
start: "开始使用",
|
||||
nav: [
|
||||
{ href: "#product", label: "产品说明" },
|
||||
{ href: "#quickstart", label: "快速上手" },
|
||||
{ href: "#resource-binding", label: "资源绑定" },
|
||||
{ href: "#secret-vault", label: "密钥保管器" },
|
||||
{ href: "#codegw", label: "模型网关" },
|
||||
{ href: "#demo", label: "产品演示" },
|
||||
],
|
||||
headerBadge: "产品文档",
|
||||
headerTitle: "Heicode 说明与指南",
|
||||
headerDesc: "从一个想法,到可上线的软件产品。了解 Heicode 如何组织 AI 开发团队,在权限和审计边界内完成完整的软件生命周期。",
|
||||
// product
|
||||
productBadge: "产品说明",
|
||||
productH2: "Heicode 是什么",
|
||||
productDesc: "Heicode 是面向全流程智能开发的 SaaS 平台。用户注册登录后,可以从一个产品想法开始,接入自己的代码仓库、项目文档、SK 技能和云资源,由平台生成 AI 开发团队,完成需求、开发、检查、部署、观测和后续维护。",
|
||||
productCards: [
|
||||
{ title: "Heicode 客户端(主体验)", desc: "本地对话、输入想法、任务推进、查看执行反馈、接收交付结果、审批高危操作。登录 Heicode 即可,无需配置模型或 API Key。" },
|
||||
{ title: "Heicode Manager(辅助控制台)", desc: "浏览器端。账号与安全、客户端下载、Git 与云资源绑定、Agnet 部署、任务状态、模型余额与用量、审计日志。" },
|
||||
{ title: "Agnet 平台(AI 执行层)", desc: "运行子 Agnet,按需求→开发→测试→修复→部署子环节持续推进任务,可调用 SK 工具,结果回传到客户端。" },
|
||||
{ title: "CodeGW(模型网关)", desc: "统一路由用户模型请求,管理额度、用量和计费。普通用户无需直接接触,客户端展示的模型由 Heicode 定义。" },
|
||||
],
|
||||
// quickstart
|
||||
qsBadge: "快速上手",
|
||||
qsH2: "五步开始使用",
|
||||
qsDesc: "从注册到第一个任务运行,全程不超过 10 分钟。",
|
||||
qsHint: "提示:",
|
||||
qsBtn: "立即开始",
|
||||
qsSteps: [
|
||||
{ step: "01", title: "注册并登录", desc: "访问 code.xinghanlab.com,完成账号注册。登录后进入 Heicode 工作区。", note: "平台支持邮箱登录,后续可绑定 GitHub 账号。" },
|
||||
{ step: "02", title: "下载客户端", desc: "在控制台进入「客户端下载」,选择 macOS 或 Windows 版本下载安装。", note: "macOS 首次安装若出现安全提示,按平台说明操作即可正常打开。" },
|
||||
{ step: "03", title: "在客户端登录", desc: "打开客户端,点击「登录」,跳转浏览器完成 OAuth 授权后自动返回。", note: "客户端不需要手动输入 API Key,登录 Heicode 即激活所有模型能力。" },
|
||||
{ step: "04", title: "输入第一个想法", desc: "在客户端对话框描述你想做的事情:产品功能、技术栈、部署目标等。Heicode 生成需求摘要和任务草案。", note: "不需要写完整 PRD,用自然语言描述即可,后续可随时补充。" },
|
||||
{ step: "05", title: "绑定资源,启动执行", desc: "在 Manager 控制台绑定 Git 仓库、云账号或工具包,确认权限范围后 Agnet 开始执行。", note: "高危操作(生产部署、密钥访问等)会在客户端弹出审批,需明确确认。" },
|
||||
],
|
||||
// resource binding
|
||||
rbBadge: "资源绑定",
|
||||
rbH2: "Resource Binding",
|
||||
rbDesc: "一次授权,全流程复用。Heicode 把用户授权的 Git 仓库、云账号、SK 工具包和项目文档统一保存为资源绑定记录。Agnet 在任务执行中按需申请使用,权限有边界,操作有记录。",
|
||||
rbTh: ["资源类型", "说明", "授权方式"],
|
||||
rbRows: [
|
||||
["Git 仓库", "代码仓库,拉取、提交和 PR", "OAuth 或 Access Token"],
|
||||
["云账号", "Azure / AWS / GCP 等云资源", "服务账号或云平台 OAuth"],
|
||||
["SK 工具包", "行业技能包或自定义工具集", "仓库地址 + 授权"],
|
||||
["项目文档", "需求、设计、规格等文档", "文件上传或仓库路径"],
|
||||
],
|
||||
rbPermLabel: "权限控制:",
|
||||
rbPermDesc: "每次资源绑定都会记录授权范围。Agnet 只能访问任务对应的资源,不能跨任务访问。高危操作(生产环境写入、密钥轮换)需要客户端审批后才能执行。",
|
||||
// secret vault
|
||||
svBadge: "密钥保管器",
|
||||
svH2: "Secret Vault",
|
||||
svDesc: "长期凭证不存在数据库里,也不出现在日志和代码中。Heicode 把所有长期密钥保存在 OpenBao 密钥保管器中,数据库只保存不含密钥明文的引用(secret_ref)。",
|
||||
svCards: [
|
||||
{ title: "长期密钥安全存放", desc: "Git Token、云访问密钥、数据库连接串等长期凭证全部进入 OpenBao,不落入业务数据库。" },
|
||||
{ title: "Agnet 只拿短期凭证", desc: "子 Agnet 执行任务时,按审批结果派生最小权限的短期凭证,TTL 到期或任务结束后自动失效。" },
|
||||
{ title: "前端不展示明文", desc: "控制台和客户端只展示脱敏引用和状态(如「已绑定」「已过期」),不返回密钥明文。" },
|
||||
],
|
||||
svLifecycleTitle: "凭证生命周期",
|
||||
svLifecycle: [
|
||||
"用户在 Manager 完成资源授权",
|
||||
"Heicode Secret Broker 把凭证写入 OpenBao",
|
||||
"数据库保存 secret_ref(不含明文)",
|
||||
"任务执行时,经客户端审批后生成短期凭证",
|
||||
"短期凭证注入 Agnet 运行时,TTL 到期失效",
|
||||
"所有访问记录写入审计日志",
|
||||
],
|
||||
// codegw
|
||||
cgBadge: "模型网关",
|
||||
cgH2: "CodeGW Boundary",
|
||||
cgDesc: "所有模型调用统一经过 CodeGW 路由。用户在客户端看到的是 Heicode 提供的模型,不感知底层提供商。额度、用量、计费和速率限制在网关层集中管控。",
|
||||
cgPathLabel: "请求路径",
|
||||
cgPath: [
|
||||
{ label: "Heicode 客户端 / Agnet", sub: "发起模型请求" },
|
||||
{ label: "CodeGW", sub: "路由 · 鉴权 · 额度检查 · 日志" },
|
||||
{ label: "底层模型提供商", sub: "Claude · GPT · 其他" },
|
||||
],
|
||||
cgFeatures: [
|
||||
{ title: "用户不感知底层提供商", desc: "客户端展示的模型名称由 Heicode 定义,不暴露底层 Claude、GPT 或其他提供商。" },
|
||||
{ title: "额度统一管控", desc: "每次调用的 token 消耗记录在 CodeGW,用户可在 Manager 查看用量和余额。" },
|
||||
{ title: "速率限制", desc: "网关层按用户等级和订阅类型设置请求速率,防止滥用。" },
|
||||
{ title: "用量审计", desc: "所有模型调用可在 Manager 审计日志中查询,含时间、模型、token 用量。" },
|
||||
],
|
||||
// demo
|
||||
demoBadge: "产品演示",
|
||||
demoH2: "Product Demo",
|
||||
demoDesc: "完整演示流程,展示从登录到任务执行的全链路体验。",
|
||||
demoSteps: [
|
||||
{ time: "第一步", title: "登录 Heicode", actions: ["打开 code.xinghanlab.com", "输入账号密码完成登录", "进入工作区首页,查看资源状态和模型余额"], note: "用户只登录 Heicode,不需要接触 CodeGW 后台或密钥保管器。" },
|
||||
{ time: "第二步", title: "下载并打开客户端", actions: ["在控制台找到「客户端下载」", "下载对应系统版本,安装后打开", "在客户端点击登录,授权后自动进入工作区"], note: "客户端登录会跳转浏览器完成 OAuth 授权,无需手动输入 API Key。" },
|
||||
{ time: "第三步", title: "输入产品想法", actions: ["在客户端对话框描述要做的产品", "例如:「做一个面向小团队的任务管理工具,需要登录、项目、任务和评论,部署到 Azure」", "Heicode 生成需求摘要和推荐资源清单"], note: "描述越具体越好,包含技术偏好、规模预期和部署目标。" },
|
||||
{ time: "第四步", title: "绑定资源,授权执行", actions: ["根据推荐清单,在 Manager 绑定 Git 仓库和云账号", "确认 Agnet 可使用的资源范围", "Heicode 生成任务计划,Agnet 开始执行"], note: "绑定时只需完成 OAuth 或填写 Token,凭证由平台托管。" },
|
||||
{ time: "第五步", title: "审批与交付", actions: ["查看 Agnet 执行进度和中间反馈", "生产部署时,客户端弹出审批提示,确认操作范围", "审批通过后,Agnet 完成部署并回传交付结果"], note: "所有高危操作都需用户明确审批,审批记录写入审计日志。" },
|
||||
],
|
||||
demoCtaTitle: "准备好了吗?",
|
||||
demoCtaDesc: "注册 Heicode,10 分钟内完成第一个任务。",
|
||||
demoCtaBtn1: "立即注册",
|
||||
demoCtaBtn2: "打开 Manager",
|
||||
};
|
||||
|
||||
const en = {
|
||||
back: "Back to home",
|
||||
start: "Get started",
|
||||
nav: [
|
||||
{ href: "#product", label: "Product" },
|
||||
{ href: "#quickstart", label: "Quick start" },
|
||||
{ href: "#resource-binding", label: "Resource binding" },
|
||||
{ href: "#secret-vault", label: "Secret vault" },
|
||||
{ href: "#codegw", label: "Model GW" },
|
||||
{ href: "#demo", label: "Demo" },
|
||||
],
|
||||
headerBadge: "Product docs",
|
||||
headerTitle: "Heicode Guide",
|
||||
headerDesc: "From an idea to a shipped software product. Learn how Heicode orchestrates an AI dev team to complete the full software lifecycle within permission and audit boundaries.",
|
||||
productBadge: "Product overview",
|
||||
productH2: "What is Heicode",
|
||||
productDesc: "Heicode is a full-lifecycle intelligent development SaaS platform. After registering and logging in, users can start from a product idea, connect their code repos, project docs, SK skills and cloud resources, and have the platform generate an AI dev team to handle requirements, development, review, deployment, monitoring and ongoing maintenance.",
|
||||
productCards: [
|
||||
{ title: "Heicode Client (main experience)", desc: "Local conversations, input ideas, push tasks forward, view execution feedback, receive delivery results, approve high-risk operations. Log in to Heicode — no model or API Key configuration needed." },
|
||||
{ title: "Heicode Manager (aux console)", desc: "Browser-based. Account & security, client download, Git & cloud resource binding, Agnet deployment, task status, model balance & usage, audit logs." },
|
||||
{ title: "Agnet Platform (AI execution layer)", desc: "Runs sub-Agnets that continuously push tasks forward through plan→dev→test→fix→deploy, calling SK tools as needed, results sent back to the client." },
|
||||
{ title: "CodeGW (model gateway)", desc: "Unified routing for model requests, managing quotas, usage and billing. Regular users don't interact with it directly — client-visible models are defined by Heicode." },
|
||||
],
|
||||
qsBadge: "Quick start",
|
||||
qsH2: "Five steps to get started",
|
||||
qsDesc: "From registration to your first running task, all in under 10 minutes.",
|
||||
qsHint: "Tip: ",
|
||||
qsBtn: "Get started now",
|
||||
qsSteps: [
|
||||
{ step: "01", title: "Register & log in", desc: "Visit code.xinghanlab.com and create an account. After login, enter the Heicode workspace.", note: "Email login is supported; you can bind a GitHub account later." },
|
||||
{ step: "02", title: "Download the client", desc: "Go to 'Client Download' in the console, select macOS or Windows, download and install.", note: "On macOS, if a security prompt appears on first launch, follow the platform instructions to open normally." },
|
||||
{ step: "03", title: "Log in on the client", desc: "Open the client, click 'Login', complete OAuth authorization in the browser — it returns automatically.", note: "No manual API Key input needed. Logging into Heicode activates all model capabilities." },
|
||||
{ step: "04", title: "Input your first idea", desc: "Describe what you want to build in the client dialog: product features, tech stack, deployment target, etc. Heicode generates a requirements summary and task draft.", note: "No full PRD required — natural language works fine, and you can add details anytime." },
|
||||
{ step: "05", title: "Bind resources & launch", desc: "In the Manager console, bind Git repos, cloud accounts or toolkits. Confirm permission scope and Agnet starts executing.", note: "High-risk operations (prod deployment, secret access, etc.) trigger approval prompts in the client." },
|
||||
],
|
||||
rbBadge: "Resource Binding",
|
||||
rbH2: "Resource Binding",
|
||||
rbDesc: "Authorize once, reuse throughout the full lifecycle. Heicode saves user-authorized Git repos, cloud accounts, SK toolkits and project docs as resource binding records. Agnets request access per-task, with bounded permissions and logged operations.",
|
||||
rbTh: ["Resource type", "Description", "Auth method"],
|
||||
rbRows: [
|
||||
["Git repo", "Code repository — pull, commit and PR", "OAuth or Access Token"],
|
||||
["Cloud account", "Azure / AWS / GCP cloud resources", "Service account or cloud OAuth"],
|
||||
["SK toolkit", "Industry skill packs or custom toolsets", "Repo URL + authorization"],
|
||||
["Project docs", "Requirements, design, spec docs", "File upload or repo path"],
|
||||
],
|
||||
rbPermLabel: "Permission control: ",
|
||||
rbPermDesc: "Each resource binding records its authorization scope. Agnets can only access resources for their assigned task, not cross-task. High-risk operations (production writes, key rotation) require client approval before execution.",
|
||||
svBadge: "Secret Vault",
|
||||
svH2: "Secret Vault",
|
||||
svDesc: "Long-term credentials never exist in the database, logs or code. Heicode stores all long-term secrets in an OpenBao secret vault; the database only stores references without secret plaintext (secret_ref).",
|
||||
svCards: [
|
||||
{ title: "Secure long-term secret storage", desc: "Git tokens, cloud access keys, DB connection strings — all long-term credentials go into OpenBao, never into the business database." },
|
||||
{ title: "Agnets only get short-term creds", desc: "Sub-Agnets derive least-privilege short-term credentials per approval result. TTL expiry or task completion auto-revokes them." },
|
||||
{ title: "No plaintext on frontend", desc: "The console and client only show masked references and status (e.g. 'Bound', 'Expired'), never returning secret plaintext." },
|
||||
],
|
||||
svLifecycleTitle: "Credential lifecycle",
|
||||
svLifecycle: [
|
||||
"User completes resource authorization in Manager",
|
||||
"Heicode Secret Broker writes credentials to OpenBao",
|
||||
"Database stores secret_ref (no plaintext)",
|
||||
"At task execution, short-term creds generated after client approval",
|
||||
"Short-term creds injected into Agnet runtime, TTL auto-expires",
|
||||
"All access records written to audit log",
|
||||
],
|
||||
cgBadge: "Model Gateway",
|
||||
cgH2: "CodeGW Boundary",
|
||||
cgDesc: "All model calls route through CodeGW. Users see Heicode-defined models in the client, never the underlying provider. Quotas, usage, billing and rate limits are centrally managed at the gateway layer.",
|
||||
cgPathLabel: "Request path",
|
||||
cgPath: [
|
||||
{ label: "Heicode Client / Agnet", sub: "Initiates model request" },
|
||||
{ label: "CodeGW", sub: "Routing · Auth · Quota check · Logging" },
|
||||
{ label: "Underlying model provider", sub: "Claude · GPT · Others" },
|
||||
],
|
||||
cgFeatures: [
|
||||
{ title: "Users don't see the underlying provider", desc: "Model names shown in the client are defined by Heicode, never exposing Claude, GPT or others." },
|
||||
{ title: "Unified quota management", desc: "Token consumption per call is recorded in CodeGW; users can view usage and balance in Manager." },
|
||||
{ title: "Rate limiting", desc: "The gateway layer sets request rates by user tier and subscription type to prevent abuse." },
|
||||
{ title: "Usage audit", desc: "All model calls can be queried in Manager audit logs, including time, model and token usage." },
|
||||
],
|
||||
demoBadge: "Product Demo",
|
||||
demoH2: "Product Demo",
|
||||
demoDesc: "Complete demo flow showing the full journey from login to task execution.",
|
||||
demoSteps: [
|
||||
{ time: "Step 1", title: "Log in to Heicode", actions: ["Open code.xinghanlab.com", "Enter credentials to log in", "View workspace home, resource status and model balance"], note: "Users only log into Heicode — no need to touch CodeGW backend or secret vault." },
|
||||
{ time: "Step 2", title: "Download & open client", actions: ["Find 'Client Download' in the console", "Download the version for your OS, install and open", "Click login in the client, authorize and enter workspace automatically"], note: "Client login redirects to browser for OAuth — no manual API Key input needed." },
|
||||
{ time: "Step 3", title: "Input product idea", actions: ["Describe the product you want to build in the client dialog", "Example: 'Build a task management tool for small teams with login, projects, tasks and comments, deploy to Azure'", "Heicode generates requirements summary and recommended resource list"], note: "The more specific the better — include tech preferences, scale expectations and deployment targets." },
|
||||
{ time: "Step 4", title: "Bind resources & authorize", actions: ["Based on recommended list, bind Git repos and cloud accounts in Manager", "Confirm the scope of resources Agnet can use", "Heicode generates task plan, Agnet starts executing"], note: "Binding only requires OAuth or Token entry — credentials are managed by the platform." },
|
||||
{ time: "Step 5", title: "Approve & deliver", actions: ["View Agnet execution progress and intermediate feedback", "For production deployment, client shows approval prompt to confirm scope", "After approval, Agnet completes deployment and returns delivery results"], note: "All high-risk operations require explicit user approval; approval records are written to audit logs." },
|
||||
],
|
||||
demoCtaTitle: "Ready?",
|
||||
demoCtaDesc: "Register Heicode and complete your first task in 10 minutes.",
|
||||
demoCtaBtn1: "Register now",
|
||||
demoCtaBtn2: "Open Manager",
|
||||
};
|
||||
|
||||
export default function DocsPage() {
|
||||
const { lang, toggle } = useLang();
|
||||
const T = lang === "en" ? en : zh;
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
{/* Top bar */}
|
||||
<div className="sticky top-0 z-40 border-b border-border/50 bg-background/90 backdrop-blur-md">
|
||||
<div className="mx-auto flex h-14 max-w-7xl items-center justify-between px-4 sm:px-6 lg:px-8">
|
||||
<Link href="/" className="flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors">
|
||||
<ArrowLeft className="h-4 w-4" />
|
||||
{T.back}
|
||||
</Link>
|
||||
<div className="hidden items-center gap-6 text-sm md:flex">
|
||||
{T.nav.map((item) => (
|
||||
<a key={item.href} href={item.href} className="text-muted-foreground hover:text-foreground transition-colors">{item.label}</a>
|
||||
))}
|
||||
</div>
|
||||
<div className="flex items-center gap-3">
|
||||
<button onClick={toggle} 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">
|
||||
{lang === "zh" ? "EN" : "中"}
|
||||
</button>
|
||||
<Button size="sm" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
{T.start}
|
||||
<ArrowRight className="ml-1.5 h-3.5 w-3.5" />
|
||||
</a>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mx-auto max-w-4xl px-4 py-16 sm:px-6 lg:px-8">
|
||||
{/* Header */}
|
||||
<div className="mb-16">
|
||||
<p className="text-sm font-medium uppercase tracking-widest text-accent">{T.headerBadge}</p>
|
||||
<h1 className="mt-3 text-4xl font-bold tracking-tight sm:text-5xl">{T.headerTitle}</h1>
|
||||
<p className="mt-4 max-w-2xl text-lg text-muted-foreground leading-relaxed">{T.headerDesc}</p>
|
||||
</div>
|
||||
|
||||
{/* ── Product ── */}
|
||||
<section id="product" className="mb-20 scroll-mt-20">
|
||||
<Label>{T.productBadge}</Label>
|
||||
<h2 className="mt-3 text-2xl font-bold sm:text-3xl">{T.productH2}</h2>
|
||||
<p className="mt-4 text-muted-foreground leading-relaxed">{T.productDesc}</p>
|
||||
<div className="mt-8 grid gap-4 sm:grid-cols-2">
|
||||
{T.productCards.map((c) => (
|
||||
<div key={c.title} className="rounded-xl border border-border bg-card/50 p-5">
|
||||
<h3 className="font-semibold">{c.title}</h3>
|
||||
<p className="mt-2 text-sm text-muted-foreground leading-relaxed">{c.desc}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<Divider />
|
||||
|
||||
{/* ── Quick start ── */}
|
||||
<section id="quickstart" className="mb-20 scroll-mt-20">
|
||||
<Label>{T.qsBadge}</Label>
|
||||
<h2 className="mt-3 text-2xl font-bold sm:text-3xl">{T.qsH2}</h2>
|
||||
<p className="mt-4 text-muted-foreground leading-relaxed">{T.qsDesc}</p>
|
||||
<div className="mt-8 space-y-4">
|
||||
{T.qsSteps.map((s) => (
|
||||
<div key={s.step} className="flex gap-5 rounded-xl border border-border bg-card/50 p-6">
|
||||
<div className="flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-secondary font-mono text-sm font-bold text-accent">{s.step}</div>
|
||||
<div className="min-w-0">
|
||||
<h3 className="font-semibold">{s.title}</h3>
|
||||
<p className="mt-1 text-sm text-muted-foreground leading-relaxed">{s.desc}</p>
|
||||
<p className="mt-2 rounded-lg bg-secondary/60 px-3 py-2 text-xs text-muted-foreground">{T.qsHint}{s.note}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<div className="mt-8 flex justify-center">
|
||||
<Button asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">{T.qsBtn}<ArrowRight className="ml-2 h-4 w-4" /></a>
|
||||
</Button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<Divider />
|
||||
|
||||
{/* ── Resource Binding ── */}
|
||||
<section id="resource-binding" className="mb-20 scroll-mt-20">
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="flex h-9 w-9 items-center justify-center rounded-lg bg-accent/10 text-accent"><Cable className="h-5 w-5" /></div>
|
||||
<Label className="mt-0">{T.rbBadge}</Label>
|
||||
</div>
|
||||
<h2 className="mt-3 text-2xl font-bold sm:text-3xl">{T.rbH2}</h2>
|
||||
<p className="mt-4 text-muted-foreground leading-relaxed">{T.rbDesc}</p>
|
||||
<div className="mt-6 overflow-hidden rounded-xl border border-border">
|
||||
<table className="w-full text-sm">
|
||||
<thead><tr className="border-b border-border bg-card/70">{T.rbTh.map((h) => <th key={h} className="px-5 py-3 text-left font-medium">{h}</th>)}</tr></thead>
|
||||
<tbody className="divide-y divide-border">
|
||||
{T.rbRows.map(([type, desc, auth]) => (
|
||||
<tr key={type} className="bg-card/20">
|
||||
<td className="px-5 py-3 font-mono text-xs font-medium">{type}</td>
|
||||
<td className="px-5 py-3 text-muted-foreground">{desc}</td>
|
||||
<td className="px-5 py-3 text-muted-foreground">{auth}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div className="mt-6 rounded-xl border border-border bg-card/30 p-5 text-sm text-muted-foreground leading-relaxed">
|
||||
<span className="font-medium text-foreground">{T.rbPermLabel}</span>{T.rbPermDesc}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<Divider />
|
||||
|
||||
{/* ── Secret Vault ── */}
|
||||
<section id="secret-vault" className="mb-20 scroll-mt-20">
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="flex h-9 w-9 items-center justify-center rounded-lg bg-accent/10 text-accent"><LockKeyhole className="h-5 w-5" /></div>
|
||||
<Label className="mt-0">{T.svBadge}</Label>
|
||||
</div>
|
||||
<h2 className="mt-3 text-2xl font-bold sm:text-3xl">{T.svH2}</h2>
|
||||
<p className="mt-4 text-muted-foreground leading-relaxed">{T.svDesc}</p>
|
||||
<div className="mt-8 grid gap-4 sm:grid-cols-3">
|
||||
{T.svCards.map((c) => (
|
||||
<div key={c.title} className="rounded-xl border border-border bg-card/50 p-5">
|
||||
<h3 className="text-sm font-semibold">{c.title}</h3>
|
||||
<p className="mt-2 text-xs text-muted-foreground leading-relaxed">{c.desc}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<div className="mt-6 rounded-xl border border-border bg-card/30 p-5">
|
||||
<h3 className="mb-3 text-sm font-semibold">{T.svLifecycleTitle}</h3>
|
||||
<div className="space-y-2 text-sm text-muted-foreground">
|
||||
{T.svLifecycle.map((step, i) => (
|
||||
<div key={i} className="flex items-start gap-3">
|
||||
<span className="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-secondary font-mono text-xs font-bold">{i + 1}</span>
|
||||
<span>{step}</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<Divider />
|
||||
|
||||
{/* ── CodeGW ── */}
|
||||
<section id="codegw" className="mb-20 scroll-mt-20">
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="flex h-9 w-9 items-center justify-center rounded-lg bg-accent/10 text-accent"><Network className="h-5 w-5" /></div>
|
||||
<Label className="mt-0">{T.cgBadge}</Label>
|
||||
</div>
|
||||
<h2 className="mt-3 text-2xl font-bold sm:text-3xl">{T.cgH2}</h2>
|
||||
<p className="mt-4 text-muted-foreground leading-relaxed">{T.cgDesc}</p>
|
||||
<div className="mt-6 overflow-hidden rounded-xl border border-border">
|
||||
<div className="bg-card/70 px-5 py-3 text-sm font-medium">{T.cgPathLabel}</div>
|
||||
<div className="p-6">
|
||||
<div className="flex flex-col items-center gap-2 text-sm">
|
||||
{T.cgPath.map((item, i, arr) => (
|
||||
<div key={item.label} className="flex w-full flex-col items-center gap-2">
|
||||
<div className="w-full max-w-sm rounded-lg border border-border bg-secondary/40 px-4 py-3 text-center">
|
||||
<p className="font-medium">{item.label}</p>
|
||||
<p className="mt-0.5 text-xs text-muted-foreground">{item.sub}</p>
|
||||
</div>
|
||||
{i < arr.length - 1 && <span className="text-muted-foreground/50">↓</span>}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="mt-6 grid gap-4 sm:grid-cols-2">
|
||||
{T.cgFeatures.map((f) => (
|
||||
<div key={f.title} className="flex gap-4 rounded-xl border border-border bg-card/50 p-5">
|
||||
<CheckCircle2 className="mt-0.5 h-4 w-4 shrink-0 text-accent" />
|
||||
<div>
|
||||
<h3 className="text-sm font-semibold">{f.title}</h3>
|
||||
<p className="mt-1 text-xs text-muted-foreground leading-relaxed">{f.desc}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<Divider />
|
||||
|
||||
{/* ── Demo ── */}
|
||||
<section id="demo" className="mb-20 scroll-mt-20">
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="flex h-9 w-9 items-center justify-center rounded-lg bg-accent/10 text-accent"><CirclePlay className="h-5 w-5" /></div>
|
||||
<Label className="mt-0">{T.demoBadge}</Label>
|
||||
</div>
|
||||
<h2 className="mt-3 text-2xl font-bold sm:text-3xl">{T.demoH2}</h2>
|
||||
<p className="mt-4 text-muted-foreground leading-relaxed">{T.demoDesc}</p>
|
||||
<div className="mt-8 space-y-0">
|
||||
{T.demoSteps.map((item, i, arr) => (
|
||||
<div key={item.time} className="flex gap-5">
|
||||
<div className="flex flex-col items-center">
|
||||
<div className="flex h-9 w-9 shrink-0 items-center justify-center rounded-full border-2 border-accent/40 bg-background font-mono text-xs font-bold text-accent">{i + 1}</div>
|
||||
{i < arr.length - 1 && <div className="mt-1 h-full min-h-[2rem] w-px bg-border" />}
|
||||
</div>
|
||||
<div className="mb-6 min-w-0 flex-1 pb-2">
|
||||
<p className="text-xs font-medium uppercase tracking-wider text-accent">{item.time}</p>
|
||||
<h3 className="mt-1 text-base font-semibold">{item.title}</h3>
|
||||
<ul className="mt-3 space-y-1.5">
|
||||
{item.actions.map((a) => (
|
||||
<li key={a} className="flex items-start gap-2 text-sm text-muted-foreground">
|
||||
<span className="mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-accent" />{a}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
<p className="mt-3 rounded-lg bg-secondary/60 px-3 py-2 text-xs text-muted-foreground">{item.note}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="mt-4 rounded-xl border border-accent/30 bg-accent/5 p-8 text-center">
|
||||
<h3 className="text-xl font-bold">{T.demoCtaTitle}</h3>
|
||||
<p className="mt-2 text-sm text-muted-foreground">{T.demoCtaDesc}</p>
|
||||
<div className="mt-6 flex flex-col items-center gap-3 sm:flex-row sm:justify-center">
|
||||
<Button size="lg" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">{T.demoCtaBtn1}<ArrowRight className="ml-2 h-4 w-4" /></a>
|
||||
</Button>
|
||||
<Button variant="outline" size="lg" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">{T.demoCtaBtn2}</a>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function Label({ children, className = "" }: { children: React.ReactNode; className?: string }) {
|
||||
return <p className={`text-sm font-medium uppercase tracking-widest text-accent ${className}`}>{children}</p>;
|
||||
}
|
||||
|
||||
function Divider() {
|
||||
return <hr className="mb-20 border-border" />;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { Metadata } from 'next'
|
||||
import { Geist, Geist_Mono } from 'next/font/google'
|
||||
import { Analytics } from '@vercel/analytics/next'
|
||||
import { LanguageProvider } from '@/lib/language'
|
||||
import './globals.css'
|
||||
|
||||
const _geist = Geist({ subsets: ["latin"] });
|
||||
@@ -12,19 +13,19 @@ export const metadata: Metadata = {
|
||||
icons: {
|
||||
icon: [
|
||||
{
|
||||
url: '/heicode-logo.svg',
|
||||
url: '/heicode-logo.png',
|
||||
media: '(prefers-color-scheme: light)',
|
||||
},
|
||||
{
|
||||
url: '/heicode-logo.svg',
|
||||
url: '/heicode-logo.png',
|
||||
media: '(prefers-color-scheme: dark)',
|
||||
},
|
||||
{
|
||||
url: '/heicode-logo.svg',
|
||||
type: 'image/svg+xml',
|
||||
url: '/heicode-logo.png',
|
||||
type: 'image/png',
|
||||
},
|
||||
],
|
||||
apple: '/heicode-logo.svg',
|
||||
apple: '/heicode-logo.png',
|
||||
},
|
||||
}
|
||||
|
||||
@@ -36,7 +37,9 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="zh-CN" className="bg-background">
|
||||
<body className="font-sans antialiased">
|
||||
{children}
|
||||
<LanguageProvider>
|
||||
{children}
|
||||
</LanguageProvider>
|
||||
{process.env.NODE_ENV === 'production' && <Analytics />}
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
"use client";
|
||||
import Link from "next/link";
|
||||
import { ArrowLeft } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const t = {
|
||||
zh: {
|
||||
back: "返回首页",
|
||||
title: "隐私政策",
|
||||
date: "生效日期: 2026年5月",
|
||||
sections: [
|
||||
{
|
||||
h2: "1. 信息收集",
|
||||
p: "我们收集您在注册、使用 Heicode 平台(包括绑定的代码仓库及项目文档)、及提供服务反馈时提供给我们的信息。在此过程中,我们会将获取的授权凭据妥善加密保存。"
|
||||
},
|
||||
{
|
||||
h2: "2. 信息使用",
|
||||
p: "我们使用收集的信息来运行和提供 Heicode 的全流程智能开发服务,改善平台体验,为您派生任务所需的最小短期凭证,并响应您的支持请求。"
|
||||
},
|
||||
{
|
||||
h2: "3. 信息保护与分享",
|
||||
p: "我们采用业界标准的安全实践。我们仅在您明确同意或通过客户端界面审批的情况下,将必要的信息用于处理您的产品需求。我们不会将您的个人数据出售给第三方。"
|
||||
}
|
||||
]
|
||||
},
|
||||
en: {
|
||||
back: "Back to home",
|
||||
title: "Privacy Policy",
|
||||
date: "Effective Date: May 2026",
|
||||
sections: [
|
||||
{
|
||||
h2: "1. Information Collection",
|
||||
p: "We collect information you provide during registration, usage of the Heicode platform (including bounded repositories and documents), and feedback. During this process, authorization credentials will be securely encrypted and stored."
|
||||
},
|
||||
{
|
||||
h2: "2. Information Use",
|
||||
p: "We use the collected information to operate and provide Heicode's full-lifecycle AI development services, improve the platform experience, generate minimal short-term credentials required for task execution, and respond to your requests."
|
||||
},
|
||||
{
|
||||
h2: "3. Information Protection and Sharing",
|
||||
p: "We employ industry-standard security practices. We only use required information to process your product requests when you explicitly consent or approve via the client interface. We do not sell your personal data to third parties."
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
export default function PrivacyPage() {
|
||||
const { lang, toggle } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
<div className="sticky top-0 z-40 border-b border-border/50 bg-background/90 backdrop-blur-md">
|
||||
<div className="mx-auto flex h-14 max-w-3xl items-center justify-between px-4 sm:px-6 lg:px-8">
|
||||
<Link href="/" className="flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors">
|
||||
<ArrowLeft className="h-4 w-4" />
|
||||
{tx.back}
|
||||
</Link>
|
||||
<button onClick={toggle} 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">
|
||||
{lang === "zh" ? "EN" : "中"}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mx-auto max-w-3xl px-4 py-16 sm:px-6 lg:px-8">
|
||||
<h1 className="text-3xl font-bold tracking-tight mb-8">{tx.title}</h1>
|
||||
<div className="space-y-8 text-muted-foreground leading-relaxed">
|
||||
<p>{tx.date}</p>
|
||||
{tx.sections.map((s, i) => (
|
||||
<section key={i}>
|
||||
<h2 className="text-xl font-semibold text-foreground mb-3">{s.h2}</h2>
|
||||
<p>{s.p}</p>
|
||||
</section>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
"use client";
|
||||
import Link from "next/link";
|
||||
import { ArrowLeft, CheckCircle2 } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const t = {
|
||||
zh: {
|
||||
back: "返回首页",
|
||||
title: "安全政策",
|
||||
desc: "在 Heicode,安全是我们产品设计的核心原则。",
|
||||
sections: [
|
||||
{
|
||||
h2: "1. 长期凭证安全 (Secret Vault)",
|
||||
p: "用户的各种长期访问凭证(Git Token、云 Access Key 等)永远不写入我们的常规关系型数据库,也不会暴露在业务日志或前端代码中。所有凭证都被专门存储在企业级 OpenBao 密钥保管器中。我们在数据库中只保留无明文的引用脱敏 (secret_ref)。"
|
||||
},
|
||||
{
|
||||
h2: "2. 最小化权限派生",
|
||||
p: "当子 Agnet 需要通过代码网关执行操作时,Heicode 会针对该次操作由密钥保管器动态签发“最小权限+带过期时间 (TTL)”的临时短期凭证,任务完成后自动吊销。任何跨任务使用都会被立即阻断。"
|
||||
},
|
||||
{
|
||||
h2: "3. 用户主导审批 (Operator in the loop)",
|
||||
p: "Agnet 在涉及到例如:覆盖非自创代码、提交 Pull Request 到主分支、向生产环境写入部署配置等高危操作时,必须由您在 Heicode 客户端主界面上明确审批。无审批时任务不会被自动强制执行。"
|
||||
},
|
||||
{
|
||||
h2: "4. 日志审计 (Audit Logs)",
|
||||
p: "对于在云资源、用户代码中发生的所有模型调用,都会产生包含具体时间戳、对应操作资源的审计日志可供查看。所有系统间的传输数据均受全链路 TLS 1.3 强加密保护。"
|
||||
}
|
||||
]
|
||||
},
|
||||
en: {
|
||||
back: "Back to home",
|
||||
title: "Security Policy",
|
||||
desc: "At Heicode, security is a core design principle of our product.",
|
||||
sections: [
|
||||
{
|
||||
h2: "1. Secret Vault (Long-term Credential Security)",
|
||||
p: "User's long-term access credentials (e.g. Git Tokens, Cloud Access Keys) are never written into our standard relational database, nor exposed in business logs or front-end code. All credentials are fully maintained within our production-grade OpenBao Secret Vault. We only retain obfuscated references (secret_ref) in our database."
|
||||
},
|
||||
{
|
||||
h2: "2. Least Privilege Derivation",
|
||||
p: "When a sub-Agnet executes tasks via the Code Gateway, Heicode asks the Secret Vault to issue a temporary short-lived credential based on 'least privilege + TTL expiry'. These credentials are auto-revoked after task completion. Any cross-task access attempts are blocked immediately."
|
||||
},
|
||||
{
|
||||
h2: "3. Operator in the Loop Approval",
|
||||
p: "For any high-risk tasks such as modifying non-generated code, submitting PRs to the main branch, or writing deployment configurations to production environments, the Agnet execution is paused. It strictly requires your explicit approval on the Heicode Client UI before continuing."
|
||||
},
|
||||
{
|
||||
h2: "4. Audit Logs",
|
||||
p: "All model interactions occurring within cloud resources or user codebases keep immutable audit logs specifying exact timestamps and the targeted resource scope. In addition, all inter-system data traffic routes are strongly encrypted via TLS 1.3 globally."
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
export default function SecurityPage() {
|
||||
const { lang, toggle } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
<div className="sticky top-0 z-40 border-b border-border/50 bg-background/90 backdrop-blur-md">
|
||||
<div className="mx-auto flex h-14 max-w-3xl items-center justify-between px-4 sm:px-6 lg:px-8">
|
||||
<Link href="/" className="flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors">
|
||||
<ArrowLeft className="h-4 w-4" />
|
||||
{tx.back}
|
||||
</Link>
|
||||
<button onClick={toggle} 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">
|
||||
{lang === "zh" ? "EN" : "中"}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mx-auto max-w-3xl px-4 py-16 sm:px-6 lg:px-8">
|
||||
<h1 className="text-3xl font-bold tracking-tight mb-4">{tx.title}</h1>
|
||||
<p className="text-lg text-muted-foreground mb-12">{tx.desc}</p>
|
||||
|
||||
<div className="space-y-8">
|
||||
{tx.sections.map((s, i) => (
|
||||
<div key={i} className="flex gap-4 rounded-xl border border-border bg-card/10 p-6">
|
||||
<CheckCircle2 className="mt-1 h-5 w-5 shrink-0 text-accent" />
|
||||
<div>
|
||||
<h2 className="text-xl font-semibold text-foreground mb-3">{s.h2}</h2>
|
||||
<p className="text-muted-foreground leading-relaxed">{s.p}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
"use client";
|
||||
import Link from "next/link";
|
||||
import { ArrowLeft } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const t = {
|
||||
zh: {
|
||||
back: "返回首页",
|
||||
title: "服务条款",
|
||||
date: "生效日期: 2026年5月",
|
||||
sections: [
|
||||
{
|
||||
h2: "1. 接受条款",
|
||||
p: "通过访问或使用 Heicode(包含 Heicode Manager、Heicode 客户端、CodeGW 等组件),您同意受这些服务条款的约束。"
|
||||
},
|
||||
{
|
||||
h2: "2. 服务描述",
|
||||
p: "Heicode 提供基于 AI 的智能开发服务。我们保留随时修改、暂停或终止平台部分或全部功能的权利,而无需向您发出通知。"
|
||||
},
|
||||
{
|
||||
h2: "3. 用户行为与内容",
|
||||
p: "您对在平台提交的作用于代码执行或访问授权(如 Git 仓库、SK 集成等)等操作负全责。您同意不会利用本平台从事任何违反适用法律法规或对第三方造成侵权的活动。"
|
||||
},
|
||||
{
|
||||
h2: "4. 责任限制",
|
||||
p: "Heicode 自动生成的代码和操作仍需要您的审核确认。平台不对在使用我们的技术或执行结果后给您的业务带来的意外损害承担连带赔偿责任。"
|
||||
}
|
||||
]
|
||||
},
|
||||
en: {
|
||||
back: "Back to home",
|
||||
title: "Terms of Service",
|
||||
date: "Effective Date: May 2026",
|
||||
sections: [
|
||||
{
|
||||
h2: "1. Acceptance of Terms",
|
||||
p: "By accessing or using Heicode (including Heicode Manager, Heicode Client, CodeGW, etc.), you agree to be bound by these Terms of Service."
|
||||
},
|
||||
{
|
||||
h2: "2. Description of Services",
|
||||
p: "Heicode provides an AI-based intelligent development service. We reserve the right to modify, suspend, or discontinue all or part of the platform features at any time without notice."
|
||||
},
|
||||
{
|
||||
h2: "3. User Conduct & Content",
|
||||
p: "You are solely responsible for all actions and authorizations (e.g. Git repository bindings, SK integrations) you submit. You agree not to use the platform for any illegal activities or infringing on third parties."
|
||||
},
|
||||
{
|
||||
h2: "4. Limitation of Liability",
|
||||
p: "Code and actions automatically generated by Heicode still require your review and approval. The platform is not liable for any incidental damages caused to your business as a result of using our technology or execution outcomes."
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
export default function TermsPage() {
|
||||
const { lang, toggle } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
<div className="sticky top-0 z-40 border-b border-border/50 bg-background/90 backdrop-blur-md">
|
||||
<div className="mx-auto flex h-14 max-w-3xl items-center justify-between px-4 sm:px-6 lg:px-8">
|
||||
<Link href="/" className="flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors">
|
||||
<ArrowLeft className="h-4 w-4" />
|
||||
{tx.back}
|
||||
</Link>
|
||||
<button onClick={toggle} 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">
|
||||
{lang === "zh" ? "EN" : "中"}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mx-auto max-w-3xl px-4 py-16 sm:px-6 lg:px-8">
|
||||
<h1 className="text-3xl font-bold tracking-tight mb-8">{tx.title}</h1>
|
||||
<div className="space-y-8 text-muted-foreground leading-relaxed">
|
||||
<p>{tx.date}</p>
|
||||
{tx.sections.map((s, i) => (
|
||||
<section key={i}>
|
||||
<h2 className="text-xl font-semibold text-foreground mb-3">{s.h2}</h2>
|
||||
<p>{s.p}</p>
|
||||
</section>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
import { Header } from "@/components/header";
|
||||
import { Hero } from "@/components/hero";
|
||||
import { Problem } from "@/components/problem";
|
||||
import { Products } from "@/components/products";
|
||||
import { Workflow } from "@/components/workflow";
|
||||
import { Resources } from "@/components/resources";
|
||||
import { Features } from "@/components/features";
|
||||
import { Paradigm } from "@/components/paradigm";
|
||||
import { Principles } from "@/components/principles";
|
||||
import { Roadmap } from "@/components/roadmap";
|
||||
import { CTA } from "@/components/cta";
|
||||
import { Footer } from "@/components/footer";
|
||||
|
||||
@@ -13,11 +13,11 @@ export default function HomePage() {
|
||||
<main className="min-h-screen">
|
||||
<Header />
|
||||
<Hero />
|
||||
<Problem />
|
||||
<Products />
|
||||
<Workflow />
|
||||
<Resources />
|
||||
<Features />
|
||||
<Paradigm />
|
||||
<Principles />
|
||||
<Roadmap />
|
||||
<CTA />
|
||||
<Footer />
|
||||
</main>
|
||||
|
||||
+24
-10
@@ -1,30 +1,44 @@
|
||||
"use client";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { ArrowRight } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const MANAGER_URL = "https://code.xinghanlab.com/";
|
||||
|
||||
const t = {
|
||||
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",
|
||||
},
|
||||
};
|
||||
|
||||
export function CTA() {
|
||||
const { lang } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<section className="border-t border-border bg-card/30 py-20 sm:py-32">
|
||||
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div className="mx-auto max-w-2xl text-center">
|
||||
<h2 className="text-3xl font-bold tracking-tight sm:text-4xl">
|
||||
准备好强化团队 Code 交付能力了吗?
|
||||
</h2>
|
||||
<p className="mt-4 text-lg text-muted-foreground">
|
||||
从需求到代码到发布,让交付速度、质量门禁与回溯能力同时提升。
|
||||
</p>
|
||||
<h2 className="text-3xl font-bold tracking-tight sm:text-4xl">{tx.h2}</h2>
|
||||
<p className="mt-4 text-lg text-muted-foreground">{tx.subtitle}</p>
|
||||
<div className="mt-10 flex flex-col items-center justify-center gap-4 sm:flex-row">
|
||||
<Button size="lg" className="gap-2" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
进入 Heicode Manager
|
||||
{tx.btn1}
|
||||
<ArrowRight className="h-4 w-4" />
|
||||
</a>
|
||||
</Button>
|
||||
<Button variant="outline" size="lg" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
立即登录
|
||||
</a>
|
||||
<a href="/docs">{tx.btn2}</a>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,68 +1,96 @@
|
||||
import { Shield, Users, Eye, Workflow } from "lucide-react";
|
||||
"use client";
|
||||
import { Sparkles, Cable, BrainCircuit, Lock } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const features = [
|
||||
{
|
||||
icon: Shield,
|
||||
title: "身份与策略一元化",
|
||||
description:
|
||||
"从个人到团队,谁能访问何种资源、何种环境、何种仓库——应有清晰归属与审计预期,而不是散落在若干控制台口径不一致。",
|
||||
const icons = [Sparkles, Cable, BrainCircuit, Lock];
|
||||
|
||||
const t = {
|
||||
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 只拿短期凭证。高危操作需客户端审批。模型用量、余额和所有操作记录统一可查。",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
icon: Workflow,
|
||||
title: "编排与角色范式",
|
||||
description:
|
||||
"既支持个人工作流也支持团队协作:个人可单人执行全流程,团队可按阶段或迭代组织分工。",
|
||||
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.",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
icon: Eye,
|
||||
title: "全生命周期可信交付",
|
||||
description:
|
||||
"从构想到运营,关键产物应能对齐到分支、标签或发布单元:规格、实现、验证、发布、运维与复盘之间有可追溯链路。",
|
||||
},
|
||||
{
|
||||
icon: Users,
|
||||
title: "平台化协作",
|
||||
description:
|
||||
"无论个人还是团队,客户端与 Manager 共同服务协作叙事——跨角色、跨会话、跨环境的一体化体验。",
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
export function Features() {
|
||||
const { lang } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<section id="features" className="border-y border-border bg-card/30 py-20 sm:py-32">
|
||||
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div className="mx-auto max-w-2xl text-center">
|
||||
<p className="text-sm font-medium tracking-widest text-accent uppercase">
|
||||
战略支柱
|
||||
</p>
|
||||
<h2 className="mt-4 text-3xl font-bold tracking-tight sm:text-4xl">
|
||||
四大核心能力
|
||||
</h2>
|
||||
<p className="mt-4 text-muted-foreground">
|
||||
个人开发者到多人团队,都能获得清晰的责任边界与可追溯的交付过程
|
||||
{tx.badge}
|
||||
</p>
|
||||
<h2 className="mt-4 text-3xl font-bold tracking-tight sm:text-4xl">{tx.h2}</h2>
|
||||
<p className="mt-4 text-muted-foreground">{tx.subtitle}</p>
|
||||
</div>
|
||||
|
||||
<div className="mt-16 grid gap-6 sm:grid-cols-2 lg:gap-8">
|
||||
{features.map((feature, index) => (
|
||||
<div
|
||||
key={feature.title}
|
||||
className="relative flex gap-6 rounded-xl border border-border bg-background p-6 sm:p-8"
|
||||
>
|
||||
<div className="flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-accent/10 text-accent">
|
||||
<feature.icon className="h-5 w-5" />
|
||||
{tx.features.map((feature, index) => {
|
||||
const Icon = icons[index];
|
||||
return (
|
||||
<div
|
||||
key={feature.title}
|
||||
className="relative flex gap-6 rounded-xl border border-border bg-background p-6 sm:p-8"
|
||||
>
|
||||
<div className="flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-accent/10 text-accent">
|
||||
<Icon className="h-5 w-5" />
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">{feature.title}</h3>
|
||||
<p className="mt-2 text-sm leading-relaxed text-muted-foreground">
|
||||
{feature.description}
|
||||
</p>
|
||||
</div>
|
||||
<span className="absolute top-4 right-4 text-6xl font-bold text-secondary/50">
|
||||
{String(index + 1).padStart(2, "0")}
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">{feature.title}</h3>
|
||||
<p className="mt-2 text-sm leading-relaxed text-muted-foreground">
|
||||
{feature.description}
|
||||
</p>
|
||||
</div>
|
||||
<span className="absolute top-4 right-4 text-6xl font-bold text-secondary/50">
|
||||
{String(index + 1).padStart(2, "0")}
|
||||
</span>
|
||||
</div>
|
||||
))}
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -1,32 +1,73 @@
|
||||
"use client";
|
||||
import Link from "next/link";
|
||||
import Image from "next/image";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const footerLinks = {
|
||||
产品: [
|
||||
{ label: "Heicode Manager", href: "#" },
|
||||
{ label: "Heicode 客户端", href: "#" },
|
||||
{ label: "Agnet 控制面", href: "#" },
|
||||
],
|
||||
资源: [
|
||||
{ label: "文档", href: "#" },
|
||||
{ label: "集成说明", href: "#" },
|
||||
{ label: "更新日志", href: "#" },
|
||||
{ label: "路线图", href: "#" },
|
||||
],
|
||||
公司: [
|
||||
{ label: "关于我们", href: "#" },
|
||||
{ label: "博客", href: "#" },
|
||||
{ label: "加入我们", href: "#" },
|
||||
{ label: "联系方式", href: "#" },
|
||||
],
|
||||
法律: [
|
||||
{ label: "隐私政策", href: "#" },
|
||||
{ label: "服务条款", href: "#" },
|
||||
{ label: "安全", href: "#" },
|
||||
],
|
||||
const t = {
|
||||
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" },
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export function Footer() {
|
||||
const { lang } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<footer className="border-t border-border bg-background">
|
||||
<div className="mx-auto max-w-7xl px-4 py-12 sm:px-6 lg:px-8 lg:py-16">
|
||||
@@ -34,20 +75,20 @@ export function Footer() {
|
||||
<div className="lg:col-span-1">
|
||||
<Link href="/" className="flex items-center gap-2">
|
||||
<div className="flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-card/60 text-foreground">
|
||||
<Image src="/heicode-logo.svg" alt="Heicode" width={18} height={18} />
|
||||
<Image src="/heicode-logo.png" alt="Heicode" width={18} height={18} />
|
||||
</div>
|
||||
<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">
|
||||
Heicode
|
||||
</span>
|
||||
</Link>
|
||||
<p className="mt-4 text-sm leading-relaxed text-muted-foreground">
|
||||
团队软件交付智能体平台
|
||||
{tx.tagline1}
|
||||
<br />
|
||||
让交付过程可追溯、可复述
|
||||
{tx.tagline2}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{Object.entries(footerLinks).map(([category, links]) => (
|
||||
{Object.entries(tx.categories).map(([category, links]) => (
|
||||
<div key={category}>
|
||||
<h3 className="text-sm font-semibold">{category}</h3>
|
||||
<ul className="mt-4 space-y-3">
|
||||
@@ -67,11 +108,9 @@ export function Footer() {
|
||||
</div>
|
||||
|
||||
<div className="mt-12 border-t border-border pt-8">
|
||||
<div className="flex flex-col items-center justify-between gap-4 sm:flex-row">
|
||||
<p className="text-sm text-muted-foreground">
|
||||
© {new Date().getFullYear()} Heicode. 保留所有权利。
|
||||
</p>
|
||||
</div>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
© {new Date().getFullYear()} Heicode. {tx.copyright}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -5,24 +5,42 @@ import Link from "next/link";
|
||||
import Image from "next/image";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Menu, X } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const navLinks = [
|
||||
{ href: "#products", label: "产品" },
|
||||
{ href: "#features", label: "能力" },
|
||||
{ href: "#paradigm", label: "范式" },
|
||||
{ href: "#principles", label: "原则" },
|
||||
];
|
||||
const MANAGER_URL = "https://code.xinghanlab.com/";
|
||||
|
||||
const t = {
|
||||
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",
|
||||
},
|
||||
};
|
||||
|
||||
export function Header() {
|
||||
const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
|
||||
const { lang, toggle } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<header className="fixed top-0 left-0 right-0 z-50 border-b border-border/50 bg-background/80 backdrop-blur-md">
|
||||
<div className="mx-auto flex h-16 max-w-7xl items-center justify-between px-4 sm:px-6 lg:px-8">
|
||||
<Link href="/" className="flex items-center gap-2">
|
||||
<div className="flex h-8 w-8 items-center justify-center rounded-md border border-border/70 bg-card/60 text-foreground">
|
||||
<Image src="/heicode-logo.svg" alt="Heicode" width={18} height={18} />
|
||||
<Image src="/heicode-logo.png" alt="Heicode" width={18} height={18} />
|
||||
</div>
|
||||
<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">
|
||||
Heicode
|
||||
@@ -31,7 +49,7 @@ export function Header() {
|
||||
|
||||
{/* Desktop Navigation */}
|
||||
<nav className="hidden items-center gap-8 md:flex">
|
||||
{navLinks.map((link) => (
|
||||
{tx.navLinks.map((link) => (
|
||||
<Link
|
||||
key={link.href}
|
||||
href={link.href}
|
||||
@@ -42,34 +60,48 @@ export function Header() {
|
||||
))}
|
||||
</nav>
|
||||
|
||||
<div className="hidden items-center gap-4 md:flex">
|
||||
<div className="hidden items-center gap-3 md:flex">
|
||||
<button
|
||||
onClick={toggle}
|
||||
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"
|
||||
>
|
||||
{lang === "zh" ? "EN" : "中"}
|
||||
</button>
|
||||
<Button variant="ghost" size="sm" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
登录
|
||||
{tx.login}
|
||||
</a>
|
||||
</Button>
|
||||
<Button size="sm" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
开始使用
|
||||
{tx.start}
|
||||
</a>
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
{/* Mobile Menu Button */}
|
||||
<button
|
||||
className="md:hidden"
|
||||
onClick={() => setMobileMenuOpen(!mobileMenuOpen)}
|
||||
aria-label={mobileMenuOpen ? "关闭菜单" : "打开菜单"}
|
||||
>
|
||||
{mobileMenuOpen ? <X className="h-6 w-6" /> : <Menu className="h-6 w-6" />}
|
||||
</button>
|
||||
<div className="flex items-center gap-2 md:hidden">
|
||||
<button
|
||||
onClick={toggle}
|
||||
className="rounded-md border border-border/60 px-2 py-1 font-mono text-xs text-muted-foreground"
|
||||
>
|
||||
{lang === "zh" ? "EN" : "中"}
|
||||
</button>
|
||||
<button
|
||||
onClick={() => setMobileMenuOpen(!mobileMenuOpen)}
|
||||
aria-label={mobileMenuOpen ? "Close menu" : "Open menu"}
|
||||
>
|
||||
{mobileMenuOpen ? <X className="h-6 w-6" /> : <Menu className="h-6 w-6" />}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Mobile Navigation */}
|
||||
{mobileMenuOpen && (
|
||||
<div className="border-t border-border bg-background md:hidden">
|
||||
<nav className="flex flex-col px-4 py-4">
|
||||
{navLinks.map((link) => (
|
||||
{tx.navLinks.map((link) => (
|
||||
<Link
|
||||
key={link.href}
|
||||
href={link.href}
|
||||
@@ -82,12 +114,12 @@ export function Header() {
|
||||
<div className="mt-4 flex flex-col gap-2">
|
||||
<Button variant="ghost" size="sm" className="justify-start" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
登录
|
||||
{tx.login}
|
||||
</a>
|
||||
</Button>
|
||||
<Button size="sm" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
开始使用
|
||||
{tx.start}
|
||||
</a>
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
+112
-53
@@ -1,80 +1,139 @@
|
||||
"use client";
|
||||
import Link from "next/link";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { ArrowRight, Play } from "lucide-react";
|
||||
import { ArrowRight, CirclePlay, Terminal } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const MANAGER_URL = "https://code.xinghanlab.com/";
|
||||
|
||||
const t = {
|
||||
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..."],
|
||||
},
|
||||
};
|
||||
|
||||
export function Hero() {
|
||||
const { lang } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<section className="relative overflow-hidden pt-32 pb-20 sm:pt-40 sm:pb-32">
|
||||
{/* Background Grid */}
|
||||
<div className="pointer-events-none absolute inset-0 bg-[linear-gradient(to_right,rgba(255,255,255,0.02)_1px,transparent_1px),linear-gradient(to_bottom,rgba(255,255,255,0.02)_1px,transparent_1px)] bg-[size:64px_64px]" />
|
||||
|
||||
{/* Gradient Glow */}
|
||||
<div className="pointer-events-none absolute top-0 left-1/2 -translate-x-1/2 h-[500px] w-[800px] bg-accent/5 blur-[120px] rounded-full" />
|
||||
{/* Background Tech Grid & Blur */}
|
||||
<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%)]" />
|
||||
<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" />
|
||||
|
||||
{/* Decorative Tech Corners */}
|
||||
<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" />
|
||||
<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" />
|
||||
<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" />
|
||||
<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" />
|
||||
|
||||
<div className="relative mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div className="mx-auto max-w-3xl text-center">
|
||||
<p className="mb-4 text-sm font-medium tracking-widest text-accent uppercase">
|
||||
个人与团队的软件交付智能体平台
|
||||
</p>
|
||||
|
||||
<h1 className="text-4xl font-bold tracking-tight sm:text-5xl lg:text-6xl text-balance">
|
||||
让代码交付
|
||||
<div className="mx-auto max-w-4xl text-center">
|
||||
<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">
|
||||
<span className="relative flex h-2 w-2">
|
||||
<span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-accent opacity-75"></span>
|
||||
<span className="relative inline-flex h-2 w-2 rounded-full bg-accent"></span>
|
||||
</span>
|
||||
{tx.badge}
|
||||
</div>
|
||||
|
||||
<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)]">
|
||||
{tx.h1a}
|
||||
<br />
|
||||
<span className="text-muted-foreground">更快、更稳、可回溯</span>
|
||||
<span className="bg-gradient-to-r from-amber-200 via-yellow-400 to-accent bg-clip-text text-transparent">{tx.h1b}</span>
|
||||
</h1>
|
||||
|
||||
<p className="mx-auto mt-6 max-w-2xl text-lg text-muted-foreground leading-relaxed text-pretty">
|
||||
以代码为中心组织协作:从任务拆解、提交评审、自动验证到发布回滚,形成闭环交付路径。
|
||||
智能体用于提效,但核心价值是工程质量、交付速度与稳定性同步提升。
|
||||
{tx.subtitle}
|
||||
</p>
|
||||
|
||||
<div className="mt-10 flex flex-col items-center justify-center gap-4 sm:flex-row">
|
||||
<Button size="lg" className="gap-2" asChild>
|
||||
<div className="mt-10 flex flex-col items-center justify-center gap-5 sm:flex-row">
|
||||
<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>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
开始使用
|
||||
<ArrowRight className="h-4 w-4" />
|
||||
<span className="absolute inset-0 bg-white/20 transition-transform duration-300 group-hover:translate-x-full [transform:skewX(-45deg)_translateX(-150%)]" />
|
||||
<Terminal className="h-4 w-4" />
|
||||
{tx.btn1}
|
||||
<ArrowRight className="h-4 w-4 transition-transform group-hover:translate-x-1" />
|
||||
</a>
|
||||
</Button>
|
||||
<Button variant="outline" size="lg" className="gap-2" asChild>
|
||||
<a href={MANAGER_URL} target="_blank" rel="noreferrer">
|
||||
<Play className="h-4 w-4" />
|
||||
打开 Heicode Manager
|
||||
</a>
|
||||
<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>
|
||||
<Link href="/docs#demo">
|
||||
<CirclePlay className="h-4 w-4 text-accent" />
|
||||
{tx.btn2}
|
||||
</Link>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Architecture Diagram Preview */}
|
||||
<div className="mx-auto mt-20 max-w-4xl">
|
||||
<div className="rounded-xl border border-border bg-card/50 p-8 backdrop-blur-sm">
|
||||
<div className="flex flex-col items-center gap-4">
|
||||
<div className="w-full max-w-md rounded-lg border border-border bg-secondary/50 px-6 py-4 text-center">
|
||||
<p className="text-sm text-muted-foreground">人机入口</p>
|
||||
<p className="mt-1 font-medium">官网 · 控制台 · CLI / Desktop</p>
|
||||
{/* Enhanced HUD / Flow Steps */}
|
||||
<div className="mx-auto mt-24 max-w-5xl">
|
||||
<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)]">
|
||||
{/* Terminal Header */}
|
||||
<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">
|
||||
<div className="flex items-center gap-1.5">
|
||||
<span className="h-2 w-2 rounded-full bg-red-500/70" />
|
||||
<span className="h-2 w-2 rounded-full bg-yellow-500/70" />
|
||||
<span className="h-2 w-2 rounded-full bg-green-500/70" />
|
||||
<span className="ml-2 uppercase tracking-widest">{tx.flowLabel}</span>
|
||||
</div>
|
||||
<div className="hidden sm:flex gap-3 text-accent/70">
|
||||
{tx.sysLog.map((log) => (
|
||||
<span key={log} className="opacity-0 animate-[fade-in_2s_ease-out_forwards]" style={{ animationDelay: `${Math.random() * 2}s` }}>
|
||||
> {log}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="p-6 sm:p-8">
|
||||
<div className="flex flex-wrap items-center justify-center gap-3">
|
||||
{tx.steps.map((step, i) => (
|
||||
<div key={step} className="flex items-center gap-3">
|
||||
<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">
|
||||
<span className="font-mono text-[10px] font-bold text-accent/80">
|
||||
{String(i + 1).padStart(2, "0")}
|
||||
</span>
|
||||
<span className="font-mono text-sm tracking-tight text-foreground/90">{step}</span>
|
||||
|
||||
{/* Scanning Line Effect */}
|
||||
<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)]" />
|
||||
</div>
|
||||
{i < tx.steps.length - 1 && (
|
||||
<ArrowRight className="h-4 w-4 shrink-0 text-accent/30" />
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="h-8 w-px bg-border" />
|
||||
<p className="text-xs text-muted-foreground">同一身份与策略边界</p>
|
||||
<div className="h-8 w-px bg-border" />
|
||||
|
||||
<div className="flex w-full max-w-lg items-center justify-center gap-4">
|
||||
<div className="flex-1 rounded-lg border border-border bg-secondary/50 px-4 py-3 text-center">
|
||||
<p className="text-sm font-medium">Heicode Manager</p>
|
||||
</div>
|
||||
<div className="flex h-px w-8 bg-border items-center justify-center">
|
||||
<span className="bg-background px-1 text-xs text-muted-foreground">↔</span>
|
||||
</div>
|
||||
<div className="flex-1 rounded-lg border border-border bg-secondary/50 px-4 py-3 text-center">
|
||||
<p className="text-sm font-medium">Heicode 客户端</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="h-8 w-px bg-border" />
|
||||
|
||||
<div className="w-full max-w-md rounded-lg border border-border bg-secondary/50 px-6 py-4 text-center">
|
||||
<p className="text-sm text-muted-foreground">资产与环境</p>
|
||||
<p className="mt-1 font-medium">仓库 · 流水线 · 运行环境与观测</p>
|
||||
<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">
|
||||
{tx.tags.map((item) => (
|
||||
<div key={item} 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">
|
||||
<span className="h-1 w-1 bg-accent/50 rounded-sm" />
|
||||
{item}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
"use client";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const t = {
|
||||
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.",
|
||||
},
|
||||
};
|
||||
|
||||
export function Problem() {
|
||||
const { lang } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<section className="border-t border-border py-20 sm:py-32">
|
||||
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div className="mx-auto max-w-3xl">
|
||||
<p className="text-sm font-medium uppercase tracking-widest text-accent">
|
||||
{tx.badge}
|
||||
</p>
|
||||
<h2 className="mt-4 text-3xl font-bold tracking-tight sm:text-4xl">
|
||||
{tx.h2a}
|
||||
<br />
|
||||
<span className="text-muted-foreground">{tx.h2b}</span>
|
||||
</h2>
|
||||
|
||||
<div className="mt-12 space-y-4">
|
||||
{tx.problems.map((problem, i) => (
|
||||
<div
|
||||
key={i}
|
||||
className="flex items-start gap-4 rounded-xl border border-border bg-card/30 p-5"
|
||||
>
|
||||
<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">
|
||||
✕
|
||||
</span>
|
||||
<p className="text-sm leading-relaxed text-muted-foreground">{problem}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="mt-10 rounded-xl border border-accent/30 bg-accent/5 p-6">
|
||||
<p className="text-sm leading-relaxed text-muted-foreground">
|
||||
<span className="font-medium text-foreground">{tx.answerLabel}</span>
|
||||
{tx.answerBody}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
@@ -1,65 +1,98 @@
|
||||
import { Layers, Terminal } from "lucide-react";
|
||||
"use client";
|
||||
import { MonitorDot, LayoutDashboard } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const products = [
|
||||
{
|
||||
icon: Layers,
|
||||
name: "Heicode Manager",
|
||||
description:
|
||||
"面向代码交付的团队控制台。把需求、实现、验证、发布与回溯串成一条可执行的工程链路。",
|
||||
features: ["代码任务编排", "质量门禁", "交付追踪", "审计回溯"],
|
||||
const t = {
|
||||
zh: {
|
||||
badge: "产品组成",
|
||||
h2: "两个界面,一套完整体验",
|
||||
subtitle: "客户端是主体验,Manager 是辅助控制台,用户不在网页上编码",
|
||||
products: [
|
||||
{
|
||||
name: "Heicode 客户端",
|
||||
badge: "主体验",
|
||||
description: "用户的主入口。在本地输入产品想法、继续任务、查看 Agnet 执行反馈、接收交付结果、审批高危操作。登录 Heicode 即可使用,无需配置模型。",
|
||||
features: ["任务驾驶舱", "高危审批", "执行反馈", "本地服务"],
|
||||
},
|
||||
{
|
||||
name: "Heicode Manager",
|
||||
badge: "辅助控制台",
|
||||
description: "浏览器端辅助控制台。负责账号与安全、客户端下载、Git 与云资源绑定、Agnet 部署、任务状态总览、模型余额与用量、审计与日志查看。",
|
||||
features: ["资源绑定", "Agnet 部署", "余额与用量", "审计日志"],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
icon: Terminal,
|
||||
name: "Heicode 客户端",
|
||||
description:
|
||||
"终端与桌面侧人机编程客户端及本地服务。与 Manager 协同,在统一策略边界下工作,适配个人与团队工作流。",
|
||||
features: ["IDE 集成", "本地服务", "会话管理", "安全连接"],
|
||||
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"],
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
const icons = [MonitorDot, LayoutDashboard];
|
||||
|
||||
export function Products() {
|
||||
const { lang } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<section id="products" className="py-20 sm:py-32">
|
||||
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div className="mx-auto max-w-2xl text-center">
|
||||
<p className="text-sm font-medium tracking-widest text-accent uppercase">
|
||||
产品矩阵
|
||||
</p>
|
||||
<h2 className="mt-4 text-3xl font-bold tracking-tight sm:text-4xl">
|
||||
个人与团队通用的交付平台
|
||||
</h2>
|
||||
<p className="mt-4 text-muted-foreground">
|
||||
无论规模如何,Manager 与客户端共同服务于统一的交付故事线
|
||||
{tx.badge}
|
||||
</p>
|
||||
<h2 className="mt-4 text-3xl font-bold tracking-tight sm:text-4xl">{tx.h2}</h2>
|
||||
<p className="mt-4 text-muted-foreground">{tx.subtitle}</p>
|
||||
</div>
|
||||
|
||||
<div className="mt-16 grid gap-8 md:grid-cols-2">
|
||||
{products.map((product) => (
|
||||
<div
|
||||
key={product.name}
|
||||
className="group relative rounded-xl border border-border bg-card/50 p-8 transition-colors hover:border-accent/50 hover:bg-card"
|
||||
>
|
||||
<div className="mb-6 flex h-12 w-12 items-center justify-center rounded-lg bg-secondary">
|
||||
<product.icon className="h-6 w-6 text-accent" />
|
||||
</div>
|
||||
|
||||
<h3 className="text-xl font-semibold">{product.name}</h3>
|
||||
<p className="mt-3 text-sm leading-relaxed text-muted-foreground">
|
||||
{product.description}
|
||||
</p>
|
||||
|
||||
<div className="mt-6 flex flex-wrap gap-2">
|
||||
{product.features.map((feature) => (
|
||||
<span
|
||||
key={feature}
|
||||
className="rounded-full bg-secondary px-3 py-1 text-xs text-muted-foreground"
|
||||
>
|
||||
{feature}
|
||||
{tx.products.map((product, idx) => {
|
||||
const Icon = icons[idx];
|
||||
return (
|
||||
<div
|
||||
key={product.name}
|
||||
className="group relative rounded-xl border border-border bg-card/50 p-8 transition-colors hover:border-accent/50 hover:bg-card"
|
||||
>
|
||||
<div className="mb-6 flex items-center gap-3">
|
||||
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-secondary">
|
||||
<Icon className="h-6 w-6 text-accent" />
|
||||
</div>
|
||||
<span className="rounded-full bg-accent/10 px-3 py-1 text-xs font-medium text-accent">
|
||||
{product.badge}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
<h3 className="text-xl font-semibold">{product.name}</h3>
|
||||
<p className="mt-3 text-sm leading-relaxed text-muted-foreground">
|
||||
{product.description}
|
||||
</p>
|
||||
<div className="mt-6 flex flex-wrap gap-2">
|
||||
{product.features.map((feature) => (
|
||||
<span
|
||||
key={feature}
|
||||
className="rounded-full bg-secondary px-3 py-1 text-xs text-muted-foreground"
|
||||
>
|
||||
{feature}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -0,0 +1,160 @@
|
||||
"use client";
|
||||
import { Cable, LockKeyhole, Network, CirclePlay, ArrowRight } from "lucide-react";
|
||||
import Link from "next/link";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const icons = [Cable, LockKeyhole, Network, CirclePlay];
|
||||
|
||||
const t = {
|
||||
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: true,
|
||||
},
|
||||
],
|
||||
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: true,
|
||||
},
|
||||
],
|
||||
highlightLink: "View full usage guide →",
|
||||
},
|
||||
};
|
||||
|
||||
export function Resources() {
|
||||
const { lang } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<section id="resources" className="border-y border-border bg-card/20 py-20 sm:py-32">
|
||||
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div className="mx-auto max-w-2xl text-center">
|
||||
<p className="text-sm font-medium uppercase tracking-widest text-accent">{tx.badge}</p>
|
||||
<h2 className="mt-4 text-3xl font-bold tracking-tight sm:text-4xl">{tx.h2}</h2>
|
||||
<p className="mt-4 text-muted-foreground">{tx.subtitle}</p>
|
||||
</div>
|
||||
|
||||
<div className="mt-16 grid gap-6 sm:grid-cols-2 lg:gap-8">
|
||||
{tx.resources.map((resource, idx) => {
|
||||
const Icon = icons[idx];
|
||||
return (
|
||||
<Link
|
||||
key={resource.title}
|
||||
href={resource.href}
|
||||
className={`group flex flex-col rounded-xl border bg-card/50 p-8 transition-all hover:bg-card hover:shadow-md ${
|
||||
resource.highlight
|
||||
? "border-accent/40 hover:border-accent/70"
|
||||
: "border-border hover:border-accent/40"
|
||||
}`}
|
||||
>
|
||||
<div className="flex items-start gap-4">
|
||||
<div className="flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-accent/10 text-accent">
|
||||
<Icon className="h-5 w-5" />
|
||||
</div>
|
||||
<div className="min-w-0 flex-1">
|
||||
<h3 className="text-lg font-semibold">{resource.title}</h3>
|
||||
<p className="font-mono text-xs text-muted-foreground">{resource.subtitle}</p>
|
||||
</div>
|
||||
<ArrowRight className="h-4 w-4 shrink-0 text-muted-foreground/40 transition-transform group-hover:translate-x-1 group-hover:text-accent" />
|
||||
</div>
|
||||
<p className="mt-4 text-sm leading-relaxed text-muted-foreground">
|
||||
{resource.description}
|
||||
</p>
|
||||
<div className="mt-5 flex flex-wrap gap-2">
|
||||
{resource.tags.map((tag) => (
|
||||
<span
|
||||
key={tag}
|
||||
className="rounded-full bg-secondary px-3 py-1 text-xs text-muted-foreground"
|
||||
>
|
||||
{tag}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
{resource.highlight && (
|
||||
<div className="mt-5 border-t border-accent/20 pt-4">
|
||||
<span className="text-sm font-medium text-accent">{tx.highlightLink}</span>
|
||||
</div>
|
||||
)}
|
||||
</Link>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
|
||||
<div className="mt-10 text-center">
|
||||
<Link
|
||||
href="/docs"
|
||||
className="inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors"
|
||||
>
|
||||
{tx.footerLink}
|
||||
<ArrowRight className="h-3.5 w-3.5" />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
"use client";
|
||||
import { ArrowRight } from "lucide-react";
|
||||
import { useLang } from "@/lib/language";
|
||||
|
||||
const t = {
|
||||
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"],
|
||||
},
|
||||
};
|
||||
|
||||
export function Workflow() {
|
||||
const { lang } = useLang();
|
||||
const tx = t[lang];
|
||||
|
||||
return (
|
||||
<section id="workflow" className="py-20 sm:py-32">
|
||||
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div className="mx-auto max-w-2xl text-center">
|
||||
<p className="text-sm font-medium uppercase tracking-widest text-accent">{tx.badge}</p>
|
||||
<h2 className="mt-4 text-3xl font-bold tracking-tight sm:text-4xl">{tx.h2}</h2>
|
||||
<p className="mt-4 text-muted-foreground">{tx.subtitle}</p>
|
||||
</div>
|
||||
|
||||
<div className="mt-16 grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
|
||||
{tx.steps.map((item) => (
|
||||
<div
|
||||
key={item.step}
|
||||
className="relative rounded-xl border border-border bg-card/50 p-6"
|
||||
>
|
||||
<span className="absolute top-4 right-4 font-mono text-5xl font-bold text-secondary/60">
|
||||
{item.step}
|
||||
</span>
|
||||
<h3 className="relative text-base font-semibold">{item.title}</h3>
|
||||
<p className="relative mt-2 text-sm leading-relaxed text-muted-foreground">{item.desc}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="mt-10 flex items-center justify-center gap-2 text-xs text-muted-foreground">
|
||||
{tx.footer.map((item, i, arr) => (
|
||||
<span key={item} className="flex items-center gap-2">
|
||||
<span className="rounded-full border border-border bg-secondary/50 px-3 py-1">{item}</span>
|
||||
{i < arr.length - 1 && <ArrowRight className="h-3 w-3 text-muted-foreground/40" />}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
"use client";
|
||||
|
||||
import { createContext, useContext, useState } from "react";
|
||||
|
||||
export type Lang = "zh" | "en";
|
||||
|
||||
interface LangCtx {
|
||||
lang: Lang;
|
||||
toggle: () => void;
|
||||
}
|
||||
|
||||
const LanguageContext = createContext<LangCtx>({ lang: "zh", toggle: () => {} });
|
||||
|
||||
export function LanguageProvider({ children }: { children: React.ReactNode }) {
|
||||
const [lang, setLang] = useState<Lang>("zh");
|
||||
return (
|
||||
<LanguageContext.Provider
|
||||
value={{ lang, toggle: () => setLang((l) => (l === "zh" ? "en" : "zh")) }}
|
||||
>
|
||||
{children}
|
||||
</LanguageContext.Provider>
|
||||
);
|
||||
}
|
||||
|
||||
export function useLang() {
|
||||
return useContext(LanguageContext);
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"ViewportBoundary"]
|
||||
3:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"MetadataBoundary"]
|
||||
2:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
3:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
4:"$Sreact.suspense"
|
||||
5:I[39451,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"IconMark"]
|
||||
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.svg","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.svg","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.svg","type":"image/svg+xml"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.svg"}],["$","$L5","6",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"BUv3knTdB83UDDOz70cHX"}
|
||||
5:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L5","6",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[60483,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
3:I[87929,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
4:I[52768,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"Analytics"]
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/05e42yp.xktfx.css","style"]
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/05e42yp.xktfx.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/16ug8_ttttewd.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0duodrajo5fcx.js","async":true}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$L4",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"BUv3knTdB83UDDOz70cHX"}
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L5",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/05e42yp.xktfx.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"BUv3knTdB83UDDOz70cHX"}
|
||||
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50443,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},63522,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={DecodeError:function(){return P},MiddlewareNotFoundError:function(){return O},MissingStaticPage:function(){return h},NormalizeError:function(){return E},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return u},getDisplayName:function(){return l},getLocationOrigin:function(){return c},getURL:function(){return f},isAbsoluteUrl:function(){return a},isResSent:function(){return d},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return N}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let r,t=!1;return(...n)=>(t||(t=!0,r=e(...n)),r)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>s.test(e);function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function f(){let{href:e}=window.location,r=c();return e.substring(r.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function g(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await g(r.Component,r.ctx)}:{};let n=await e.getInitialProps(r);if(t&&d(t))return n;if(!n)throw Object.defineProperty(Error(`"${l(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class P extends Error{}class E extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class h extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class O extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}},14025,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});function i(e){let r={};for(let[t,n]of e.entries()){let e=r[t];void 0===e?r[t]=n:Array.isArray(e)?e.push(n):r[t]=[e,n]}return r}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)r.append(t,u(e));else r.set(t,u(n));return r}function a(e,...r){for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,7507,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},23869,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={DecodeError:function(){return P},MiddlewareNotFoundError:function(){return O},MissingStaticPage:function(){return h},NormalizeError:function(){return E},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return u},getDisplayName:function(){return l},getLocationOrigin:function(){return c},getURL:function(){return f},isAbsoluteUrl:function(){return a},isResSent:function(){return d},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return N}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let r,t=!1;return(...n)=>(t||(t=!0,r=e(...n)),r)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>s.test(e);function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function f(){let{href:e}=window.location,r=c();return e.substring(r.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function g(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await g(r.Component,r.ctx)}:{};let n=await e.getInitialProps(r);if(t&&d(t))return n;if(!n)throw Object.defineProperty(Error(`"${l(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class P extends Error{}class E extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class h extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class O extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}},17516,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});function i(e){let r={};for(let[t,n]of e.entries()){let e=r[t];void 0===e?r[t]=n:Array.isArray(e)?e.push(n):r[t]=[e,n]}return r}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)r.append(t,u(e));else r.set(t,u(n));return r}function a(e,...r){for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+17
-16
@@ -1,18 +1,19 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[60483,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
3:I[87929,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
4:I[52768,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"Analytics"]
|
||||
5:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"OutletBoundary"]
|
||||
6:"$Sreact.suspense"
|
||||
9:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"ViewportBoundary"]
|
||||
b:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"MetadataBoundary"]
|
||||
d:I[69701,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default",1]
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
7:"$Sreact.suspense"
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
c:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
e:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/05e42yp.xktfx.css","style"]
|
||||
0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/05e42yp.xktfx.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/16ug8_ttttewd.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0duodrajo5fcx.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L4",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,null]},null,false,"$@8"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L9",null,{"children":"$La"}],["$","div",null,{"hidden":true,"children":["$","$Lb",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lc"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$d",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/05e42yp.xktfx.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"BUv3knTdB83UDDOz70cHX"}
|
||||
e:[]
|
||||
8:"$We"
|
||||
a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
f:I[39451,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"IconMark"]
|
||||
7:null
|
||||
c:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.svg","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.svg","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.svg","type":"image/svg+xml"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.svg"}],["$","$Lf","6",{}]]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],{},null,false,null]},null,false,"$@9"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$La",null,{"children":"$Lb"}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":"$Ld"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$e",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
f:[]
|
||||
9:"$Wf"
|
||||
b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
10:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
8:null
|
||||
d:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L10","6",{}]]
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[60483,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
3:I[87929,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
4:I[52768,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"Analytics"]
|
||||
5:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"OutletBoundary"]
|
||||
6:"$Sreact.suspense"
|
||||
9:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"ViewportBoundary"]
|
||||
b:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"MetadataBoundary"]
|
||||
d:I[69701,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default",1]
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
7:"$Sreact.suspense"
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
c:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
e:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/05e42yp.xktfx.css","style"]
|
||||
0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/05e42yp.xktfx.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/16ug8_ttttewd.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0duodrajo5fcx.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L4",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,null]},null,false,"$@8"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L9",null,{"children":"$La"}],["$","div",null,{"hidden":true,"children":["$","$Lb",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lc"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$d",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/05e42yp.xktfx.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"BUv3knTdB83UDDOz70cHX"}
|
||||
e:[]
|
||||
8:"$We"
|
||||
a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
f:I[39451,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"IconMark"]
|
||||
7:null
|
||||
c:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.svg","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.svg","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.svg","type":"image/svg+xml"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.svg"}],["$","$Lf","6",{}]]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],{},null,false,null]},null,false,"$@9"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$La",null,{"children":"$Lb"}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":"$Ld"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$e",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
f:[]
|
||||
9:"$Wf"
|
||||
b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
10:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
8:null
|
||||
d:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L10","6",{}]]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"ViewportBoundary"]
|
||||
3:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"MetadataBoundary"]
|
||||
2:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
3:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
4:"$Sreact.suspense"
|
||||
5:I[39451,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"IconMark"]
|
||||
0:{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.svg","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.svg","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.svg","type":"image/svg+xml"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.svg"}],["$","$L5","6",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"BUv3knTdB83UDDOz70cHX"}
|
||||
5:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
0:{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L5","6",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[60483,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
3:I[87929,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
4:I[52768,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"Analytics"]
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/05e42yp.xktfx.css","style"]
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/05e42yp.xktfx.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/16ug8_ttttewd.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0duodrajo5fcx.js","async":true}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$L4",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"BUv3knTdB83UDDOz70cHX"}
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L5",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[25078,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"OutletBoundary"]
|
||||
2:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
3:"$Sreact.suspense"
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"BUv3knTdB83UDDOz70cHX"}
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
4:null
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[60483,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
3:I[87929,["/_next/static/chunks/16ug8_ttttewd.js","/_next/static/chunks/0duodrajo5fcx.js"],"default"]
|
||||
2:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
3:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:[]
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"BUv3knTdB83UDDOz70cHX"}
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/05e42yp.xktfx.css","style"]
|
||||
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"/_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"BUv3knTdB83UDDOz70cHX"}
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"/_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,23 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
7:I[6548,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/0hhu-twtc7egd.js","/_next/static/chunks/0wv1u~q3gp3dx.js"],"default"]
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
b:"$Sreact.suspense"
|
||||
d:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
f:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
11:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"P":null,"c":["","docs"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0hhu-twtc7egd.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0wv1u~q3gp3dx.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
8:{}
|
||||
9:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
||||
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
12:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
c:null
|
||||
10:[["$","title","0",{"children":"Docs / 产品文档 — Heicode"}],["$","meta","1",{"name":"description","content":"Heicode product guide: quick start, resource binding, secret vault, model gateway and product demo."}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L12","6",{}]]
|
||||
@@ -0,0 +1,23 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
7:I[6548,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/0hhu-twtc7egd.js","/_next/static/chunks/0wv1u~q3gp3dx.js"],"default"]
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
b:"$Sreact.suspense"
|
||||
d:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
f:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
11:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"P":null,"c":["","docs"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0hhu-twtc7egd.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0wv1u~q3gp3dx.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
8:{}
|
||||
9:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
||||
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
12:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
c:null
|
||||
10:[["$","title","0",{"children":"Docs / 产品文档 — Heicode"}],["$","meta","1",{"name":"description","content":"Heicode product guide: quick start, resource binding, secret vault, model gateway and product demo."}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L12","6",{}]]
|
||||
@@ -0,0 +1,6 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
3:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
4:"$Sreact.suspense"
|
||||
5:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Docs / 产品文档 — Heicode"}],["$","meta","1",{"name":"description","content":"Heicode product guide: quick start, resource binding, secret vault, model gateway and product demo."}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L5","6",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,8 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L5",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,5 @@
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"docs","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,9 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
3:I[6548,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/0hhu-twtc7egd.js","/_next/static/chunks/0wv1u~q3gp3dx.js"],"default"]
|
||||
6:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
7:"$Sreact.suspense"
|
||||
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0hhu-twtc7egd.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0wv1u~q3gp3dx.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
4:{}
|
||||
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
||||
8:null
|
||||
@@ -0,0 +1,4 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
3:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
File diff suppressed because one or more lines are too long
+24
-39
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,25 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
7:I[40969,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/063ae48e1jrt7.js"],"default"]
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
b:"$Sreact.suspense"
|
||||
e:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
10:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
12:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"P":null,"c":["","legal","privacy"],"q":"","i":false,"f":[[["",{"children":["legal",{"children":["privacy",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/063ae48e1jrt7.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$@d"]},null,false,"$@d"]},null,false,null],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
13:[]
|
||||
d:"$W13"
|
||||
8:{}
|
||||
9:"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
||||
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
14:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
c:null
|
||||
11:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L14","6",{}]]
|
||||
@@ -0,0 +1,25 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
7:I[40969,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/063ae48e1jrt7.js"],"default"]
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
b:"$Sreact.suspense"
|
||||
e:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
10:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
12:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"P":null,"c":["","legal","privacy"],"q":"","i":false,"f":[[["",{"children":["legal",{"children":["privacy",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/063ae48e1jrt7.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$@d"]},null,false,"$@d"]},null,false,null],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
13:[]
|
||||
d:"$W13"
|
||||
8:{}
|
||||
9:"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
||||
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
14:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
c:null
|
||||
11:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L14","6",{}]]
|
||||
@@ -0,0 +1,6 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
3:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
4:"$Sreact.suspense"
|
||||
5:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L5","6",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,8 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L5",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,5 @@
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"legal","param":null,"prefetchHints":0,"slots":{"children":{"name":"privacy","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,9 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
3:I[40969,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/063ae48e1jrt7.js"],"default"]
|
||||
6:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
7:"$Sreact.suspense"
|
||||
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/063ae48e1jrt7.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
4:{}
|
||||
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
||||
8:null
|
||||
@@ -0,0 +1,5 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
3:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:[]
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,5 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
3:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:[]
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,25 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
7:I[86486,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/0yzmx95z5_0~s.js"],"default"]
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
b:"$Sreact.suspense"
|
||||
e:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
10:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
12:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"P":null,"c":["","legal","security"],"q":"","i":false,"f":[[["",{"children":["legal",{"children":["security",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0yzmx95z5_0~s.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$@d"]},null,false,"$@d"]},null,false,null],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
13:[]
|
||||
d:"$W13"
|
||||
8:{}
|
||||
9:"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
||||
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
14:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
c:null
|
||||
11:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L14","6",{}]]
|
||||
@@ -0,0 +1,25 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
7:I[86486,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/0yzmx95z5_0~s.js"],"default"]
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
b:"$Sreact.suspense"
|
||||
e:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
10:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
12:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"P":null,"c":["","legal","security"],"q":"","i":false,"f":[[["",{"children":["legal",{"children":["security",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0yzmx95z5_0~s.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$@d"]},null,false,"$@d"]},null,false,null],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
13:[]
|
||||
d:"$W13"
|
||||
8:{}
|
||||
9:"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
||||
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
14:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
c:null
|
||||
11:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L14","6",{}]]
|
||||
@@ -0,0 +1,6 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
3:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
4:"$Sreact.suspense"
|
||||
5:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L5","6",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,8 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L5",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,5 @@
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"legal","param":null,"prefetchHints":0,"slots":{"children":{"name":"security","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,9 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
3:I[86486,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/0yzmx95z5_0~s.js"],"default"]
|
||||
6:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
7:"$Sreact.suspense"
|
||||
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0yzmx95z5_0~s.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
4:{}
|
||||
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
||||
8:null
|
||||
@@ -0,0 +1,5 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
3:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:[]
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,5 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
3:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:[]
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,25 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
7:I[77742,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/03sg2vxcecckm.js"],"default"]
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
b:"$Sreact.suspense"
|
||||
e:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
10:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
12:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"P":null,"c":["","legal","terms"],"q":"","i":false,"f":[[["",{"children":["legal",{"children":["terms",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/03sg2vxcecckm.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$@d"]},null,false,"$@d"]},null,false,null],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
13:[]
|
||||
d:"$W13"
|
||||
8:{}
|
||||
9:"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
||||
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
14:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
c:null
|
||||
11:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L14","6",{}]]
|
||||
@@ -0,0 +1,25 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
6:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
7:I[77742,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/03sg2vxcecckm.js"],"default"]
|
||||
a:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
b:"$Sreact.suspense"
|
||||
e:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
10:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
12:I[89192,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default",1]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"P":null,"c":["","legal","terms"],"q":"","i":false,"f":[[["",{"children":["legal",{"children":["terms",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/03sg2vxcecckm.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$@d"]},null,false,"$@d"]},null,false,null],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"zarr1ttUZL30DdFntQL0N"}
|
||||
13:[]
|
||||
d:"$W13"
|
||||
8:{}
|
||||
9:"$0:f:0:1:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
||||
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||
14:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
c:null
|
||||
11:[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L14","6",{}]]
|
||||
@@ -0,0 +1,6 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ViewportBoundary"]
|
||||
3:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"MetadataBoundary"]
|
||||
4:"$Sreact.suspense"
|
||||
5:I[18516,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"IconMark"]
|
||||
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Heicode - 团队软件交付智能体平台"}],["$","meta","1",{"name":"description","content":"让团队能以可复述的方式回答「谁在何时对什么负责」「依据是什么」「如何回溯」。智能体适合承接标准化、可重复的环节,人机分工与审批边界由组织策略定义。"}],["$","link","2",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: light)"}],["$","link","3",{"rel":"icon","href":"/heicode-logo.png","media":"(prefers-color-scheme: dark)"}],["$","link","4",{"rel":"icon","href":"/heicode-logo.png","type":"image/png"}],["$","link","5",{"rel":"apple-touch-icon","href":"/heicode-logo.png"}],["$","$L5","6",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,8 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[56780,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"LanguageProvider"]
|
||||
3:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
5:I[91222,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"Analytics"]
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0x.pxwmy6tt~x.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0m802isop-v2v.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0dt3aid33ais1.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0vzzrchhavio..js","async":true}]],["$","html",null,{"lang":"zh-CN","className":"bg-background","children":["$","body",null,{"className":"font-sans antialiased","children":[["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L5",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,5 @@
|
||||
:HL["/_next/static/chunks/0x.pxwmy6tt~x.css","style"]
|
||||
:HL["/_next/static/chunks/0m802isop-v2v.css","style"]
|
||||
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"legal","param":null,"prefetchHints":0,"slots":{"children":{"name":"terms","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,9 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[30101,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"ClientPageRoot"]
|
||||
3:I[77742,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js","/_next/static/chunks/03sg2vxcecckm.js"],"default"]
|
||||
6:I[19400,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"OutletBoundary"]
|
||||
7:"$Sreact.suspense"
|
||||
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/03sg2vxcecckm.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
4:{}
|
||||
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
||||
8:null
|
||||
@@ -0,0 +1,5 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
3:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:[]
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
@@ -0,0 +1,5 @@
|
||||
1:"$Sreact.fragment"
|
||||
2:I[87180,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
3:I[42045,["/_next/static/chunks/0dt3aid33ais1.js","/_next/static/chunks/0vzzrchhavio..js"],"default"]
|
||||
4:[]
|
||||
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"zarr1ttUZL30DdFntQL0N"}
|
||||
Generated
+4070
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user