尚未检测到更新。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.