尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗same3le means “recite to me.” It turns structured questions and answers into a spoken study session.
The current prototype is a static, client-side web app. The core app is free and does not require payment information or a paid AI API. A future optional Pro subscription is planned for production account features.
A new user can now:
All of these sources terminate at Deck Contract v1 and use the same existing study engine.
Direct paste is the fastest path for Q&A generated with a user's own AI subscription. It does not require a public Google Sheet, file upload, account, LLM call, or same3le API key.
Supported examples include:
Q: What hormone lowers blood sugar?
A: Insulin
ALT: insulin hormone | human insulin
What is ATP? | Adenosine triphosphate
What is DNA? | Deoxyribonucleic acid
Two-column rows copied from a spreadsheet and common Markdown tables are also accepted. paste-data.js performs deterministic browser-local parsing and rejects ambiguous prose rather than inventing cards.
The zero-signup local importer accepts:
.xlsx.apkg.csv.tsv.txt, including structured Q&A and Anki plain-text exportsThe file is read by JavaScript in the browser and is not intentionally uploaded to a same3le application server. Excel parsing uses the workbook ZIP/XML structure locally. CSV/TSV/TXT use the existing deterministic row and paste parsers.
.apkg packages are opened locally. same3le extracts the embedded collection, reads note fields, and converts basic front/back notes plus cloze notes into ordinary Deck Contract cards.
The importer intentionally does not reproduce Anki scheduling, review history, card-template rendering, reversed-card template logic, images, or audio. For basic notes, the first populated field is treated as the prompt and the next populated field as the answer. For cloze notes, the hidden term is used as the answer.
Legacy .apkg collections are read directly from SQLite. Modern Anki packages that contain a zstd-compressed collection first try the browser's native decompressor; when unavailable, same3le may load the pinned MIT-licensed [email protected] browser decoder and still performs the actual deck decompression locally. If that decoder is unavailable, the app instructs the user to re-export from Anki with Support older Anki versions enabled.
Whole-collection .colpkg import is not part of this version.
same3le reads the question, the browser listens to the spoken answer, and a local matcher compares the transcript with the stored answer and accepted alternatives. The user can retry or override recognition errors. In supported browsers, Screen Wake Lock can keep the display awake during the session.
same3le reads the question, waits for a configurable interval, reads the saved answer, and advances.
An experimental continuous spoken track reads the remaining questions and answers without using the microphone or grading. Background playback depends on the browser and operating system.
The answer checker is a prototype heuristic, not a validated grading system.
Every ingestion method terminates at the same canonical deck boundary:
Built-in deck ──────────┐
Paste Q&A ──────────────┤
Excel .xlsx ────────────┤
Anki .apkg ─────────────┤
CSV / TSV / TXT ────────┼→ Deck Contract v1 → existing spoken study engine
Google Sheet ───────────┘
deck.js provides normalizeDeck(), validateDeck(), and the strict loadDeck() entry point. This keeps file parsing separate from speech synthesis, speech recognition, grading, session controls, wake lock, lock-screen review, and progress behavior.
See docs/DECK_CONTRACT_V1.md and regression tests under test/.
The minimum deck needs only Question + Answer. Accepted alternatives are optional.
| Question | Answer | Accepted alternatives |
|---|---|---|
| What is the mechanism of infliximab? | It inhibits TNF-alpha. | anti-TNF monoclonal antibody|TNF inhibitor |
For row-based files, same3le detects common headers and exposes the existing mapping controls only when the user needs to correct the guessed fields.
The repository includes crawlable static pages for /voice-flashcards/, /quiz-me-from-my-notes/, /google-sheets-flashcards/, /active-recall-out-loud/, /medical-students/, and /pricing/, plus sitemap.xml and robots.txt.
The current canonicals use https://same3le.com. After the permanent domain is purchased, run:
npm run set-domain -- https://same3le.com
Then configure DNS, HTTPS, URL-matched permanent redirects, Search Console, Bing Webmaster Tools, and submit the new sitemap.
Pre-launch legal drafts live under /terms/, /privacy/, /acceptable-use/, /medical-disclaimer/, /billing-and-cancellation/, /accessibility/, and /contact/. They remain noindex until unresolved operator, address, support, pricing, refund, and counsel-review fields are completed.
Studying does not require an account. Optional passwordless email sign-in is for persistence:
Account Sync v1 stores only authentication information and Google Sheet identifiers in Supabase. Excel, Anki, CSV, TSV, TXT, and pasted decks remain browser-local.
The current production hostname is https://same3le.com. Authentication redirects must keep using that host until the permanent domain cutover.
The proposed account schema is in supabase/migrations/202608010001_initial_accounts.sql. Saved Google Sheet references are in supabase/migrations/202608270001_saved_sources.sql. The oral study engine and local-file parsing do not require an account.
Google Sheets remain an optional advanced path:
For private material, prefer the local file importer. Do not enter protected health information, patient records, confidential examination content, or commercial question-bank content without authorization.
python3 -m http.server 4173
Then open http://localhost:4173 in a current browser.
Run the complete validation suite:
npm run check
A GitHub Actions workflow also runs the same check on pull requests and pushes to main.
.xlsx, .apkg, .csv, .tsv, and .txt files are processed client-side in Account Sync v1.No open-source license has been granted for same3le at this stage. Standard copyright applies. Third-party components retain their own licenses.