bigcode b5a4532dd0 fix: i18n 链接体系重构 + 五站差异化 toast 皮肤
语言切换/LOGO 同源 bug:手拼 /\${locale} 前缀在默认语言 en 下
产生空 href(<Link href=""> 点击无效、push('') 停留原地)或 /en/*(middleware 契约 404)。
- 新增 lib/locale-href.ts 统一拼接:剥已有语言段、重拼目标语言、根路径保证非空
- language-switcher:/zh 首页切回 en 的 push('') 修复(next-intl 路由
  的 {locale} 选项会强制加前缀 forcePrefix,与 as-needed 契约冲突,弃用)
- theme-header/footer/section:LOGO、View all、页脚链接走 localeHref;
  isActive 改用无前缀 pathname(en 下高亮失效修复)
- login/signup/email-verified-guard/social 回跳:消除 /en/* 404 死链
- ai-stack/findai 首页搜索表单 action 同修
- 新增 components/site-toaster.tsx:按 NEXT_PUBLIC_THEME_ID 切换
  位置/圆角/字体/图标/配色五套皮肤(蓝右下/橙顶中/纸感底中/终端左下/玻璃右上)
- 新增 ui-test-i18n-toast.mjs 回归脚本(16 项浏览器检查全通过)
2026-09-16 11:11:19 +08:00

AI Directory Platform

可复用 AI Directory 底座 + 5 个独立网站(monorepo)。

基于 coolchange-ai/toolso-ai-open 二次开发, 按 docs/AI-Directory-Platform开发计划与技术设计文档.md 完成 MVP + V1 能力, 并用 5 个独立网站 验证底座的「快速、易用、可用、可靠」。

仓库结构

packages/core/     @aidir/core —— 底座库(页面组件体 / 业务模块 / 站点外壳工厂 / 种子与工具脚本)
sites/
├── ai-stack/      AI Stack       — Classic 目录        → https://ai-stack.opentest.cc
├── launchai/      LaunchAI       — Product Hunt 式社区  → https://launchai.opentest.cc
├── the-ai-ledger/ The AI Ledger  — Editorial 媒体       → https://the-ai-ledger.opentest.cc
├── devai-tools/   DevAI.tools    — 开发者垂直           → https://devai-tools.opentest.cc
└── findai/        findai         — 极简搜索             → https://findai.opentest.cc
docs/              设计文档 + 交付报告

五个网站共享同一套 PostgreSQL / Better Auth / Admin(设计文档 §42 验证标准), 各自独立构建、独立部署(各自 package.json / next.config.mjs / .env.local)。

快速开始

bun install
cd packages/core && cp .env.example .env.local && bun run db:push && bun run seed:platform && cd ../..

# 构建 5 个网站(构建时数据库需在线;构建期间不要运行站点)
for s in ai-stack launchai the-ai-ledger devai-tools findai; do
  (cd sites/$s && cp -n .env.example .env.local && bun run build)
done

# 一键启动
bash packages/core/scripts/start-all-sites.sh

演示账号:admin@aidirectory.dev(管理员)/ alice@demo.dev 等用户,密码均为 password123。

底座能力

Tool Directory · 三维发现(Category / Use Case / Audience)· 最佳清单(Best Lists)· 搜索(PostgreSQL)· 七榜 Ranking Engine(Trending 贝叶斯评分等)· 投票 · 评论 · 收藏 · 工具提交(重复检测)· 认领(Owner 白名单编辑)· 事件分析(CTR/搜索词)· Programmatic SEO(用例页/受众页/合集页/Alternatives/Vs 对比页 + Schema 全套)· 博客 · Newsletter · 双语 i18n · GitHub/Google OAuth · 邮箱认证 · Admin 后台(8 个模块)· 深浅主题 · Lucide SVG 图标(无 Emoji)。

新增一个网站

  1. 在 packages/core/scripts/generate-site.mjs 的 SITES 中加一个条目(品牌/导航/页脚/SEO/端口)。
  2. bun packages/core/scripts/generate-site.mjs <key> —— 生成独立站点(约 56 个薄路由 + 配置)。
  3. cd sites/<key> && bun install && bun run build && bun run start。

零 Core 代码修改。

详细验收对照见 docs/交付报告.md。

S
Description
AI Directory Platform — 可复用底座 + 五个独立网站
Readme
3.4 MiB
Languages
TypeScript 84.4%
JavaScript 7.7%
MDX 5.2%
CSS 1.6%
Python 0.9%
Other 0.1%