Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Monorepo starter for a rental property owner platform with:
• Web owner/admin portal (Next.js)
• Mobile app shell (Expo React Native)
• Shared TypeScript package for domain models
• Supabase schema migrations for core rental workflows查看完整 README ↗Monorepo starter for a rental property owner platform with:
/Users/courtneysmith/Documents/Codex/Rental Properties/apps/web: Owner dashboard web app/Users/courtneysmith/Documents/Codex/Rental Properties/apps/mobile: Mobile app shell (owner + tenant flows)/Users/courtneysmith/Documents/Codex/Rental Properties/packages/shared: Shared domain types and helpers/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations: SQL schema and policies/Users/courtneysmith/Documents/Codex/Rental Properties/docs: Product and architecture notesnpm installcp apps/web/.env.example apps/web/.env.localnpm run dev:webnpm run dev:mobile/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260217_initial_schema.sql/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260217_phase2_auth_and_policies.sql/Users/courtneysmith/Documents/Codex/Rental Properties/apps/web/.env.local:
NEXT_PUBLIC_SUPABASE_URL=<your-project-url>NEXT_PUBLIC_SUPABASE_ANON_KEY=<your-anon-key>NEXT_PUBLIC_APP_URL=http://localhost:3000STRIPE_SECRET_KEY=<your-stripe-secret-key>http://localhost:3000/auth/callbackupdate profiles set role = 'owner' where email = '<your-email>';Run this additional migration before creating leases:
/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260218_phase3_profile_visibility.sql/owner/manager/tenant/portal/loginRun this migration to enable manager foundation:
/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260218_phase4_manager_foundation.sqlRun this migration for Stripe payment tracking:
/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260218_phase5_payments_stripe.sql/api/assets/maintenance-photo/:photoId/api/assets/document-packet/:packetIdRun these migrations after Phase 5:
/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260225_phase6_manager_maintenance.sql/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260228_phase7_invitations.sql/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260228_phase8_documents_notifications_maintenance.sqlproperties.owner_account_id) with permission helpers:
can_administer_property(property_id)can_view_property(property_id)can_access_property(property_id)Run this migration after Phase 8:
/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260228_phase9_llc_and_shared_operator_access.sql/Users/courtneysmith/Documents/Codex/Rental Properties/supabase/migrations/20260301_phase9_owner_account_columns_delta.sqlFeatureCapabilitiesDTO now includes ownershipEnabled and optional warnings.ownership./api/cron/generate-chargesCRON_SECRET via Authorization: Bearer <CRON_SECRET> or x-cron-secretSUPABASE_SERVICE_ROLE_KEY server-side to bypass RLS for scheduled processingRESEND_API_KEYRESEND_FROM_EMAIL/Users/courtneysmith/Documents/Codex/Rental Properties/vercel.json)Local manual trigger example:
curl -H "Authorization: Bearer $CRON_SECRET" http://localhost:3000/api/cron/generate-charges
Run lightweight production-safe checks:
APP_URL=http://localhost:3000 npm run smoke:web
Optional authenticated cron verification:
APP_URL=http://localhost:3000 CRON_SECRET=<secret> npm run smoke:web
RESEND_API_KEY + RESEND_FROM_EMAIL in Vercel for email notificationsnpm test --workspace @rental/webnpm run lint:webnpm run build:webnpx tsc -p apps/mobile/tsconfig.json --noEmitAPP_URL=<vercel-url> npm run smoke:web