chore: settle product naming across app, widget and deployments

One word everywhere: ReplyPier in UI copy, package and image names, the
replypier.site domains (app/api/docs/help), REPLYPIER_* settings and the
--rp-* design tokens.

- public widget API is window.ReplyPier with replypierId / replypierBaseUrl /
  replypierConfig / replypierToken, loader at webclient/replypier.min.js;
  both bundles rebuilt from source
- NOTICE, llms.txt, CONTRIBUTING, HELP_CENTER_INFRA and the demo runtime
  config rewritten; the demo config ships no third-party keys
- migration adds the ReplyPier managed model value to the AI model enum
- local compose project, database, role, volume and Docker network carry the
  same name
This commit is contained in:
WangShen007 committed 2026-10-26 00:57:22 +08:00
1 parent ff0a09f0e5
commit 20fef2b9f3
1156 files changed
+7267 -7148

No files matched your search

+4 -4
View File
@@ -1,11 +1,11 @@
name: chattermate-local
name: replypier-local
services:
db:
image: pgvector/pgvector:0.8.2-pg16
environment:
POSTGRES_DB: chattermate
POSTGRES_USER: chattermate
POSTGRES_DB: replypier
POSTGRES_USER: replypier
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?Run ./deploy/local/local.sh init first}
ports:
- "127.0.0.1:15432:5432"
@@ -15,7 +15,7 @@ services:
mem_limit: 384m
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U chattermate -d chattermate"]
test: ["CMD-SHELL", "pg_isready -U replypier -d replypier"]
interval: 5s
timeout: 3s
retries: 20
+4 -4
View File
@@ -37,10 +37,10 @@
<p class="note">套餐、政策与校验码均为虚构测试数据。此页面仅供本机测试;对话会调用已配置的模型 API。</p>
</main>
<script>
window.chattermateId = "__WIDGET_ID__";
window.chattermateBaseUrl = "http://127.0.0.1:8018/api/v1";
window.chattermateConfig = { position: "bottom-right" };
window.replypierId = "__WIDGET_ID__";
window.replypierBaseUrl = "http://127.0.0.1:8018/api/v1";
window.replypierConfig = { position: "bottom-right" };
</script>
<script src="/webclient/chattermate.min.js"></script>
<script src="/webclient/replypier.min.js"></script>
</body>
</html>
+1 -1
View File
@@ -26,7 +26,7 @@ def main() -> None:
password = compose_env.read_text().strip().split("=", 1)[1]
fernet_key = base64.b64encode(base64.urlsafe_b64encode(secrets.token_bytes(32))).decode()
settings = {
"DATABASE_URL": f"postgresql+psycopg://chattermate:{password}@127.0.0.1:15432/chattermate",
"DATABASE_URL": f"postgresql+psycopg://replypier:{password}@127.0.0.1:15432/replypier",
"REDIS_ENABLED": "true",
"REDIS_URL": "redis://127.0.0.1:16380/0",
"ENVIRONMENT": "production",
+4 -4
View File
@@ -60,10 +60,10 @@ build_frontend() {
if [[ ! -f "${STATE}/assets/widget.css" ]]; then
cp "${STATE}"/assets/unused/*.css "${STATE}/assets/widget.css"
fi
node_modules/.bin/esbuild src/webclient/chattermate.js --bundle --minify --format=iife \
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__='"http://127.0.0.1:8018/api/v1"' \
--outfile="${STATE}/dashboard/webclient/chattermate.min.js"
--define:__REPLYPIER_API_URL__='"http://127.0.0.1:8018/api/v1"' \
--outfile="${STATE}/dashboard/webclient/replypier.min.js"
cat > "${STATE}/dashboard/config.js" <<'JS'
self.APP_CONFIG = {
API_URL: "http://127.0.0.1:8018/api/v1",
@@ -112,7 +112,7 @@ case "${1:-status}" in
colima --profile bytedesk start --activate=false --ssh-config=false
fi
compose up -d --wait --wait-timeout 180
compose exec -T db psql -U chattermate -d chattermate -c 'CREATE EXTENSION IF NOT EXISTS vector;'
compose exec -T db psql -U replypier -d replypier -c 'CREATE EXTENSION IF NOT EXISTS vector;'
(cd "${ROOT}/backend" && "${PYTHON}" -m alembic upgrade head)
start_process backend "${ROOT}/backend" "${PYTHON}" -m uvicorn app.main:app --host 127.0.0.1 --port 8018
start_process knowledge "${ROOT}/backend" "${PYTHON}" -m app.workers.run_knowledge_processor