mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-29 07:01:44 +00:00
install/migrate-from-openclaw and cli/migrate are converted from hanzoai/bot's docs (branch migrate-openclaw) with the converter that copies the bot's words as written, and sit in the Installation and CLI Reference nav. The docs home's Start here and the landing page's quickstart point OpenClaw users at the guide. Co-authored-by: Hanzo Dev <[email protected]>
492 lines
25 KiB
TypeScript
492 lines
25 KiB
TypeScript
import Link from 'next/link';
|
|
import { cn } from '@/lib/cn';
|
|
import { cva } from 'class-variance-authority';
|
|
import {
|
|
HomeIcon, MessageCircleIcon, BrainIcon, GlobeIcon,
|
|
TerminalIcon, PuzzleIcon, MonitorIcon, ShieldIcon,
|
|
DownloadIcon, LogInIcon, UsersIcon, BookOpenIcon,
|
|
CheckIcon, ArrowRightIcon, SparklesIcon,
|
|
WalletIcon, StoreIcon, CpuIcon, LockKeyholeIcon,
|
|
CoinsIcon, BotIcon, ZapIcon, NetworkIcon,
|
|
} from 'lucide-react';
|
|
import testimonials from '@/data/testimonials.json';
|
|
import { TestimonialCarousel } from './_components/testimonial-carousel';
|
|
import { InstallTabs } from './_components/install-tabs';
|
|
import { IntegrationPills } from './_components/integration-pills';
|
|
import { NinjaHero } from './_components/ninja-hero';
|
|
|
|
const headingVariants = cva('font-medium tracking-tight', {
|
|
variants: {
|
|
variant: {
|
|
h1: 'text-4xl lg:text-5xl xl:text-6xl',
|
|
h2: 'text-3xl lg:text-4xl',
|
|
h3: 'text-xl lg:text-2xl',
|
|
},
|
|
},
|
|
});
|
|
|
|
const models = [
|
|
{ provider: 'Hanzo', names: 'enso, zen5, zen5-coder' },
|
|
{ provider: 'Anthropic', names: 'Claude Opus 4.6, Sonnet 4.5' },
|
|
{ provider: 'OpenAI', names: 'GPT-5.2, GPT-5.1 Codex' },
|
|
{ provider: 'Google', names: 'Gemini 3 Pro, Flash' },
|
|
{ provider: 'Open Source', names: 'Qwen 3, GLM 4.7, Llama' },
|
|
{ provider: 'Together AI', names: 'DeepSeek, Mixtral, more' },
|
|
{ provider: 'OpenRouter', names: 'Aggregated third-party catalogue' },
|
|
];
|
|
|
|
const features = [
|
|
{ icon: HomeIcon, title: 'Runs on Your Machine', desc: 'Mac, Windows, or Linux. Anthropic, OpenAI, or local models. Private by default\u2014your data stays yours.', href: 'https://github.com/hanzoai/bot' },
|
|
{ icon: MessageCircleIcon, title: 'Any Chat App', desc: 'Talk to it on WhatsApp, Telegram, Discord, Slack, Signal, or iMessage. Works in DMs and group chats.', href: '/integrations' },
|
|
{ icon: BrainIcon, title: 'Persistent Memory', desc: 'Remembers you and becomes uniquely yours. Your preferences, your context, your AI.', href: 'https://github.com/hanzoai/bot' },
|
|
{ icon: GlobeIcon, title: 'Browser Control', desc: 'It can browse the web, fill forms, and extract data from any site.', href: 'https://github.com/hanzoai/bot' },
|
|
{ icon: TerminalIcon, title: 'Full System Access', desc: 'Read and write files, run shell commands, execute scripts. Full access or sandboxed\u2014your choice.', href: 'https://github.com/hanzoai/bot' },
|
|
{ icon: PuzzleIcon, title: 'Skills & Plugins', desc: 'Extend with community skills or build your own. It can even write its own.', href: '/skills' },
|
|
];
|
|
|
|
const pricingTiers = [
|
|
{
|
|
name: 'Free',
|
|
price: '$0',
|
|
period: 'forever',
|
|
desc: 'Run locally on your own hardware.',
|
|
cta: 'Download Free',
|
|
ctaHref: '#quickstart',
|
|
features: [
|
|
'Runs on Mac, Windows, Linux',
|
|
'Bring your own API keys',
|
|
'All chat integrations',
|
|
'Full system access',
|
|
'Community skills & plugins',
|
|
'Browse marketplace listings',
|
|
],
|
|
},
|
|
{
|
|
name: 'Cloud',
|
|
price: '$5',
|
|
period: '/mo per bot',
|
|
desc: 'Full VM in Hanzo Cloud. Always on.',
|
|
cta: 'Start Free Trial',
|
|
ctaHref: 'https://app.hanzo.bot/auth/signup?plan=cloud',
|
|
highlight: true,
|
|
badge: 'Most Popular',
|
|
features: [
|
|
'Full Linux desktop VM',
|
|
'Hanzo AI API included',
|
|
'Bot wallet with AI coin funding',
|
|
'Marketplace buying & selling',
|
|
'Auto-purchase compute rules',
|
|
'Persistent memory & files',
|
|
],
|
|
},
|
|
{
|
|
name: 'Cloud Pro',
|
|
price: '$25',
|
|
period: '/mo per bot',
|
|
desc: 'Mac or Windows VM for native apps.',
|
|
cta: 'Get Started',
|
|
ctaHref: 'https://app.hanzo.bot/auth/signup?plan=cloud-pro',
|
|
features: [
|
|
'macOS or Windows desktop VM',
|
|
'Confidential computing (TEE)',
|
|
'Priority model access',
|
|
'On-chain settlement & earnings',
|
|
'Custom agent marketplace listings',
|
|
'Priority support',
|
|
],
|
|
},
|
|
];
|
|
|
|
export default function Page() {
|
|
return (
|
|
<main className="relative z-[1] max-w-[860px] mx-auto px-4 sm:px-6 pt-12 sm:pt-16 pb-10 overflow-hidden">
|
|
<div className="stars" />
|
|
<div className="nebula" />
|
|
|
|
{/* Hero */}
|
|
<header className="text-center mb-16 animate-[fadeInUp_0.8s_ease-out]">
|
|
<NinjaHero />
|
|
|
|
<h1 className="text-3xl sm:text-4xl lg:text-5xl xl:text-6xl font-bold tracking-tight mb-4 leading-[1.1]">
|
|
<span className="bg-gradient-to-br from-fd-foreground via-brand to-[#00e5cc] bg-[length:200%_200%] bg-clip-text text-transparent animate-[gradientShift_6s_ease_infinite]">
|
|
Your AI Team.
|
|
</span>
|
|
<br />
|
|
<span className="text-fd-foreground">In a Box.</span>
|
|
</h1>
|
|
|
|
<p className="text-brand text-sm font-medium tracking-[0.15em] uppercase mb-6 animate-[fadeInUp_0.8s_ease-out_0.15s_both]">
|
|
One bot. Every role. Every channel.
|
|
</p>
|
|
|
|
<p className="text-base sm:text-lg text-fd-muted-foreground max-w-[680px] mx-auto leading-relaxed animate-[fadeInUp_0.8s_ease-out_0.3s_both]">
|
|
Stop hiring for every role. Hanzo Bot is a full-blown computer-using AI agent that runs locally
|
|
on your Mac or deploys to Hanzo Cloud. Fund bots with real money, let them autonomously buy
|
|
compute on the AI Capacity Marketplace, and settle on-chain. One platform for AI teams that
|
|
code, design, test, ship, and earn.
|
|
</p>
|
|
|
|
<div className="flex flex-col sm:flex-row gap-4 justify-center mt-8 animate-[fadeInUp_0.8s_ease-out_0.45s_both]">
|
|
<Link
|
|
href="/get-started"
|
|
className="inline-flex items-center justify-center gap-2 px-7 py-3.5 font-semibold text-[#050810] bg-gradient-to-br from-brand to-[#e03e3e] rounded-xl no-underline transition-all hover:-translate-y-0.5 hover:shadow-[0_8px_40px_rgba(255,77,77,0.45)] shadow-[0_4px_24px_rgba(255,77,77,0.3)]"
|
|
>
|
|
<DownloadIcon className="w-5 h-5" />
|
|
Get Started Free
|
|
</Link>
|
|
<a
|
|
href="https://app.hanzo.bot"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="inline-flex items-center justify-center gap-2 px-7 py-3.5 font-semibold text-fd-foreground bg-[rgba(255,255,255,0.05)] border border-fd-border rounded-xl no-underline transition-all hover:-translate-y-0.5 hover:bg-[rgba(0,229,204,0.08)] hover:border-[#00e5cc] hover:shadow-[0_8px_40px_rgba(0,229,204,0.2)]"
|
|
>
|
|
<LogInIcon className="w-5 h-5" />
|
|
Launch in Cloud — $5/mo
|
|
</a>
|
|
</div>
|
|
</header>
|
|
|
|
{/* Why You Need a Bot */}
|
|
<section className="mb-14 animate-[fadeInUp_0.8s_ease-out_0.5s_both]">
|
|
<h2 className="text-xl font-semibold flex items-center gap-2.5 mb-5">
|
|
<span className="text-brand font-bold">⟩</span> Why Everyone Needs Their Own Bot
|
|
</h2>
|
|
<div className="grid grid-cols-1 sm:grid-cols-3 gap-4">
|
|
{[
|
|
{ emoji: '💸', title: 'Save $200K+/yr', desc: 'One bot replaces the cost of multiple specialized hires. Fund it once, let it buy its own compute.' },
|
|
{ emoji: 'âš¡', title: 'Ship 10x Faster', desc: 'Instant code reviews, automated testing, docs written as you code. Bots auto-purchase capacity as they need it.' },
|
|
{ emoji: '🔒', title: 'Private by Default', desc: 'Confidential computing with hardware-level isolation. Your data stays encrypted, even from the host.' },
|
|
].map((item) => (
|
|
<div key={item.title} className="flex flex-col items-center text-center gap-3 p-5 rounded-2xl border border-fd-border bg-[rgba(10,15,26,0.6)] backdrop-blur-sm transition-all hover:-translate-y-1 hover:border-brand">
|
|
<span className="text-3xl">{item.emoji}</span>
|
|
<h3 className="text-sm font-bold text-fd-foreground">{item.title}</h3>
|
|
<p className="text-xs text-fd-muted-foreground leading-relaxed">{item.desc}</p>
|
|
</div>
|
|
))}
|
|
</div>
|
|
</section>
|
|
|
|
{/* Models */}
|
|
<section className="mb-14">
|
|
<h2 className="text-xl font-semibold flex items-center gap-2.5 mb-5">
|
|
<span className="text-brand font-bold">⟩</span> Models
|
|
</h2>
|
|
<div className="grid grid-cols-2 sm:grid-cols-3 gap-3">
|
|
{models.map((m) => (
|
|
<div key={m.provider} className="flex flex-col gap-1 p-4 rounded-xl border border-fd-border bg-[rgba(10,15,26,0.6)] backdrop-blur-sm transition-all hover:border-brand hover:-translate-y-0.5">
|
|
<span className="text-xs font-semibold text-brand uppercase tracking-wider">{m.provider}</span>
|
|
<span className="text-sm text-fd-muted-foreground">{m.names}</span>
|
|
</div>
|
|
))}
|
|
</div>
|
|
<p className="mt-4 text-center text-sm text-fd-muted-foreground">
|
|
Bring your own API keys or use Hanzo Cloud for instant access to all models.
|
|
</p>
|
|
</section>
|
|
|
|
{/* Testimonials */}
|
|
<TestimonialCarousel testimonials={testimonials} />
|
|
|
|
{/* Install Tabs */}
|
|
<div id="quickstart">
|
|
<InstallTabs />
|
|
<p className="mt-3 text-center text-sm text-fd-muted-foreground">
|
|
Coming from OpenClaw?{' '}
|
|
<Link
|
|
href="/docs/install/migrate-from-openclaw"
|
|
className="text-brand font-medium hover:text-[#00e5cc] transition-colors no-underline"
|
|
>
|
|
Move your install with one command
|
|
</Link>
|
|
</p>
|
|
</div>
|
|
|
|
{/* Features */}
|
|
<section className="mb-14">
|
|
<h2 className="text-xl font-semibold flex items-center gap-2.5 mb-5">
|
|
<span className="text-brand font-bold">⟩</span> What It Does
|
|
</h2>
|
|
<div className="grid grid-cols-2 sm:grid-cols-3 gap-4">
|
|
{features.map((f) => {
|
|
const Icon = f.icon;
|
|
const isExternal = f.href.startsWith('http');
|
|
const El = isExternal ? 'a' : Link;
|
|
const props = isExternal ? { target: '_blank', rel: 'noopener noreferrer' } : {};
|
|
return (
|
|
<El
|
|
key={f.title}
|
|
href={f.href}
|
|
{...props}
|
|
className="block p-5 rounded-2xl border border-fd-border bg-[rgba(10,15,26,0.6)] backdrop-blur-sm no-underline text-inherit transition-all hover:-translate-y-1 hover:border-brand hover:shadow-[0_12px_40px_rgba(255,77,77,0.2)]"
|
|
>
|
|
<div className="flex items-center justify-center mb-3">
|
|
<Icon className="w-7 h-7 text-brand" />
|
|
</div>
|
|
<h3 className="text-sm font-semibold text-fd-foreground mb-1.5">{f.title}</h3>
|
|
<p className="text-xs text-fd-muted-foreground leading-relaxed">{f.desc}</p>
|
|
</El>
|
|
);
|
|
})}
|
|
</div>
|
|
</section>
|
|
|
|
{/* Integrations */}
|
|
<IntegrationPills />
|
|
|
|
{/* Marketplace & Economy */}
|
|
<section className="mb-14" id="marketplace">
|
|
<h2 className="text-xl font-semibold flex items-center gap-2.5 mb-2">
|
|
<span className="text-brand font-bold">⟩</span> AI Capacity Marketplace
|
|
</h2>
|
|
<p className="text-sm text-fd-muted-foreground mb-6">
|
|
Buy and sell AI compute. Fund your bots. Let them purchase autonomously.
|
|
</p>
|
|
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
{[
|
|
{
|
|
icon: StoreIcon,
|
|
title: 'Buy & Sell Compute',
|
|
desc: 'A real marketplace for AI capacity — Claude Code sessions, GPU hours, custom agents, API keys. List your spare capacity or buy what you need.',
|
|
tag: 'Marketplace',
|
|
},
|
|
{
|
|
icon: WalletIcon,
|
|
title: 'Bot Wallets',
|
|
desc: 'Each bot gets a real on-chain wallet. Fund it with AI coin or USD. Bots spend from their own balance to purchase compute autonomously.',
|
|
tag: 'On-Chain',
|
|
},
|
|
{
|
|
icon: ZapIcon,
|
|
title: 'Auto-Purchase Rules',
|
|
desc: 'Set rules for what your bot can buy — capacity type, max price, preferred model. When balance dips, bots buy more compute automatically.',
|
|
tag: 'Autonomous',
|
|
},
|
|
{
|
|
icon: LockKeyholeIcon,
|
|
title: 'Confidential Computing',
|
|
desc: 'NVIDIA Blackwell TEE for hardware-encrypted execution. Attestation verification, encrypted memory, zero-trust compute on the marketplace.',
|
|
tag: 'TEE',
|
|
},
|
|
].map((item) => {
|
|
const Icon = item.icon;
|
|
return (
|
|
<div
|
|
key={item.title}
|
|
className="flex flex-col gap-3 p-5 rounded-2xl border border-fd-border bg-[rgba(10,15,26,0.6)] backdrop-blur-sm transition-all hover:-translate-y-1 hover:border-[#00e5cc] hover:shadow-[0_12px_40px_rgba(0,229,204,0.15)]"
|
|
>
|
|
<div className="flex items-center gap-3">
|
|
<Icon className="w-6 h-6 text-[#00e5cc]" />
|
|
<h3 className="text-sm font-bold text-fd-foreground">{item.title}</h3>
|
|
<span className="ml-auto px-2 py-0.5 text-[10px] font-bold uppercase tracking-wider text-[#00e5cc] border border-[rgba(0,229,204,0.3)] rounded-full">
|
|
{item.tag}
|
|
</span>
|
|
</div>
|
|
<p className="text-xs text-fd-muted-foreground leading-relaxed">{item.desc}</p>
|
|
</div>
|
|
);
|
|
})}
|
|
</div>
|
|
<div className="mt-5 grid grid-cols-3 gap-3">
|
|
{[
|
|
{ icon: BotIcon, label: 'Custom Agents', desc: 'DID-backed trained agents for rent' },
|
|
{ icon: CoinsIcon, label: 'AI Coin Settlement', desc: 'On-chain payments & earnings' },
|
|
{ icon: NetworkIcon, label: 'Decentralized', desc: 'Anyone can list & sell capacity' },
|
|
].map((item) => {
|
|
const Icon = item.icon;
|
|
return (
|
|
<div key={item.label} className="flex flex-col items-center text-center gap-2 p-4 rounded-xl border border-fd-border bg-[rgba(10,15,26,0.6)] backdrop-blur-sm transition-all hover:border-[#00e5cc]">
|
|
<Icon className="w-5 h-5 text-[#00e5cc]" />
|
|
<span className="text-xs font-semibold text-fd-foreground">{item.label}</span>
|
|
<span className="text-[10px] text-fd-muted-foreground">{item.desc}</span>
|
|
</div>
|
|
);
|
|
})}
|
|
</div>
|
|
</section>
|
|
|
|
{/* Pricing */}
|
|
<section className="mb-14" id="pricing">
|
|
<h2 className="text-xl font-semibold flex items-center gap-2.5 mb-2">
|
|
<span className="text-brand font-bold">⟩</span> Simple Pricing
|
|
</h2>
|
|
<p className="text-sm text-fd-muted-foreground mb-6">
|
|
Get started free. Scale when you're ready.
|
|
</p>
|
|
<div className="grid grid-cols-1 sm:grid-cols-3 gap-4">
|
|
{pricingTiers.map((tier) => (
|
|
<div
|
|
key={tier.name}
|
|
className={cn(
|
|
'relative flex flex-col p-6 rounded-2xl border backdrop-blur-sm transition-all hover:-translate-y-1',
|
|
tier.highlight
|
|
? 'border-brand bg-gradient-to-br from-[rgba(255,77,77,0.08)] to-[rgba(10,15,26,0.8)] shadow-[0_4px_24px_rgba(255,77,77,0.2)]'
|
|
: 'border-fd-border bg-[rgba(10,15,26,0.6)]',
|
|
)}
|
|
>
|
|
{tier.badge && (
|
|
<span className="absolute -top-3 left-1/2 -translate-x-1/2 px-3 py-0.5 text-xs font-bold bg-brand text-white rounded-full">
|
|
{tier.badge}
|
|
</span>
|
|
)}
|
|
<h3 className="text-lg font-bold text-fd-foreground mb-1">{tier.name}</h3>
|
|
<div className="flex items-baseline gap-1 mb-2">
|
|
<span className="text-3xl font-bold text-fd-foreground">{tier.price}</span>
|
|
<span className="text-sm text-fd-muted-foreground">{tier.period}</span>
|
|
</div>
|
|
<p className="text-sm text-fd-muted-foreground mb-4">{tier.desc}</p>
|
|
<ul className="flex flex-col gap-2 mb-6 flex-1">
|
|
{tier.features.map((feat) => (
|
|
<li key={feat} className="flex items-start gap-2 text-sm text-fd-muted-foreground">
|
|
<CheckIcon className="w-4 h-4 text-brand shrink-0 mt-0.5" />
|
|
{feat}
|
|
</li>
|
|
))}
|
|
</ul>
|
|
<a
|
|
href={tier.ctaHref}
|
|
target={tier.ctaHref.startsWith('http') ? '_blank' : undefined}
|
|
rel={tier.ctaHref.startsWith('http') ? 'noopener noreferrer' : undefined}
|
|
className={cn(
|
|
'inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl font-semibold no-underline transition-all hover:-translate-y-0.5 text-center',
|
|
tier.highlight
|
|
? 'bg-gradient-to-br from-brand to-[#e03e3e] text-[#050810] hover:shadow-[0_8px_40px_rgba(255,77,77,0.45)] shadow-[0_4px_24px_rgba(255,77,77,0.3)]'
|
|
: 'bg-[rgba(255,255,255,0.05)] border border-fd-border text-fd-foreground hover:border-brand',
|
|
)}
|
|
>
|
|
{tier.cta}
|
|
<ArrowRightIcon className="w-4 h-4" />
|
|
</a>
|
|
</div>
|
|
))}
|
|
</div>
|
|
<div className="mt-6 text-center">
|
|
<Link href="/pricing" className="text-sm text-brand font-medium hover:text-[#00e5cc] transition-colors no-underline">
|
|
View full pricing & FAQ →
|
|
</Link>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Why Hanzo Bot */}
|
|
<section className="mb-14">
|
|
<h2 className="text-xl font-semibold flex items-center gap-2.5 mb-5">
|
|
<span className="text-brand font-bold">⟩</span> Why Hanzo Bot
|
|
</h2>
|
|
<div className="grid grid-cols-1 sm:grid-cols-2 gap-5">
|
|
<div className="flex flex-col items-center gap-4 p-6 rounded-2xl border border-[rgba(255,77,77,0.3)] bg-gradient-to-br from-[rgba(255,77,77,0.05)] to-[rgba(10,15,26,0.7)] backdrop-blur-sm text-center transition-all hover:-translate-y-1 hover:border-brand hover:shadow-[0_12px_40px_rgba(255,77,77,0.15)]">
|
|
<div className="flex items-center gap-2.5">
|
|
<MonitorIcon className="w-7 h-7 text-fd-muted-foreground" />
|
|
<span className="text-lg font-semibold text-fd-muted-foreground">Full Desktop VMs</span>
|
|
</div>
|
|
<blockquote className="text-sm font-medium leading-relaxed italic">
|
|
Each agent gets a full cloud desktop environment. Browse, code, design — just like a real team member.
|
|
</blockquote>
|
|
<span className="text-sm text-brand font-medium">Powered by Hanzo Cloud</span>
|
|
</div>
|
|
<div className="flex flex-col items-center gap-4 p-6 rounded-2xl border border-fd-border bg-[rgba(10,15,26,0.7)] backdrop-blur-sm text-center transition-all hover:-translate-y-1 hover:border-brand hover:shadow-[0_12px_40px_rgba(255,77,77,0.15)]">
|
|
<div className="flex items-center gap-2.5">
|
|
<WalletIcon className="w-7 h-7 text-fd-muted-foreground" />
|
|
<span className="text-lg font-semibold text-fd-muted-foreground">Real Bot Wallets</span>
|
|
</div>
|
|
<blockquote className="text-sm font-medium leading-relaxed italic">
|
|
Fund your bots with AI coin or USD. They hold real balances, buy their own compute, and settle on-chain. Autonomous economic agents.
|
|
</blockquote>
|
|
<span className="text-sm text-[#00e5cc] font-medium">On-Chain Settlement</span>
|
|
</div>
|
|
<div className="flex flex-col items-center gap-4 p-6 rounded-2xl border border-fd-border bg-[rgba(10,15,26,0.7)] backdrop-blur-sm text-center transition-all hover:-translate-y-1 hover:border-brand hover:shadow-[0_12px_40px_rgba(255,77,77,0.15)]">
|
|
<div className="flex items-center gap-2.5">
|
|
<LockKeyholeIcon className="w-7 h-7 text-fd-muted-foreground" />
|
|
<span className="text-lg font-semibold text-fd-muted-foreground">Confidential Compute</span>
|
|
</div>
|
|
<blockquote className="text-sm font-medium leading-relaxed italic">
|
|
NVIDIA Blackwell TEE hardware enclaves. Your code and data stay encrypted in memory. Attestation-verified, zero-trust execution.
|
|
</blockquote>
|
|
<span className="text-sm text-[#00e5cc] font-medium">Hardware-Level Security</span>
|
|
</div>
|
|
<div className="flex flex-col items-center gap-4 p-6 rounded-2xl border border-fd-border bg-[rgba(10,15,26,0.7)] backdrop-blur-sm text-center transition-all hover:-translate-y-1 hover:border-brand hover:shadow-[0_12px_40px_rgba(255,77,77,0.15)]">
|
|
<div className="flex items-center gap-2.5">
|
|
<ShieldIcon className="w-7 h-7 text-fd-muted-foreground" />
|
|
<span className="text-lg font-semibold text-fd-muted-foreground">Secure by Default</span>
|
|
</div>
|
|
<blockquote className="text-sm font-medium leading-relaxed italic">
|
|
Your data stays yours. Hanzo IAM for auth, encrypted at rest, isolated per-agent. No data leaves your infrastructure.
|
|
</blockquote>
|
|
<span className="text-sm text-brand font-medium">Enterprise Ready</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Explore Hanzo Ecosystem */}
|
|
<section className="mb-14">
|
|
<h2 className="text-xl font-semibold flex items-center gap-2.5 mb-5">
|
|
<span className="text-brand font-bold">⟩</span> The Hanzo Ecosystem
|
|
</h2>
|
|
<div className="grid grid-cols-2 sm:grid-cols-3 gap-3">
|
|
{[
|
|
{ name: 'AI API', desc: 'Chat, embeddings, images, rerank', href: 'https://docs.hanzo.ai/docs/llm' },
|
|
{ name: 'Marketplace', desc: 'Buy & sell AI capacity', href: 'https://app.hanzo.bot' },
|
|
{ name: 'MCP', desc: '260+ tools for agents', href: 'https://docs.hanzo.ai/docs/mcp' },
|
|
{ name: 'Commerce', desc: 'Billing & on-chain settlement', href: 'https://docs.hanzo.ai/docs/commerce' },
|
|
{ name: 'Operative', desc: 'Computer use for AI', href: 'https://docs.hanzo.ai/docs/operative' },
|
|
{ name: 'Platform', desc: 'Deploy anywhere', href: 'https://docs.hanzo.ai/docs/platform' },
|
|
].map((product) => (
|
|
<a
|
|
key={product.name}
|
|
href={product.href}
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="flex flex-col gap-1 p-4 rounded-xl border border-fd-border bg-[rgba(10,15,26,0.6)] backdrop-blur-sm no-underline text-inherit transition-all hover:border-[#00e5cc] hover:-translate-y-0.5 hover:shadow-[0_8px_24px_rgba(0,229,204,0.15)]"
|
|
>
|
|
<span className="text-sm font-semibold text-fd-foreground">{product.name}</span>
|
|
<span className="text-xs text-fd-muted-foreground">{product.desc}</span>
|
|
</a>
|
|
))}
|
|
</div>
|
|
</section>
|
|
|
|
{/* Primary CTA */}
|
|
<div className="text-center mb-8">
|
|
<a
|
|
href="https://app.hanzo.bot"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="inline-flex items-center gap-2.5 px-9 py-4 text-lg font-semibold text-[#050810] bg-gradient-to-br from-brand to-[#e03e3e] rounded-2xl no-underline transition-all hover:-translate-y-0.5 hover:shadow-[0_8px_40px_rgba(255,77,77,0.45)] shadow-[0_4px_24px_rgba(255,77,77,0.3)]"
|
|
>
|
|
<SparklesIcon className="w-5 h-5" />
|
|
Deploy Your AI Team
|
|
</a>
|
|
<p className="mt-3 text-sm text-fd-muted-foreground">Free locally. $5/mo in the cloud. Fund your bots. Let them earn.</p>
|
|
</div>
|
|
|
|
{/* CTA Grid */}
|
|
<nav className="grid grid-cols-2 sm:grid-cols-4 gap-4 mb-14">
|
|
{[
|
|
{ href: 'https://app.hanzo.bot', icon: UsersIcon, label: 'Dashboard', sub: 'Launch app.hanzo.bot', className: 'border-[rgba(255,77,77,0.25)] bg-[rgba(255,77,77,0.06)] hover:border-brand hover:shadow-[0_12px_40px_rgba(255,77,77,0.25)]' },
|
|
{ href: 'https://discord.gg/CJCyAsm9Vr', icon: MessageCircleIcon, label: 'Discord', sub: 'Join community', className: 'hover:border-[#5865F2] hover:shadow-[0_12px_40px_rgba(88,101,242,0.2)]' },
|
|
{ href: 'https://github.com/hanzoai/bot', icon: GlobeIcon, label: 'GitHub', sub: 'View source', className: 'hover:border-fd-foreground hover:shadow-[0_12px_40px_rgba(240,244,255,0.1)]' },
|
|
{ href: '/docs', icon: BookOpenIcon, label: 'Docs', sub: 'Get started', className: 'hover:border-[#00e5cc] hover:shadow-[0_12px_40px_rgba(0,229,204,0.15)]' },
|
|
].map((cta) => {
|
|
const Icon = cta.icon;
|
|
const isExternal = cta.href.startsWith('http');
|
|
const El = isExternal ? 'a' : Link;
|
|
const props = isExternal ? { target: '_blank', rel: 'noopener noreferrer' } : {};
|
|
return (
|
|
<El
|
|
key={cta.label}
|
|
href={cta.href}
|
|
{...props}
|
|
className={cn(
|
|
'flex flex-col items-center gap-2 px-4 py-6 rounded-2xl border border-fd-border bg-[rgba(10,15,26,0.6)] backdrop-blur-sm no-underline text-fd-foreground transition-all hover:-translate-y-1',
|
|
cta.className,
|
|
)}
|
|
>
|
|
<Icon className="w-7 h-7 text-brand transition-transform hover:scale-110" />
|
|
<span className="font-semibold">{cta.label}</span>
|
|
<span className="text-xs text-fd-muted-foreground">{cta.sub}</span>
|
|
</El>
|
|
);
|
|
})}
|
|
</nav>
|
|
</main>
|
|
);
|
|
}
|