diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
new file mode 100644
index 0000000..b731080
--- /dev/null
+++ b/.github/workflows/pages.yml
@@ -0,0 +1,47 @@
+name: Deploy website to GitHub Pages
+
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - main
+ paths:
+ - 'sites/**'
+ - '.github/workflows/pages.yml'
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: pages
+ cancel-in-progress: true
+
+jobs:
+ deploy:
+ name: Deploy static website
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-24.04
+
+ steps:
+ - uses: actions/checkout@v7
+
+ - name: Validate website
+ run: |
+ node sites/scripts/validate.mjs
+ node --check sites/app.js
+
+ - name: Configure GitHub Pages
+ uses: actions/configure-pages@v5
+
+ - name: Upload website artifact
+ uses: actions/upload-pages-artifact@v4
+ with:
+ path: sites
+
+ - name: Deploy website
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/package.json b/package.json
index db935e9..ea8c5e7 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"private": true,
"description": "Secure desktop AI workspace with controlled Agent Runtimes",
"desktopName": "GoodBuddy",
- "homepage": "https://github.com/mesalogo/goodbuddy",
+ "homepage": "https://mesalogo.github.io/goodbuddy/",
"author": {
"name": "MesaLogo"
},
diff --git a/sites/README.md b/sites/README.md
index 09f1822..8ba2664 100644
--- a/sites/README.md
+++ b/sites/README.md
@@ -2,6 +2,17 @@
`sites` 是无需构建步骤或额外依赖的静态官网源码,可直接托管整个目录。
+正式站点地址: