chore(部署): 增加 Docker 部署配置

关键改动:

- 新增本地和生产 Docker Compose、Web/Server Dockerfile 与 Nginx 模板

- 增加生产部署校验脚本、环境变量示例和 Prisma 初始迁移

- 更新部署文档、README 和架构/决策/流程/路线图说明

Co-Authored-By: Codex GPT-5 <codex@openai.com>
This commit is contained in:
Script Generator
2026-07-01 16:04:18 +08:00
parent 06b4aad7a4
commit 61f4ca51f1
22 changed files with 1051 additions and 1 deletions

View File

@@ -232,7 +232,7 @@ export default function WenfanXiaobaoPage() {
<MessageCircleQuestionMark className="h-4 w-4" strokeWidth={2} />
</div>
<div className="min-w-0">
<h1 className="truncate text-[15px] font-semibold text-[#171717]"></h1>
<h1 className="truncate text-[15px] font-semibold text-[#171717]">AI </h1>
</div>
</div>
<span className="rounded-full bg-[#f4f4f4] px-3 py-1 text-[12px] text-[#6b6b6b]"></span>

View File

@@ -23,6 +23,8 @@ test('wenfan xiaobao page provides records, chat, and voice input surfaces', ()
const page = readFileSync(pagePath, 'utf8');
assert.match(page, /<h1 className="truncate text-\[15px\] font-semibold text-\[#171717\]">AI 助手<\/h1>/);
assert.doesNotMatch(page, /<h1 className="truncate text-\[15px\] font-semibold text-\[#171717\]">问翻小宝<\/h1>/);
assert.match(page, /历史记录/);
assert.match(page, /对话/);
assert.match(page, /textarea/);