DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證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)