From 5e156ec03e4468e9097b42a235ad171e4f50df8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E9=98=BF=E6=B1=9F=28Relakkes?= =?UTF-8?q?=29?= Date: Tue, 28 Jul 2026 13:15:56 +0800 Subject: [PATCH] =?UTF-8?q?chore(site):=20=E6=96=87=E6=A1=A3=E7=AB=99?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=9F=9F=E5=90=8D=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=88=B0=20cchaha.ai?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 把 9 个文件里的 11 处 claudecode-haha.relakkesyang.org 换成 cchaha.ai。 apex 走 Cloudflare CNAME flattening,www 由 GitHub 自动 301 到裸域名。 - docs/public/CNAME 与 prepare-static-output.mjs 的 expectedCustomDomain 必须同步:后者是硬校验,不一致会让 postbuild 直接 throw、Pages 发不出去。 它同时驱动 canonical / hreflang / og:url / sitemap.xml / robots.txt。 - meta.js 的 SITE_ORIGIN 管前端运行时那一份同名标签。 - AGENTS.md 里的契约描述一并更新,否则后续改动会照旧域名回退。 - 桌面端 IM 文档跳转链接及其测试断言。 验证:site build 通过(78 路由 + 74 重定向)、check:docs 通过(78 页 323 链接)、 sitemap 80 条 loc 全为新域名、AdapterSettings 6 tests passed。 --- README.en.md | 4 ++-- README.md | 4 ++-- desktop/src/pages/AdapterSettings.test.tsx | 2 +- desktop/src/pages/AdapterSettings.tsx | 2 +- docs/public/CNAME | 2 +- site/AGENTS.md | 2 +- site/index.html | 2 +- site/scripts/prepare-static-output.mjs | 2 +- site/src/lib/meta.js | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.en.md b/README.en.md index a1dca766..d6a96800 100644 --- a/README.en.md +++ b/README.en.md @@ -16,7 +16,7 @@ [![License](https://img.shields.io/github/license/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/blob/main/LICENSE) [![中文](https://img.shields.io/badge/🇨🇳_中文-Available-green)](README.md) [![English](https://img.shields.io/badge/🇺🇸_English-当前-blue)](README.en.md) -[![Docs](https://img.shields.io/badge/📖_Documentation-Visit-FF7A00)](https://claudecode-haha.relakkesyang.org) +[![Docs](https://img.shields.io/badge/📖_Documentation-Visit-FF7A00)](https://cchaha.ai) @@ -95,7 +95,7 @@ See [environment variables](docs/en/cli/env.md) and [CLI setup](docs/en/cli/inde ## More Documentation -Full documentation site: +Full documentation site: | Section | Documents | |------|------| diff --git a/README.md b/README.md index 282357d2..749d7a03 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ [![License](https://img.shields.io/github/license/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/blob/main/LICENSE) [![中文](https://img.shields.io/badge/🇨🇳_中文-当前-blue)](README.md) [![English](https://img.shields.io/badge/🇺🇸_English-Available-green)](README.en.md) -[![Docs](https://img.shields.io/badge/📖_文档站点-Visit-FF7A00)](https://claudecode-haha.relakkesyang.org) +[![Docs](https://img.shields.io/badge/📖_文档站点-Visit-FF7A00)](https://cchaha.ai) @@ -95,7 +95,7 @@ cp .env.example .env ## 更多文档 -完整文档站: +完整文档站: | 分区 | 文档 | |------|------| diff --git a/desktop/src/pages/AdapterSettings.test.tsx b/desktop/src/pages/AdapterSettings.test.tsx index e6ed8d15..4f6fefd3 100644 --- a/desktop/src/pages/AdapterSettings.test.tsx +++ b/desktop/src/pages/AdapterSettings.test.tsx @@ -8,7 +8,7 @@ import { useSettingsStore } from '../stores/settingsStore' import type { AdapterFileConfig } from '../types/adapter' const FEISHU_CREATE_BOT_URL = 'https://open.feishu.cn/page/openclaw?form=multiAgent' -const IM_CONFIG_DOCS_URL = 'https://claudecode-haha.relakkesyang.org/im/' +const IM_CONFIG_DOCS_URL = 'https://cchaha.ai/im/' function renderAdapterSettings( config: AdapterFileConfig, diff --git a/desktop/src/pages/AdapterSettings.tsx b/desktop/src/pages/AdapterSettings.tsx index 8a599281..2aa7762d 100644 --- a/desktop/src/pages/AdapterSettings.tsx +++ b/desktop/src/pages/AdapterSettings.tsx @@ -13,7 +13,7 @@ type ImPlatform = 'telegram' | 'feishu' | 'wechat' | 'dingtalk' | 'whatsapp' type AdapterUnbindTarget = 'wechatAccount' | 'dingtalkBot' | 'whatsappAccount' const FEISHU_CREATE_BOT_URL = 'https://open.feishu.cn/page/openclaw?form=multiAgent' -const IM_CONFIG_DOCS_URL = 'https://claudecode-haha.relakkesyang.org/im/' +const IM_CONFIG_DOCS_URL = 'https://cchaha.ai/im/' export function AdapterSettings() { const t = useTranslation() diff --git a/docs/public/CNAME b/docs/public/CNAME index 06e40d2a..3b8ba76a 100644 --- a/docs/public/CNAME +++ b/docs/public/CNAME @@ -1 +1 @@ -claudecode-haha.relakkesyang.org +cchaha.ai diff --git a/site/AGENTS.md b/site/AGENTS.md index a2ca441a..620b52f8 100644 --- a/site/AGENTS.md +++ b/site/AGENTS.md @@ -6,7 +6,7 @@ These rules apply to the public landing page and documentation experience under - Keep the site independently installable with `npm ci` and buildable with `npm run build`. - Keep `npm run check` deterministic, offline, and responsible for site-specific validation beyond compilation. -- Preserve the GitHub Pages custom-domain contract; production assets and routes must work from the root of `claudecode-haha.relakkesyang.org`. `scripts/prepare-static-output.mjs` hard-fails when the CNAME drifts. +- Preserve the GitHub Pages custom-domain contract; production assets and routes must work from the root of `cchaha.ai`. `scripts/prepare-static-output.mjs` hard-fails when the CNAME drifts. - Treat files under `docs/` as the source of truth for long-form Chinese and English documentation. Keep paired public routes aligned when both languages exist. - Do not copy private user state, credentials, local filesystem paths, or unredacted product screenshots into the site. - Run `bun run check:docs` after site or docs changes and include desktop plus narrow-mobile browser evidence for user-visible layout changes. diff --git a/site/index.html b/site/index.html index 0e0ae691..fc4d54b9 100644 --- a/site/index.html +++ b/site/index.html @@ -13,7 +13,7 @@ - + Claude Code Haha — Claude Code 的本地优先桌面客户端