EvoX Genesis
EvoX Genesis는 고수준 목표를 재귀적 소프트웨어 세계로 전환해, 유한 에이전트가 개발하고 승인된 결과만 유지됩니다
Windows용 무료 오프라인 파일 뷰어, PDF·Word·Excel·PowerPoint 열고 Claude Code 문서 변경 검토
Free offline file viewer for Windows. Open PDF, Word, Excel and PowerPoint files, and review Claude Code document changes.
개발 도구TypeScript · JavaScriptGitHub @samirsawarkar온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Free, private, offline file viewer for Windows: PDF, Word, Excel, PowerPoint, images, video and code. Open documents from Claude Code and request changes from inside the app.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Free, private, offline file viewer for Windows: open PDF, Word, Excel, PowerPoint, images, video, code and more. Documents from Claude Code open in UniView, and you request changes from inside the app.
Download for Windows · Website · Checksums
▶ Watch the 50-second launch video
UniView is one simple, Chrome-like app for viewing documents, spreadsheets, presentations, books, images, audio, video, code and archives. Files stay on the device: no account, no telemetry, and it works offline. When you connect an AI agent, the agent uses its own network access; phone sharing uses local Wi-Fi only when you turn it on.
The Windows build is unsigned, so Windows warns before it runs: click More info, then Run anyway. Compare the download against SHA256SUMS.txt first, or skip the installer and build from source.
| Platform or feature | Status |
|---|---|
| Windows | Download available |
| Android | No download yet; build from source |
| macOS | Build from source; not tested for release |
| iOS | Build from source; not tested for release |
| Claude Code | Supported |
| Codex | Preview, not yet tested end to end |
| Kind | Formats | How |
|---|---|---|
| pdf.js 6.4: lazy page rendering, selectable text, find, zoom | ||
| Word | docx, docm, dotx | docx-preview (embedded HTML "altChunks" never rendered) |
| Spreadsheets | xlsx, xlsm, xlsb, xls, ods, csv, tsv | SheetJS CE 0.20.3, virtualized grid (50,000 rows scroll smoothly), sheet tabs, UTF-8 CSV |
| PowerPoint | pptx, ppsx, potx, pptm | UniView's own renderer: theme colors and fonts, layout/master placeholders, shapes, pictures, tables, groups, SmartArt drawings, notes, presenter mode (F5) |
| Books | epub | UniView's own reader: table of contents, chapter navigation, text size, scripts never run |
| Images | png, jpg, gif, webp, avif, bmp, ico, svg, tiff | Zoom, fit, 1:1, rotate; SVG shown as an image so its scripts cannot run |
| Audio and video | mp4, mov, webm, mkv, mp3, m4a, wav, ogg, flac, … | The device's own decoders (nothing bundled, no codec licensing) |
| Text and code | 70+ extensions | highlight.js (40 languages), line numbers, 2 MB pages for huge logs |
| Markdown, JSON | md, json | Rendered and sanitized Markdown; collapsible JSON tree |
| Archives | zip, cbz, jar, apk… | File list with filter; any entry opens in a new tab |
| Fonts | ttf, otf, woff, woff2 | Sample text at six sizes and a glyph grid |
| Legacy Office | doc, ppt | Recovered text with a clear note |
| Anything else | * | Hex view. A file that fails to render always offers "View as text" and "View as hex": never a blank tab |
resources\uniview-mcp.cmd, or ELECTRON_RUN_AS_NODE=1 because Electron's main process on Windows closes stdin in GUI mode) is in docs/AGENTS.md.npm run bench (see docs/BENCHMARK.md): app start to interactive 84 ms; open-to-first-view p50 42 ms warm, 356 ms the first time a format is opened (the viewer's code loads once); a 5.8 MB, 50,000-row workbook opens in 325 ms warm.
Requires Node 22+ (tested on 24.20).
npm install
npm run dev # web UI at http://localhost:5173
npm test # unit tests (Vitest)
npm run build # type-check and production build into dist/
npm run fixtures # generate test documents into fixtures/generated/
npx playwright test # end-to-end: web, Pixel 7 viewport, Electron
npm run bench # time-to-first-view benchmark (needs `npm run preview` running)
npm run electron # desktop app from the current build
AES golden eval: aes eval --workspace . --suite evals/detect.json --execute; agent workspace eval: aes eval --workspace . --suite evals/agents.json --execute.
Set PLAYWRIGHT_BROWSERS_PATH if your Playwright browsers live outside the default cache.
| Target | Command | Output |
|---|---|---|
| Windows | npm run dist:win | release/UniView-Setup-1.0.0.exe (installer), release/UniView-Portable-1.0.0.exe |
| macOS | npm run dist:mac (on a Mac or CI) | release/UniView-1.0.0-*.dmg |
| Android | npm run android:apk (JDK 21) | android/app/build/outputs/apk/debug/app-debug.apk |
| iOS | npx cap sync ios, then build ios/App in Xcode |
Builds are unsigned. Code signing, notarization and store submission are a separate, deliberate release step.
src/core format detection, PPTX/EPUB/ZIP parsing, errors: no React, no shell code
src/viewers one lazily loaded viewer per format family
src/ui tabs, omnibox, home, per-tab error boundary
src/shells the only code that talks to Electron or Capacitor (ShellBridge, FileSource)
electron/ desktop main process and sandboxed preload
android/ ios/ Capacitor projects with native "Open with" / Share handling
tests/unit/fence.test.ts fails the build if src/core, src/viewers or src/ui import a shell runtime, so the shell can be swapped later (see the decision record below).
uniview-file://<token>/ with HTTP range support, where the 128-bit token exists only for files the user opened (picker, drop, file association, typed path).<img>; DOCX embedded HTML is never rendered. ZIP-based formats have per-entry (512 MB) and per-package (1 GB) decompression limits.Recorded in Obsidian (uniview):
dec-67e7d1c9 TYPE 1, debate dec-9a21f812 unanimous). Gate before code signing: a 3-day Tauri v2 prototype against the same benchmark; migrate only if p50 time-to-first-view improves ≥25% or installer size drops ≥50% with no format regression.emf-converter); the optional second PowerPoint engine (@aiden0z/pptx-renderer) is deferred to V1.1 as an isolated chunk.MIT for UniView's own code. Bundled libraries keep their licences: see THIRD_PARTY_NOTICES.md.
Install UniView-Setup-1.0.0.exe (the portable version does not register file types). Open Settings → Apps → Default apps, search for UniView, and select it for each file type you want it to open. You can also right-click a file in Explorer, choose Open with → Choose another app, select UniView, and choose Always. Installing UniView does not change your existing defaults. Windows chooses defaults separately for each extension.
UniView can open other files using Open or drag and drop, including an inspection fallback for unknown formats; it cannot faithfully render every document format. See the format table and known limits above and below.