v0.2.0 — Monorepo split + SolidStart frontend rewrite
A ground-up restructure: the backend and frontend are now fully decoupled, and the default frontend has been rewritten from scratch.
全面重构:后端与前端彻底解耦,默认前端用 SolidJS 全家桶重写。后端现在是纯 API,前端可独立部署到任意静态托管。
Highlights / 主要变化
Architecture / 架构
- Monorepo split —
backend/(Rust) +frontend/(Bun workspaces). 仓库拆分为后端 + 前端两部分。 - Backend fully decoupled — no more embedded assets; the backend is a pure JSON API. 后端不再内嵌前端,纯 API 输出。
ADMIN_TOKENgating — admin routes only mount when the env var is set; unset = no admin surface at all. 设了ADMIN_TOKEN才挂载管理路由,不设则完全无后台。
Landing site / 落地页 (@bsz/landing)
- Rewritten in SolidJS + Vite + Solid Router, deployable to GitHub Pages / Cloudflare Pages / any static host. 可独立部署到任意静态托管。
- 3 locales (zh / en / ja) with locale-prefixed routes (
/,/en,/ja), URL-driven. 三语,URL 前缀路由。 - SEO/GEO: per-route canonical +
hreflang+ Open Graph + Twitter Card + JSON-LD (SoftwareApplication+HowTo), plussitemap.xml,robots.txt(incl. AI crawlers),llms.txt,llms-full.txt, and anog:image. - Shiki syntax highlighting + one-click copy on every snippet. 代码高亮 + 一键复制。
- Optional live PV/UV stats (
VITE_DEMO_API) and Artalk comments (VITE_ARTALK_SERVER), both env-gated and shared across locales. - Theme follows the OS color scheme (no manual toggle). 主题跟随系统。
Admin console / 管理台 (@bsz/admin)
- Rewritten as a decoupled SPA with multi-backend connection management (Yacd-style), command palette (⌘K), charts, and undo toasts. 多后端连接管理 + 命令面板 + 图表 + 撤销。
- 3 locales (zh / en / ja), theme follows system.
Tooling / 工程化
- Biome (format + lint) + strict TypeScript +
cargo fmt/clippy, all wired into CI. - Env-driven config via
.envfiles (VITE_SITE_URL,VITE_DEMO_API,VITE_ARTALK_SERVER, …).
Deploy / 部署
- Backend: single binary (download below) + a TOML config; set
ADMIN_TOKENto enable the admin API. - Frontend:
bun run build:landing/build:admin→ staticdist/. SetVITE_SITE_URLto bake the canonical origin into sitemap/robots/llms/og.