Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Apply karde bhai
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A private job-tracking web app shared by three members: Anni (blue), Lukky (yellow) and Rishii (red). Screens: Login, Dashboard, All Jobs, Add Job, My Applications, Analytics.
Status: Phases 1 (secure login), 2 (Google Sheets data layer) and 3 (All Jobs, Add Job, My Applications) are implemented, and the live Google connection is verified for all three members. Phases 1-4 are done and Phase 5 (deployment) is complete: production is live at https://jobsbyarillabs.vercel.app (see docs/deployment). Work proceeds one phase at a time with explicit owner approval.
npm install
cp .env.example .env.local # add GOOGLE_* values for data routes; see docs/setup/README.md
npm run dev # http://localhost:3000
Without env vars, development uses documented prototype access codes and a dev-only session secret. Production refuses to start sessions without SESSION_SECRET and fails closed without access codes.
npm run dev, npm run build, npm start, npm run lint, npm run typecheck, npm test, npm run test:e2e, npm run test:e2e:isolated (browser workflow + responsive suites on an in-memory backend), npm run sheets:test-setup (prepare a disposable test spreadsheet).
assets/ – original reference screenshots and photos (never modified)public/assets/ – browser-served copies of the profile photossrc/app – pages and route handlers; src/components; src/lib (auth, validation); src/configtests/ – unit, integration, e2eAll data comes from the Google spreadsheet; an empty sheet shows an empty state with an Add New Job button, never sample data.
GET/POST /api/jobs, GET /api/applications, PUT /api/applications/[jobId], GET /api/sheets/status. Jobs are shared; each member has an independent application status. Identity always comes from the session. Without Google configuration these routes return a safe 503; there is no sample data. Details: architecture.md.
Access codes are verified on the server only. Sessions are signed, HTTP-only cookies; identity is always taken from the validated session, never from browser-supplied names or IDs. Never commit .env* files or service-account JSON.