Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
冠乔原款号检录 → 工厂尺码自动换算成启序尺码 → 导出改标 Excel。 技术栈:React + TanStack Start(Vite)+ Tailwind + Postgres。 不设 DATABASE_URL 时,应用会自动启用内嵌的 PGLite(WASM 版 Postgres)作为本地 数据库,migrations/*.sql 会在启动时自动执行。数据只存在内存里,重启即清空——本地 随便改,不会动到线上数据。 • Schema 的唯一来源是 migrations/*.sql,新增表/字段一律加新的迁移文件,不要 在代码里内联建表。 • 迁移按文件名排序执行,已执行的记录在 _migrations 表(按文件名去重),重复执行 是安全的。 • 只要设置了 DATABASE_URL(标准 Postgres 连接串),就会走真实数据库;Supabase / Neon / 自建 Postgres 都可以,无需改代码。 serverless 环境下每个函数实例都会开自己的连接池,务必使用 Supavisor transaction pooler(6543 端口) 的连接串,而不是直连的 5432: 需要部署到普通 Node 服务器(比如香港轻量服务器)时,换个 Nitro preset 即可,代码 不用改:檢視完整 README ↗
冠乔原款号检录 → 工厂尺码自动换算成启序尺码 → 导出改标 Excel。
技术栈:React + TanStack Start(Vite)+ Tailwind + Postgres。
npm install
npm run dev # http://localhost:8080
不设 DATABASE_URL 时,应用会自动启用内嵌的 PGLite(WASM 版 Postgres)作为本地
数据库,migrations/*.sql 会在启动时自动执行。数据只存在内存里,重启即清空——本地
随便改,不会动到线上数据。
| 命令 | 作用 |
|---|---|
npm run dev | 开发服务器(8080) |
npm run build | 生产构建 + 对 DATABASE_URL 执行迁移 |
npm run preview | 预览构建产物(8081) |
npm run typecheck | TypeScript 检查 |
npm run lint | ESLint |
npm test | 单元测试 |
npm run db:migrate | 只跑数据库迁移 |
migrations/*.sql,新增表/字段一律加新的迁移文件,不要
在代码里内联建表。_migrations 表(按文件名去重),重复执行
是安全的。DATABASE_URL(标准 Postgres 连接串),就会走真实数据库;Supabase /
Neon / 自建 Postgres 都可以,无需改代码。serverless 环境下每个函数实例都会开自己的连接池,务必使用 Supavisor transaction pooler(6543 端口) 的连接串,而不是直连的 5432:
DATABASE_URL=postgresql://postgres.<project-ref>:<password>@aws-0-<region>.pooler.supabase.com:6543/postgres
默认打包成 Vercel 产物(.vercel/output):
npm run build
需要部署到普通 Node 服务器(比如香港轻量服务器)时,换个 Nitro preset 即可,代码 不用改:
NITRO_PRESET=node-server npm run build
node .output/server/index.mjs
必需的环境变量只有一个:DATABASE_URL。注意在 Vercel 上构建阶段也要能读到它,
因为 npm run build 结尾会执行数据库迁移。
服务器函数固定跑在香港(hkg1),见 vite.config.ts 里的 vercel.functions.regions
——使用者在杭州,而 Vercel 默认区域是美东,每次请求都要跨太平洋来回。香港到
新加坡的 Supabase 约 35ms,剩下的数据库往返代价很低。
改区域用 VERCEL_FUNCTION_REGION 环境变量即可(例如美东填 iad1)。注意
Vercel 面板 Settings → Functions 里的设置会覆盖这里,两边只用一处。
style_assets 表里,由 /api/asset/$id
读出。数据量上去之后应迁移到对象存储。四套字体(Cormorant Garamond / IBM Plex Mono / Noto Sans SC / Noto Serif SC)全部
自托管在 public/fonts/,由 public/fonts.css 声明——因为 fonts.googleapis.com
在中国大陆无法访问,作为阻塞式样式表会拖住首屏。
fonts.css 保留了 Google 的 unicode-range 分片,浏览器只会下载页面实际用到的分片
(首页约 25 个 / 共 222 个)。中文可变字体的多个字重共用同一个文件,所以重复的
@font-face 已合并成字重区间,CSS 从 gzip 后 184KB 降到 62KB。
需要更新字体时:重新抓取 Google 的 css2 链接,把 fonts.gstatic.com/s/ 换成
/fonts/、文件名里的 / 换成 _,字体文件下载到 public/fonts/。