Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Aplicație web în română care îl ghidează pe un inițiator de proiect civic prin 10 pași (context, teoria schimbării, organizare), cu ajutorul unui AI. La final rezultă o pagină publică a proiectului, iar proiectul se editează doar cu un link secret de editare (fără cont).
npm install
cp .env.example .env.local
npm run dev
Cu REPO=memory și AI_PROVIDER=fake (valorile din .env.example) aplicația merge fără nicio cheie: datele sunt ținute în memorie (se pierd la repornire), iar AI-ul este unul fals, cu răspunsuri fixe pentru teste. Deschide http://localhost:3000.
Variabile de mediu (vezi .env.example):
| Variabilă | Rol |
|---|---|
REPO | memory (local, teste) sau supabase (producție); în producția Vercel (VERCEL_ENV=production) aplicația refuză memory |
AI_PROVIDER | fake (local, teste) sau deepseek (producție) |
SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY | necesare când REPO=supabase |
DEEPSEEK_API_KEY, DEEPSEEK_MODEL, DEEPSEEK_BASE_URL | necesare când AI_PROVIDER=deepseek |
npm test # teste unitare și de componente (Vitest)
npx playwright install chromium # o singură dată
npx playwright test # test end-to-end (pornește singur serverul pe portul 3100, cu REPO=memory și AI_PROVIDER=fake)
supabase/migrations/0001_init.sql: fie lipește-o în SQL editor, fie rulează npx supabase db push (după npx supabase link). Migrarea creează tabelele, funcțiile hit_rate_limit, save_draft și publish_project și dă drepturi doar rolului service_role.Creează un proiect Vercel legat de repository-ul GitHub.
Adaugă variabilele de mediu de producție:
REPO=supabase
AI_PROVIDER=deepseek
SUPABASE_URL=<Project URL din Supabase>
SUPABASE_SERVICE_ROLE_KEY=<cheia service_role>
DEEPSEEK_API_KEY=<cheia DeepSeek>
DEEPSEEK_MODEL=deepseek-flash
DEEPSEEK_BASE_URL=https://api.deepseek.com
Fă deploy.
Jurnalele de cereri conțin linkuri de editare. Tokenul de editare face parte din URL (
/e/<token>,/api/e/<token>/…), deci apare în jurnalele Vercel (și ale oricărui proxy). Cine vede jurnalele poate edita proiectele: dă acces la jurnale doar celor care au nevoie.
Pune variabilele reale într-un .env.local local (necomis) și rulează:
npx tsx --env-file=.env.local scripts/smoke-repo.ts
npx tsx --env-file=.env.local scripts/smoke-ai.ts
Primul verifică scrierea și citirea în Supabase (inclusiv funcțiile save_draft și publish_project), al doilea un apel real către DeepSeek. Lansează aplicația doar dacă ambele trec.
smoke-repo lasă în bază un proiect numit „Smoke test”. Șterge-l de mână după verificare, de exemplu în SQL editor:
delete from projects where draft -> 'project' ->> 'name' = 'Smoke test';