chore(brand): rename the product to ReplyPier

The upstream project name is gone from code, assets, docs and build
output: brand strings, domains (replypier.site and its app/api/docs/help
subdomains), env prefixes, image and network names, the widget's public
JS API (window.ReplyPier, replypierId/BaseUrl/Config/Token), CSS tokens
(--rp-*), file and directory names, and the WordPress plugin package.

- widget loader is now webclient/replypier.min.js; both bundles rebuilt
  from source (backend/assets/widget.{js,css}, frontend/public/webclient)
- NOTICE, llms.txt, CONTRIBUTING, HELP_CENTER_INFRA and config.dev.js
  rewritten rather than string-swapped; the demo config no longer ships
  the previous vendor's Firebase/Razorpay/Google keys
- new migration replypier_ai_model_001 adds REPLYPIER to the managed
  AIModelType and rewrites pre-rename rows
- local compose project, database, role and volume renamed; LOCAL_DEPLOY
  documents carrying the old local data over
This commit is contained in:
WangShen007 committed 2026-10-26 00:51:03 +08:00
1 parent ff0a09f0e5
commit 54b949b392
1156 files changed
+7292 -7147

No files matched your search

+1 -1
View File
@@ -9,7 +9,7 @@
1. 为服务器创建专用 SSH 密钥,将**公钥**添加为 Gitea 仓库的只读部署密钥;私钥留在 `/etc/replypier-updater/id_ed25519`,权限 `600`。通过可信渠道核实 Gitea 主机公钥并保存为同目录的 `known_hosts`。更新过程不使用账号密码或浏览器登录态。
2. 按 `config.example.json` 准备私有配置,填写当前安装提交和部署管理员用户 UUID。只有名单中的用户且持有 `super_admin` 权限才能更新;其他组织的管理员无权更新整个服务器。配置和 SSH 私钥不入库。
3. 以 root 执行 `./deploy/server/install-updater.sh /path/to/config.json`,然后执行 `python3 /opt/replypier-updater/cli.py check`。安装不会重置应用环境或数据库。
4. Caddy 对稳定文件名的入口返回 `Cache-Control: no-cache, no-store, must-revalidate`:`/sw.js`、`/manifest.webmanifest`、`/config.js`、`/assets/widget.js`、`/assets/widget.css`、`/webclient/chattermate.min.js`。首次设置后,清除 CDN 中这些 URL 的已有缓存;带内容版本号的构建资源可以正常缓存。不要缓存 HTML 入口。
4. Caddy 对稳定文件名的入口返回 `Cache-Control: no-cache, no-store, must-revalidate`:`/sw.js`、`/manifest.webmanifest`、`/config.js`、`/assets/widget.js`、`/assets/widget.css`、`/webclient/replypier.min.js`。首次设置后,清除 CDN 中这些 URL 的已有缓存;带内容版本号的构建资源可以正常缓存。不要缓存 HTML 入口。
## 更新时发生什么
+3 -3
View File
@@ -9,7 +9,7 @@
"known_hosts": "/etc/replypier-updater/known_hosts",
"owner_ids": ["REPLACE_WITH_DEPLOYMENT_OWNER_USER_ID"],
"initial_revision": "REPLACE_WITH_INSTALLED_COMMIT",
"db_container": "chattermate-local-db-1",
"db_user": "chattermate",
"db_name": "chattermate"
"db_container": "replypier-local-db-1",
"db_user": "replypier",
"db_name": "replypier"
}
+3 -3
View File
@@ -100,12 +100,12 @@ class Deployment:
if len(styles) != 1:
raise RuntimeError('网站组件的样式构建结果不完整。')
shutil.copy2(styles[0], stage / 'assets/widget.css')
loader = stage / 'dashboard/webclient/chattermate.min.js'
loader = stage / 'dashboard/webclient/replypier.min.js'
loader.parent.mkdir(exist_ok=True)
self.run([str(front / 'node_modules/.bin/esbuild'), 'src/webclient/chattermate.js',
self.run([str(front / 'node_modules/.bin/esbuild'), 'src/webclient/replypier.js',
'--bundle', '--minify', '--format=iife', '--target=es2015', '--loader:.svg=text',
'--define:process.env.NODE_ENV="production"',
'--define:__CHATTERMATE_API_URL__=' + json.dumps(self.cfg['public_url'] + '/api/v1'),
'--define:__REPLYPIER_API_URL__=' + json.dumps(self.cfg['public_url'] + '/api/v1'),
'--outfile=' + str(loader)], cwd=front)
# Runtime configuration belongs to this installation, not to the repository.
live_web = self.root / 'deploy/local/.state/dashboard'