mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
chore: migrate to AGPL-3.0-only
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
"name": "hapi-website",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"license": "AGPL-3.0-only",
|
||||
"scripts": {
|
||||
"dev": "vite --host",
|
||||
"build": "vite build && esbuild src/server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist",
|
||||
@@ -95,4 +95,4 @@
|
||||
"overrides": {
|
||||
"tailwindcss>nanoid": "3.3.7"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,10 +113,6 @@
|
||||
"npm": {
|
||||
"step1": "1. Install Globally",
|
||||
"step2": "2. Start Server"
|
||||
},
|
||||
"docker": {
|
||||
"title": "Run with Docker Compose",
|
||||
"copyBtn": "Copy Docker Compose"
|
||||
}
|
||||
},
|
||||
"cta": {
|
||||
@@ -128,7 +124,7 @@
|
||||
"desc": "Vibe Coding Anytime, Anywhere. <br/> The local-first AI agent platform for developers who love freedom.",
|
||||
"product": "Product",
|
||||
"community": "Community",
|
||||
"copyright": "© {{year}} HAPI Team. Open source under LGPL License.",
|
||||
"copyright": "© {{year}} HAPI Team. Open source under AGPL License.",
|
||||
"designedWith": "Designed with <span class=\"text-red-500\">♥</span> for Vibe Coding."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,10 +113,6 @@
|
||||
"npm": {
|
||||
"step1": "1. 全局安装",
|
||||
"step2": "2. 启动服务器"
|
||||
},
|
||||
"docker": {
|
||||
"title": "使用 Docker Compose 运行",
|
||||
"copyBtn": "复制 Docker Compose"
|
||||
}
|
||||
},
|
||||
"cta": {
|
||||
@@ -128,7 +124,7 @@
|
||||
"desc": "Vibe Coding 随时随地。 <br/> 为热爱自由的开发者打造的本地优先 AI 代理平台。",
|
||||
"product": "产品",
|
||||
"community": "社区",
|
||||
"copyright": "© {{year}} HAPI Team. 基于 LGPL 协议开源。",
|
||||
"copyright": "© {{year}} HAPI Team. 基于 AGPL 协议开源。",
|
||||
"designedWith": "为 Vibe Coding <span class=\"text-red-500\">♥</span> 精心设计。"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,9 +269,8 @@ export default function Home() {
|
||||
<h2 className="text-3xl md:text-4xl font-bold text-center mb-12">{t('installation.title')}</h2>
|
||||
|
||||
<Tabs defaultValue="npm" className="w-full">
|
||||
<TabsList className="grid w-full grid-cols-2 mb-8 h-14 p-1 bg-muted border-2 border-border rounded-xl">
|
||||
<TabsList className="grid w-full grid-cols-1 mb-8 h-14 p-1 bg-muted border-2 border-border rounded-xl">
|
||||
<TabsTrigger value="npm" className="text-lg font-bold rounded-lg data-[state=active]:bg-white data-[state=active]:text-primary data-[state=active]:shadow-sm">NPM</TabsTrigger>
|
||||
<TabsTrigger value="docker" className="text-lg font-bold rounded-lg data-[state=active]:bg-white data-[state=active]:text-primary data-[state=active]:shadow-sm">Docker</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<TabsContent value="npm">
|
||||
@@ -304,31 +303,6 @@ export default function Home() {
|
||||
</Card>
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value="docker">
|
||||
<Card className="border-2 border-border shadow-hard bg-card">
|
||||
<CardContent className="p-6">
|
||||
<div className="space-y-2">
|
||||
<div className="flex justify-between items-center">
|
||||
<h3 className="font-bold">{t('installation.docker.title')}</h3>
|
||||
</div>
|
||||
<div className="bg-slate-950 text-slate-50 p-4 rounded-xl font-mono text-sm overflow-x-auto border-2 border-slate-800">
|
||||
<pre>{`version: '3'
|
||||
services:
|
||||
hapi:
|
||||
image: ghcr.io/tiann/hapi:latest
|
||||
network_mode: host
|
||||
volumes:
|
||||
- ~/.hapi:/root/.hapi
|
||||
restart: unless-stopped`}</pre>
|
||||
</div>
|
||||
<Button className="w-full mt-4 font-bold" onClick={() => copyToClipboard("docker-compose up -d", "docker")}>
|
||||
{copied === "docker" ? <Check className="mr-2 h-4 w-4" /> : <Copy className="mr-2 h-4 w-4" />}
|
||||
{t('installation.docker.copyBtn')}
|
||||
</Button>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user