DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
WZ Reader (formerly WZ PDF) — presentation-focused document viewer for PDF, Korean HWP/HWPX, Word, PowerPoint, Excel, e-mail and images. Read aloud, narrated slide videos, OCR, annotate, save as PDF. Web and Windows desktop; nothing is uploaded.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Open PDF, Korean HWP, Word, PowerPoint, Excel, e-mail, images and Markdown — present, read aloud, annotate, OCR and convert. 100% in your browser. No upload.
Introduce : https://whyzoo.com/WzPDF/ · Demo : https://whyzoo-lab.github.io/WZ-PDF/ · Download : Releases
Sample documents made for these screenshots.
A presentation-focused viewer, editor, and distribution platform for the documents that actually land in your inbox.
Called WZ PDF until 1.25.0 — it outgrew the name. Installed copies update
in place, and the program file is still WZ PDF.exe.
WZ Reader is a fast, fully client-side document tool. Open a PDF, a Korean
.hwp / .hwpx, a Word document, a PowerPoint deck, a spreadsheet, a saved
e-mail (.eml), a Markdown file or an image — read it, find in it, present it
fullscreen, have it read aloud, mark it up, run OCR, and save it as a PDF with
real, selectable text. All in the browser or as a Windows desktop app.
No backend, no upload: your file never leaves your machine.
Built with React, Konva, pdfjs, pdf-lib and Electron, plus a Rust→WASM HWP
engine (@rhwp/core), on-device OCR
and on-device speech. Ships with a
Model Context Protocol server so AI agents
(e.g. Claude) can read every format it opens and convert documents to PDF.
.docx, .pptx, .xlsx / .xlsm / .xls / .ods / .csv / .tsv / .psv open with their layout, tables, charts and pictures, with zoom, single / two-page / all-pages layouts, a page list, find, print and fullscreen. Every row of a 200,000-row sheet scrolls — nothing is cut short with "open it in Excel". Save any of them as a PDF with selectable text.C or the corner button), and read-aloud reads the script instead of the slide, turning the slides as it goes. Shift+F5 starts the show from the slide in view.Ctrl+Z / Ctrl+Y take back stamps, signatures and page edits; opening another document or closing the window with unsaved changes asks first.From Releases:
| File | |
|---|---|
WZ_Reader_Setup_<version>.exe | Installer (recommended) — shortcuts, file associations, the console converters, automatic updates. |
WZ_Reader_<version>.exe | Portable single file — runs without installing, but unpacks itself on every start (~5 s) and does not update itself. |
Show a document inline on any page — no download, no plugin:
<iframe
src="https://whyzoo-lab.github.io/WZ-PDF/app.html?embed=1&url=DOCUMENT_URL"
style="width:100%; height:80vh; border:0;"
title="Document preview"
allowfullscreen></iframe>
url — the document to display (URL-encode it): PDF, HWP, Word, PowerPoint, Excel, Markdown, mail or an image. embed=1 hides the editing chrome for a clean read-only viewer; drop it to open the full app.embed=1 is a convenience: whoever sees the page can edit the address and open
anything. For a viewer that shows only what you chose, view only, host the
web build yourself and put a private.json next to app.html. Every build
carries an example beside app.html —
private.example.json — that works as soon as it
is copied to that name. A live example runs on the
demo page.
{
"documents": {
"rfp": "docs/RFP-2026.pdf",
"notice": { "url": "/files/get?id=17", "name": "notice.hwp" }
},
"print": false
}
<iframe src="https://your-site/viewer/app.html?doc=rfp" style="width:100%; height:80vh; border:0;" allowfullscreen></iframe>
?doc= picks one; with a single document it may be left out). A file picked or dropped, ?url=, a mail attachment — all refused."print": true (printing is also "save as PDF").private.json, so relative ones stay on your server. name supplies the file name (with its extension) when the URL has none.private.json that exists but cannot be read keeps the viewer closed, never open.private.json in place: deploy.example.bat keeps it when it clears the server, and never uploads a local one. If you deploy another way, exclude it the same way.Home/End jumps). F5 presents from the start,
Shift+F5 from the page in view.P), highlighter (H),
rectangle (R), arrow (A), laser pointer (L), and spotlight zoom (Z);
color 1–5, width [ ], undo Ctrl+Z, erase E. Two-step ESC.1) and red rectangle
(2) for quick emphasis; never written to the file, cleared with ESC..docx) — pages as Word lays them out, with headers, footers and
bullets; a document Word never paginated is split into real pages..pptx) — slides with their tables, charts and pictures,
checked against PowerPoint's own rendering. Speaker notes under each slide,
captions in the slideshow, hidden slides skipped..xlsx .xlsm .xls .ods .csv .tsv .psv) — column widths,
fonts, fills, borders, number formats, merged cells, hidden sheets, pictures
(a logo, a company seal), every row of a very large sheet. Korean CSV in
CP949 opens correctly.Ctrl+F find across the document (works on OCR text too).R for this page, RR for the whole
document. Saving the PDF keeps the recognized text in it.S) — speaks the document from the page you are on, a
sentence at a time, using Supertonic 3
on-device. Ten voices, adjustable speed, previous / next sentence
(Alt+← / Alt+→), and no audio or text ever sent anywhere. The voice model
downloads once (383 MB) after you agree to it; everything after that works
offline. Note that the model's weights are under the OpenRAIL-M licence
rather than MIT — see THIRD_PARTY_NOTICES.md..hwp (binary) and .hwpx (XML) files through the same pipeline as
PDF — annotations, OCR, print, and export all work unchanged.hwp2hwpx and hwpx2hwp convert between the two formats
from the command line. A measured round trip keeps the page count and every
character of the text layer, and 120 documents convert in about 2 seconds.Ctrl+C / Ctrl+V pastes one onto the page under the
pointer, or onto every page selected in the page list.Ctrl+Z, Ctrl+Y for annotations and page edits; an amber
dot marks unsaved changes, and you are asked before they could be lost.Ctrl+S), booklet PDF (two pages per sheet),
self-contained HTML viewer, page images (ZIP), and a standalone Viewer
EXE (desktop build; the first export downloads its template once).npm install
npm run dev:vite # Vite dev server only (browser)
Open http://localhost:5173. (The root is the landing/demo page; the app itself is at /app.html.)
npm run dev # compile Electron main + Vite + launch Electron
npm run build # production web build → dist/
npm run build:exe # Windows portable + NSIS installer → release/
build:exe regenerates the app icon from public/icon.svg, copies the HWP WASM
runtime, and runs two electron-builder passes (portable first, then NSIS). The
OCR and HWP binary assets are gitignored and regenerated at build time
(npm run setup:ocr needs Python + pyyaml; npm run setup:hwp runs
automatically). See CLAUDE.md for architecture and build details.
npm test # Vitest (watch)
npm run test:run # Vitest (single run)
npm run lint # ESLint
mcp/ contains a Model Context Protocol server with fifteen tools for
MCP-capable AI clients: read the text of any format the app opens
(doc_get_text, doc_info — PDF, HWP, Word, PowerPoint with speaker notes,
spreadsheets by rows, Markdown, mail, pictures — with OCR for scanned pages and,
optionally, the text inside pictures in any of them), convert any of them to PDF exactly as
the app saves it (doc_to_pdf, hwp_to_pdf), and work on PDFs (info, text,
search, watermark, stamp, text overlay, split, merge, delete / reorder / insert
pages). The installer ships it ready to run on the app's own binary — no Node.js
install needed. It runs over stdio or HTTP (Streamable HTTP), writes only
.pdf files and never overwrites one unless asked. See
mcp/README.md.
main. Any static host works:
serve the npm run build output in dist/.deploy.example.bat is a template for deploying to an
nginx-served host. Copy it to deploy.bat (gitignored) and fill in your server,
user, and paths.Tagging v*.*.* triggers a GitHub Release that builds and publishes the Windows
installer + portable exe, and the latest.yml that installed copies update from.
| Area | Tooling |
|---|---|
| UI | React 19, Tailwind CSS 4, Konva / react-konva |
| pdfjs-dist (render/text), @cantoo/pdf-lib + fontkit (save, encryption) | |
| HWP / HWPX | @rhwp/core (Rust → WebAssembly) |
| Office | docx-preview (Word), @aiden0z/pptx-renderer (PowerPoint), hucre (spreadsheets) |
| Mail / Markdown | own MIME parser, marked, DOMPurify |
| OCR | onnxruntime-web + PaddleOCR PP-OCRv5 (offline, on-device) |
| Speech | Supertonic 3 + onnxruntime-node (offline, on-device) |
| Video | WebCodecs + mediabunny (MP4) |
| Desktop | Electron, electron-builder, electron-updater |
| Build/Test | Vite, TypeScript, Vitest, ESLint |
| Agents | @modelcontextprotocol/sdk |
MIT. Third-party components and their licenses (Apache-2.0,
MPL-2.0, SIL OFL, MIT, etc.) are listed in
THIRD_PARTY_NOTICES.md.
.exe — hand someone a single file that opens itself, carrying the document in its own format: a deck opens as a deck, with its slideshow and notes; a locked PDF still asks for its password. With stamps on it, it carries the PDF that includes them..exe..eml mail — headers, body and attachments you can save or open, with Korean encodings (EUC-KR bodies, encoded subjects and filenames) handled properly. Remote images are blocked until you ask, so opening a message doesn't report back to the sender..md renders as a formatted page (headings, tables, code, task lists) with a contents rail that follows you as you scroll. Turn on editing (the pencil) and you get the raw source, tags and all, to edit and save back.Ctrl+F finds across them, and F5 puts them fullscreen with the same presenter tools as a PDF.topdf (any format the app opens → PDF), hwp2pdf, hwp2hwpx and hwpx2hwp run from any terminal. Point them at files, wildcards or whole folders: hwp2hwpx C:\docs\2026 walks the tree, and -o rebuilds that tree in the output folder instead of flattening it. Converted PDFs carry the same selectable text layer as saving from the app.<iframe> (see below), or run it in private mode: only the documents your server designates, view only..pdf, .hwp, .hwpx, .docx, .pptx, .xlsx, .xls, .csv, .tsv, .psv, .eml, .md and images by double-click, lists your recent documents, and updates itself.