Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
lexiglow는 독서 중 빠른 호버 번역·컨텍스트 LLM 도움·문장 분석으로 영어를 학습한다
Learn English inside your reading flow with fast hover translation, contextual LLM help, and in-page sentence analysis.
플러그인TypeScript · JavaScriptGitHub @ArseneWg직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
LexiGlow | Learn English inside your reading flow
Fast Google lookup by default. Contextual LLM help, review, English explanations, pronunciation, and sentence analysis stay on the page when you need them.
LexiGlow is a Chrome extension for learning English while reading. It keeps lookup, review, pronunciation, contextual translation, English explanations, and complex-sentence analysis inside the page instead of forcing a separate study workflow.README 전문 보기 ↗LexiGlow is a Chrome extension for learning English while reading. It keeps lookup, review, pronunciation, contextual translation, English explanations, and complex-sentence analysis inside the page instead of forcing a separate study workflow.
Typical reading flows include:
The internal A1-C1 labels are vocabulary-size heuristics used to tune explanation difficulty. They are not a formal CEFR assessment.
zh-CN, zh-TW, ja, ko, fr, de, es, pt-BR, ru, it, tr, vi, id, th, ar.In addition to unit tests, the project uses Playwright to launch a real persistent Chromium profile with the MV3 extension loaded. The browser suite exercises the service worker, content script, Shadow DOM tooltip, CSS Highlight API, selections, Popup / Options, dynamic DOM updates, and persisted learning state.
The browser suite covers reading, learning, settings and data portability. In addition to the original reading-flow coverage, it now verifies Options backup/download/import, API-key redaction and same-profile secret preservation, LLM 429 and malformed-response fallback, explicit 401 failure UI without fallback, stale hover-response suppression, and prevention of late responses resurrecting a closed tooltip.
Run npm test and npm run test:e2e for the current test inventory and results. Translation, dictionary, and LLM traffic is deterministically mocked at BrowserContext level so CI does not depend on real API keys or model randomness. Failed E2E runs retain Playwright traces, screenshots, HTML reports, and test-result diagnostics for investigation. A separate non-blocking public-site smoke workflow continues to exercise GitHub, Hacker News, MDN, web.dev, React docs, and Reddit when its CI egress is accepted.
npm run release:package emits release/lexiglow-<version>.zip plus SHA256SUMS. The package contains only manifest.json and production dist/** files, and fails if package.json and the manifest disagree on version or if a manifest-referenced runtime file is missing.vX.Y.Z to match package.json, then run the full unit/build/browser gate before uploading the ZIP artifact.If the page contains sensitive information, review the data-processing terms of the translation or LLM provider before sending that content.
npm ci
npm run fetch:lexicon
npm run build
Then load the extension in Chrome:
chrome://extensions.dist folder (it contains its own runtime manifest). Loading the project root also works, but includes unnecessary development files in the extension directory.Use Node.js 22 or a supported newer version. To build a minimal offline install bundle, run npm run release:package after the build, then unzip release/lexiglow-<version>.zip and load the extracted folder containing the root manifest.json. Chrome cannot load a ZIP directly. SHA256SUMS records its checksum; building and packaging identical sources twice should produce the same checksum. This command creates local files only; it does not publish a release.
Start with Google lookup: no AI key is required. For contextual translation, English explanation or sentence analysis, configure your provider and save the translation settings first. Provider billing is separate. If fallback is enabled, the card explains why Google was used instead. A local OpenAI-compatible server may omit the API key. Language UI coverage varies: newer controls fall back to English when a translation is missing.
After a code update, rebuild, click Reload on the extension card and refresh your reading tab. If no highlights appear, try an English HTML page rather than a browser internal page, PDF, editor or code block. Automatic highlighting respects declared non-English language regions; it does not infer the language of untagged ASCII text.
Suggested smoke test:
Known state applies to safe common inflections such as work / works / worked / working, while derived forms such as worker or workable remain independent.
LexiGlow uses a source-available license rather than MIT or another conventional permissive open-source license.
See:
The bundled word-frequency data has separate upstream rights considerations. A commercial LexiGlow license does not automatically grant commercial rights to that third-party data; review THIRD_PARTY_NOTICES.md before commercial distribution.
LexiGlow treats pronunciation as a lexical-reading problem rather than a spelling-only TTS action. Exact single-word selections receive UK/US pronunciation when available. Structured Kaikki/Wiktextract pronunciation variants are kept atomic (IPA, audio/audio-IPA, accent/POS tags), pinned offline CMUdict/Britfone subsets for the top 5,000 frequency words plus explicit edge cases provide bounded reproducible fallback data, common heteronyms are resolved from context/POS when confidence is high, and regular -s/-ed/-ing forms can be derived from the base phonemes without reusing base-word audio. Human lexical audio is played before Chrome TTS; TTS always receives the exact selected surface and is disabled for unresolved ambiguous heteronyms. Source IPA is displayed without destructive DJ-style conversion.