品牌配置
修改产品身份、Logo、额度和界面文案,并验证公开页与工作台一致。
先按快速开始完成一次登录,再修改产品。产品选择、页面文案、视觉组件与部署资源分属不同位置。
1. 修改产品身份与额度
入口是 packages/config/src/index.ts 的 productSchema、product 与 catalog。当前字段包括:
| 字段 | 用途 | 注意 |
|---|---|---|
name | 产品展示名和认证 issuer 等 | 同步页面文案,不只改 Logo |
slug | 产品标识与未显式配置目标的资源前缀 | 满足小写字母、数字、连字符规则 |
supportEmail | 支持联系方式 | 使用自己的服务邮箱 |
quotas.welcomeCredits | 首次赠送积分,默认 30 | 账本以稳定操作标识防重复 |
quotas.chatCredits / summaryCredits | 流式/摘要扣费,默认 1 / 5 | 先改规则再核对 UI 说明 |
quotas.storedFiles | 用户文件数,默认 100 | 服务端执行限制 |
billing.enabled / defaultGateway | 启用网关与默认值 | 默认空;开启前先配置商品和密钥 |
例如,保留 schema 校验方式,仅替换产品对象传入值:
export const product = productSchema.parse({
name: 'Your Product',
slug: 'your-product',
supportEmail: '[email protected]',
quotas: { welcomeCredits: 30, chatCredits: 1, summaryCredits: 5, storedFiles: 100 },
billing: { enabled: [] }
})publicConfig() 只返回经过选择的公开配置。不要把根 .env 或整个 Worker 环境拼进客户端配置。
2. 替换标志与品牌链接
- 图片资源:
apps/web/public/logo.png。 - 品牌组件:
apps/web/src/components/brand.tsx,公开页、认证和工作台共用。 - 页面 head:
apps/web/src/lib/seo.ts与routes/__root.tsx;同步检查标题、图标和链接。 - 公开内容:
apps/web/src/content/*.en.mdx与*.zh.mdx。
用真实尺寸检查图片,不要仅替换文件名而保留已经不存在的 favicon.svg 路径。站点 origin 来自 Worker APP_URL;产品改名不等于认证地址已同步。
3. 修改界面文案与主题
衍生产品文案放在 packages/i18n/messages/en.mvp.json 和 zh.mvp.json。基础文件定义消息键,两个覆盖文件保持对应,不把产品特例散落到组件中。
主题使用 apps/web/src/styles.css 的语义变量;当前字体为 Geist Sans、Geist Mono、Fraunces。实际 shadcn 组件位于 apps/web/src/components/ui。更完整的操作见组件与主题。
4. 配置套餐与资源名字
模板自己的 catalog 与官网出售 MuseMVP 的价格是两套系统。修改你的套餐 ID、整数最小货币单位金额、币种、积分与网关商品映射,按支付配置验收。
product.slug 不会覆盖已经写在 packages/cli/src/target-resources.ts 的 production 资源名。派生项目必须把那五个名字换成自己的;已有线上项目升级时则保留当前资源身份,防止创建空的新资源。
确认结果
pnpm check:contracts
pnpm type-check
pnpm build检查中英文首页、登录页、/app 和定价:名称、Logo、联系方式、额度说明与套餐一致;浅色/深色及 320px 仍可阅读。更改环境变量后重启本地应用,更改生产配置后通过部署流程更新。
下一步阅读环境变量。