DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
브라우저에서 동작하는 무료 개인 워드 프로세서·PDF 편집기입니다
A free, private word processor and PDF editor that runs in your browser. Edit PDFs and scans, fill forms, open and save Word files. Works offline; nothing is uploaded.
생산성JavaScript · CSSGitHub @BobotheHutt온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Slightly more stuff than notepad, but less than Word
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A fast, private word processor and PDF editor that runs entirely in your browser. No account, no server, no tracking. Your documents stay on your device. It saves as you type, works offline, opens and saves Word documents, and lets you edit and sign PDFs.
Writing
# heading, - bullet, 1. numbers, [ ] checklist, > quote, ``` code, --- lineDocuments
.docx, .md, .html and .txt, by menu or by dropping files on the window (PDFs and images open in the PDF editor, below).docx), web page, Markdown or plain text. Export… makes a PDF (through Print). Everything is also kept in Noteshack as you work ("Saved in Noteshack").
PDFs
What PDF editing cannot do, so nothing surprises you:
Tools
Documents are stored in your browser's IndexedDB on this device. They are never uploaded. Clearing your browser's site data deletes them, and they don't follow you to other browsers or computers. Use File → Back up all documents to keep a copy, or to move them.
Upgrading from the first version? Your old draft is moved into the documents list automatically the first time you open the new version.
There is no account, no ads and no cookies, and documents are never uploaded. Three things are fetched from the internet, and two are sent only when you ask:
Uncommon font files. The 31 common fonts the app matches are served
by Noteshack itself. When a PDF names a font outside them, that font file
is downloaded from the free Fontsource library
through jsDelivr (cdn.jsdelivr.net). Like any website, jsDelivr sees the
visitor's IP address; nothing from the document is sent.
Linked pictures. A picture in a document that links to a web address (for example, pasted from a web page) is loaded from that address.
Translation models and script fonts, from Noteshack's own file
storage (files.noteshack.org), kept in the browser after the first time:
the model for two languages, the first time you translate between them,
and the font for a script (Arabic, Chinese, Hindi and others), the first
time a PDF needs it. Only the file is downloaded; the text is translated,
and fonts are cut down to the letters used, on the device.
The online translator, only when you choose it (Translate → Online):
the text being translated is sent to Noteshack's translation service on
Cloudflare (api.noteshack.org), which translates it with Workers AI and
sends it back. Nothing is kept or logged.
A problem report, when you send one (Tools → Report a problem): what you write, the app's version, your browser and the app's language go through the same service to Noteshack's GitHub page, where the report is public. Nothing from your documents is sent.
Everything else, text recognition included, runs on the device.
Noteshack is provided as is, without warranty of any kind. Text recognition and font matching can be wrong: check a PDF before sending, submitting or signing it, and keep backups of anything important.
Users are responsible for the documents they change. Do not alter a document in a way that misleads anyone, such as a form or record someone else filled in or signed.
Noteshack's own code is released under the MIT License.
The libraries in vendor/ keep their own licenses, listed below.
Noteshack uses these open-source projects, kept unmodified in vendor/
with their license texts:
vendor/dictionaries)files.noteshack.org, not stored in this repository; tools/translation-models.py puts them there)worker/)Fonts come from Fontsource when needed and are not stored in this repository; each is under its own free license (SIL Open Font License or Apache License 2.0). Fonts made from a scan's letters are changed copies of those fonts, so they are renamed (Noteshack Scan 1, 2…) and keep their license notices, as the Open Font License asks.
Adobe, Acrobat and ClearScan are trademarks of Adobe. Microsoft, Word and Calibri are trademarks of Microsoft. Arial and Times New Roman are trademarks of The Monotype Corporation. They are named only to describe compatibility; Noteshack is not affiliated with or endorsed by them.
It is a static site with no build step and no dependencies.
python3 -m http.server, and open http://localhost:8000. (Opened
straight from disk, the word processor works but PDFs do not: browsers
will not load PDF.js's modules from a file:// page.)main, root folder.
The live site is https://noteshack.org, set by the CNAME file and the
domain's DNS records (four A records and four AAAA records for GitHub Pages,
and a www CNAME to bobothehutt.github.io).Each web address keeps its own saved documents, so after moving the site to a new address, open the old one, use File → Back up all documents, and restore that file at the new address.
The app needs nothing installed; the tests need Node.js.
npm install
npx playwright install chromium firefox webkit
npm test
They serve the repository as the site and use it in Chrome, Firefox and Safari's engine (WebKit): writing,
exporting, editing and downloading PDFs, filling forms, reading scans,
storage, printing, accessibility (axe), privacy (which sites are contacted),
small screens and offline use. The PDFs they open are made fresh each run
from invented text, so no real document is in the repository. Only the ones a
change affects are run; GitHub runs those in all three when started by hand
(.github/workflows/test.yml).
The code is written in English, with each phrase the app shows wrapped:
_('Saved to “{name}”', { name }), or for a number,
_n(count, '{n} page', '{n} pages'). Each language's file in locales/ gives
the same phrase translated, keyed by the English (a plural under the English
plural, one form per plural category of the language). The text in
index.html is translated where it stands when the app starts.
A new or changed phrase needs a translation in every file in locales/: the
tests list any that is missing, any no longer used, and any whose {…}
parts differ from the English. node tools/phrases.mjs lists the phrases the
code uses. Two test languages, from the address only, help find what was
missed: ?lang=en-XA shows every phrase accented and longer (so text left in
plain English, or cut off, stands out), and ?lang=ar-XB does the same right
to left.
index.html page structure, menus and toolbar
js/boot.js sets the theme before the page first draws
styles.css all styling: light and dark themes, phone layout, print
js/app.js the editor and the rest of the app
js/store.js document storage (IndexedDB)
js/sanitize.js cleans pasted and opened content
js/markdown.js Markdown import and export
js/docx.js Word .docx import and export
js/zip.js the zip reading and writing .docx needs
js/pdf.js the PDF editor
js/fonts.js identifies and downloads the font a PDF was set in
js/scanfont.js builds a font from a scan's own letters
js/images.js opens images in the PDF editor and saves them back as images
js/i18n.js the app's own language: phrases, plurals, the test languages
locales/ the app's phrases in Spanish, French, German, Portuguese and Italian
js/lang.js the languages, and working out which one a text is in
js/spell.js spell checking (js/spellworker.js runs Hunspell)
js/translate.js translation on the device: Noteshack's engine (Bergamot) or the browser's
js/remote.js downloads from files.noteshack.org: checked, and kept in the browser
js/shaping.js text in other scripts in saved PDFs: Noto fonts, shaped (HarfBuzz), cut down to the letters used
worker/ Noteshack's online service (api.noteshack.org), a Cloudflare Worker: the online translator, and problem
reports filed on GitHub; GitHub deploys it when it changes (tools/worker.py)
vendor/ the libraries (see vendor/README.md), with their licenses; loaded only when needed
tools/ the upload scripts for the translation models and the Noto fonts, the online translator's deploy script,
test-setup.py (the tests' fonts and models, where the network cannot reach them); phrases.mjs lists the phrases the code uses
js/icons.js toolbar icons
sw.js offline support
manifest.webmanifest app install details
AUDIT.md audits: the first version, and the app as released
LICENSE the MIT License, for this project's own code
CLAUDE.md notes for an AI assistant working on the code: releasing, secrets, open work
tests/ the tests (see Tests above)
After changing any file, bump CACHE in sw.js so installed copies pick up
the update, and the ?v= number on each of the app's files in index.html to
match it (Cloudflare and browsers keep the code files for hours; a new number
is a new address, so nobody gets new pages with old code; the tests check
the two agree). After changing a file under vendor/, bump VENDOR there too: those
files are cached apart and are not fetched again otherwise.
files.noteshack.org, not stored in this repository; tools/noto-fonts.py puts them there)