chore: migrate to AGPL-3.0-only

This commit is contained in:
weishu
2026-01-04 20:45:15 +08:00
parent 34cfe49f87
commit 37c6bc83d7
20 changed files with 1298 additions and 463 deletions
+2 -2
View File
@@ -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"
}
}
}
+1 -5
View File
@@ -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."
}
}
+1 -5
View File
@@ -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> 精心设计。"
}
}
+1 -27
View File
@@ -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>