b5a4532dd0d43a7131f3acb4532836de601168a5
语言切换/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 项浏览器检查全通过)
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)。
新增一个网站
- 在
packages/core/scripts/generate-site.mjs的SITES中加一个条目(品牌/导航/页脚/SEO/端口)。 bun packages/core/scripts/generate-site.mjs <key>—— 生成独立站点(约 56 个薄路由 + 配置)。cd sites/<key> && bun install && bun run build && bun run start。
零 Core 代码修改。
详细验收对照见 docs/交付报告.md。
Languages
TypeScript
84.4%
JavaScript
7.7%
MDX
5.2%
CSS
1.6%
Python
0.9%
Other
0.1%