From e45b3a881e85773f94ae140cd12d46e47a11c367 Mon Sep 17 00:00:00 2001 From: ekko <152005280+EKKOLearnAI@users.noreply.github.com> Date: Sat, 30 May 2026 21:35:38 +0800 Subject: [PATCH] add website downloads and deploy workflow (#1165) --- .github/workflows/website-deploy.yml | 83 +++++++++++++ README.md | 21 +++- README_zh.md | 20 ++- packages/desktop/README.md | 9 ++ .../src/components/landing/HeroSection.vue | 2 +- .../src/components/landing/InstallSection.vue | 117 +++++++++++++++++- .../components/landing/ScreenshotsSection.vue | 28 +++-- .../components/landing/StarHistorySection.vue | 8 +- .../src/components/layout/SiteFooter.vue | 4 +- .../src/components/layout/SiteHeader.vue | 14 +-- packages/website/src/i18n/en.ts | 72 ++++++++++- packages/website/src/i18n/zh.ts | 72 ++++++++++- packages/website/src/views/DocsView.vue | 2 +- packages/website/src/views/LandingView.vue | 14 ++- 14 files changed, 425 insertions(+), 41 deletions(-) create mode 100644 .github/workflows/website-deploy.yml diff --git a/.github/workflows/website-deploy.yml b/.github/workflows/website-deploy.yml new file mode 100644 index 0000000..46b78f3 --- /dev/null +++ b/.github/workflows/website-deploy.yml @@ -0,0 +1,83 @@ +name: Website + +on: + pull_request: + branches: + - main + - base + paths: + - packages/website/** + - packages/client/src/styles/variables.scss + - package.json + - package-lock.json + - tsconfig.website.json + - vite.config.website.ts + - .github/workflows/website-deploy.yml + release: + types: + - published + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: website-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + build: + name: Build website + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 24 + cache: npm + cache-dependency-path: package-lock.json + + - name: Install dependencies + run: npm ci --ignore-scripts + + - name: Type-check website + run: npx vue-tsc -p tsconfig.website.json --noEmit + + - name: Build website + run: npm run build:website + + - name: Prepare SSH + if: github.event_name == 'release' || github.event_name == 'workflow_dispatch' + env: + WEBSITE_SSH_KEY: ${{ secrets.WEBSITE_SSH_KEY }} + WEBSITE_SSH_KNOWN_HOSTS: ${{ secrets.WEBSITE_SSH_KNOWN_HOSTS }} + run: | + test -n "$WEBSITE_SSH_KEY" + mkdir -p ~/.ssh + chmod 700 ~/.ssh + printf '%s\n' "$WEBSITE_SSH_KEY" > ~/.ssh/website_deploy_key + chmod 600 ~/.ssh/website_deploy_key + if [ -n "$WEBSITE_SSH_KNOWN_HOSTS" ]; then + printf '%s\n' "$WEBSITE_SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts + fi + + - name: Deploy website + if: github.event_name == 'release' || github.event_name == 'workflow_dispatch' + env: + WEBSITE_SSH_USER: ${{ secrets.WEBSITE_SSH_USER }} + WEBSITE_SSH_PORT: ${{ secrets.WEBSITE_SSH_PORT }} + run: | + SSH_USER="${WEBSITE_SSH_USER:-root}" + SSH_PORT="${WEBSITE_SSH_PORT:-22}" + command -v rsync >/dev/null || { + sudo apt-get update + sudo apt-get install -y rsync + } + rsync -az --delete \ + -e "ssh -i ~/.ssh/website_deploy_key -p ${SSH_PORT} -o IdentitiesOnly=yes -o StrictHostKeyChecking=accept-new" \ + dist/website/ \ + "$SSH_USER@154.3.33.232:/var/www/ekkolearnai.com/current/" diff --git a/README.md b/README.md index 747da51..85aa20c 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,14 @@
- A full-featured web dashboard for Hermes Agent.
+ A full-featured desktop app and web dashboard for Hermes Agent.
Manage AI chat sessions, monitor usage & costs, configure platform channels,
schedule cron jobs, browse skills — all from a clean, responsive web interface.
+ Download Hermes Studio Desktop
+ ·
npm install -g hermes-web-ui && hermes-web-ui start
- Hermes Agent 的全功能 Web 管理面板。
+ Hermes Agent 的全功能桌面应用和 Web 管理面板。
管理 AI 聊天会话、监控用量与成本、配置平台渠道、
管理定时任务、浏览技能 —— 全部在一个简洁响应式的 Web 界面中完成。
+ 下载 Hermes Studio 桌面版
+ ·
npm install -g hermes-web-ui && hermes-web-ui start
{{ installCmd }}