Agentero
에이전트를 연결해 로컬 Vault에 연구 컨텍스트를 보관·Zotero에서 무결점 이동·읽고 이해·재활용
Windows용 무료 오픈소스 작업·노트·알림 앱, 알림은 처리될 때까지 화면에 남고 계정 없이 12개 언어 지원
A free, open-source task, note and reminder app for Windows. Reminders stay on screen until you deal with them. No account, 12 languages.
생산성JavaScript · HTMLGitHub @sarmadiq9090-coder온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Free, open-source task, note and reminder app for Windows: sticky reminders, flexible repeats, 12 languages, themes and offline-first storage.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Remember Me is an open-source desktop app for 64-bit Windows. It runs without an account or a permanent internet connection, keeps your data on your own device, and shows each reminder in a sticky window above the taskbar until you mark it done or snooze it. Missed reminders don't get lost in the notification center.
.bak copy and automatic recovery if the data file is damaged.Download the latest installer from Releases and run it on Windows 10 or 11 (64-bit). Your personal data never goes into the repository or the installer.
The installer is built by GitHub Actions from the published source. It is not code-signed yet, so Windows SmartScreen may show "Windows protected your PC". Choose More info, then Run anyway, once you've verified the file.
Compare the file's fingerprint with SHA256SUMS.txt from the same release:
Get-FileHash .\Remember-Me-Setup-1.7.0-x64.exe -Algorithm SHA256
With the GitHub CLI you can also confirm the file was built by this repository's release workflow from the release tag:
gh attestation verify .\Remember-Me-Setup-1.7.0-x64.exe --repo sarmadiq9090-coder/Remember-Me --source-ref refs/tags/v1.7.0 --signer-workflow sarmadiq9090-coder/Remember-Me/.github/workflows/release.yml
A Microsoft Store version, Remember Me Reminders, is being prepared. It is the same app, with three differences: the Store installs its updates, Start with Windows is turned on in Windows' Settings → Apps → Startup (Settings has a button that opens it), and its data is in %LOCALAPPDATA%\Packages\FastKiwi.RememberMeReminders_sm1xjmj6v76yc\LocalState\Remember Me. The first time it starts it copies your data from the installer version, which keeps its own copy. Uninstalling the Store version deletes its data, so export a backup first. See docs/distribution/microsoft-store.md.
Older versions stored their data in %APPDATA%\Waqt. The first time a newer version starts, it moves that folder to %APPDATA%\Remember Me automatically. If the folder can't be moved, Remember Me copies it, checks the copy and keeps the original as %APPDATA%\Waqt.migrated-<date>. It never deletes the old folder.
From v1.5.0, Remember Me can update itself from this repository's Releases. The first time it starts, it asks whether it may check GitHub for new versions. Nothing else is sent.
backups folder.v1.4.0 can't update itself: install the next version from Releases once by hand, and later versions arrive automatically.
The bell button at the top shows a preview alert. Snoozing a preview only closes it, while reminders you set on tasks are real.
Closing the main window keeps Remember Me running next to the Windows clock. Its icon may be under the hidden-icons arrow. Click it to open the app, or right-click it to quit completely.
To stop reminders for a while, right-click the icon and choose Pause reminders: for 1 hour, until tomorrow at 8:00, or until you resume. Nothing pops up or makes a sound during a pause. Reminders that come due wait and appear when it ends, or when you choose Resume reminders. A pause continues after a restart.
Turn on Settings → Start with Windows to start reminders automatically when you sign in. It's off by default.
Alerts can't appear while the PC is off or asleep, or while the app isn't running. Missed reminders appear as soon as you return. Remember Me doesn't wake the PC, uses your device's local time, and doesn't appear over the secure Windows lock screen.
Everything is stored locally in %APPDATA%\Remember Me\data.json, with the previous version kept in data.json.bak. Settings shows the exact path and a button to open it. Saves are atomic. If the main file is ever damaged, Remember Me restores the backup automatically and keeps the damaged file for inspection.
Export backup creates a new folder with data.json, an attachments folder containing every file linked to your tasks and notes (including completed tasks), and backup.json with a SHA-256 checksum for each file.
Restore from backup in Settings brings a backup back:
backups folder.Settings also shows how much space attachments and backups use, and can clean up attachment files that no task or note uses any more.
The data folder also holds a small log, logs\remember-me.log (at most three 1 MB files), that you can attach to a problem report: Settings → About → Open log folder. It records app events and errors, never the titles or text of your tasks and notes, or file names.
To restore a backup manually instead:
data.json and the attachments folder from the backup into the data folder.Don't edit the data file while the app is running.
Updating from an earlier version keeps your tasks, notes and settings automatically.
%APPDATA%\Remember Me\backups, then copied with all images and attachments into the Drive folder.Automatic daily backup creates a copy every 24 hours while the app is running. If the Drive folder is unavailable, the local copy is kept and the copy to Drive is retried every 15 minutes. If the folder stays unavailable for more than a day, for example because Drive is signed out, Settings shows a warning.
To save space, you can choose to keep only the latest 5, 10 or 30 automatic backups. By default all of them are kept. Rotation asks for confirmation, and it never deletes backups you exported yourself or safety copies. No Google Cloud keys or paid add-ons are needed: sign-in and syncing are handled by the official Google Drive app.
Built with Electron, JavaScript, HTML and CSS. The interface is isolated from Node.js (contextIsolation, sandbox, a strict Content Security Policy and validated IPC); storage and scheduling run in the main process, and the UI loads nothing from the internet. The only network access is the optional update check, made by the main process.
pnpm install
pnpm start
pnpm test
pnpm run package
pnpm run installer
Requires Node.js 22 or newer and pnpm 10. pnpm run package produces a portable build in release/v<version>, and pnpm run installer produces an NSIS installer in release/installer. On Windows, pnpm run store produces the Microsoft Store package in release/store (see docs/distribution/microsoft-store.md).
The website at https://sarmadiq9090-coder.github.io/Remember-Me/ is plain HTML and CSS in site/, in English and Arabic, with no scripts, trackers or files from other hosts. .github/workflows/pages.yml publishes it when site/ changes on main. pnpm run site-assets (tools/build-site-assets.cjs) makes its WebP screenshots from docs/screenshots and its 1200×630 social preview images, and tests/site.test.js checks the version, links, language alternates and page weight.
pnpm run screenshots retakes the pictures in docs/screenshots (tools/desktop-screenshots.cjs): it runs the app in test mode with made-up sample tasks and notes in a temporary data folder, in English and Arabic, light and dark, so no personal data ends up in the repository. It needs Playwright, a devDependency. pnpm run screenshots -- --store makes the 1366×768 Store listing set in docs/screenshots/store.
pnpm run assets redraws the icons in assets/ with Electron: icon.ico with 10 sizes from 16 to 256 px (16-32 px use the simpler icon-small.svg glyph without rays), icon.png, and the tray images tray.png and tray-waiting.png with @1.5x and @2x versions. It also writes docs/icon-preview.png, every size on a light and a dark taskbar.
tests/core.test.js: scheduling, repeats, snoozing, saving and recovery.tests/scheduling.test.js: repeats across daylight-saving time, time-zone changes and the clock moving backwards; 20 reminders in the same minute; a full day of missed reminders among thousands of tasks.tests/ipc.test.js: only the app's own pages are accepted, the alert window gets a limited set of actions, and payloads are validated, including About links, which must be one of six fixed IDs.tests/about.test.js: the About links are exact GitHub addresses, and diagnostic info holds only versions, language and theme.tests/icons.test.js: every size in icon.ico and the tray images' dimensions.tests/search.test.js: Arabic-aware search matching.tests/i18n.test.js: every message has English text, every locale is complete, translations keep placeholders and plural forms and contain no < or > (no markup), fallbacks to English, and saved languages are kept.tests/placement.test.js: placing the alert next to a taskbar on any edge, on scaled and secondary displays.tests/interchange.test.js: CSV and iCalendar import and export.tests/alert-format.test.js: the alert's snooze presets, overdue age and due day, across daylight-saving changes.tests/theme.test.js: every palette in light and dark meets WCAG contrast for text, buttons, focus rings and the logo; the stylesheets use only theme tokens; palette, note color and note style settings fall back safely.tests/pause.test.js: pausing reminders from the tray, with a fake clock.tests/early-notices.test.js: each "coming up" notice shows once per due time, none pile up after a pause, and clicked or old notices are let go.tests/focus.test.js: a rebuilt list gives focus back to the same control of the same item, or to the next item when it is gone.tests/structure.test.js: every require and import, every script and stylesheet the pages load, and every fixed path the main process builds exists.tests/quick-add.test.js: the quick-add shortcut rules and recorder, the due time, registering and releasing the global shortcut and reporting a conflict, the window's placement and limited IPC actions, and the setting's defaults.tests/web-security.test.js: every page denies new windows, navigation and webviews, windows stay sandboxed with the strict CSP and spellcheck off, and only links open in the browser.English is the source language. The pages and scripts contain English text; each translation lives in ui/locales/<code>.json and maps the English text (the key) to the translation, and any missing entry falls back to English. Messages with a count use plural forms (zero, one, two, few, many, other, as defined by the language), and {name} placeholders must be kept.
LOCALES in ui/lib/translate.js (code, its own name, ltr or rtl, the Intl locale, the Chromium .pak name and the first day of the week), then copy ui/locales/en.json to ui/locales/<code>.json and translate the values. The packaged app keeps Chromium's built-in strings for every language listed there.node tools/i18n-keys.cjs lists the keys each language is missing, and pnpm test fails if English is incomplete, Arabic is incomplete, or a translation drops a placeholder.Bump version in package.json and push a matching tag, such as v1.4.1. .github/workflows/release.yml runs the tests, builds the installer and publishes it to Releases with SHA256SUMS.txt, build provenance, and the latest.yml and .blockmap files the app's updater reads. Running the workflow by hand only builds the files: it creates no release and no attestation. RELEASING.md has the full checklist, and docs/distribution/winget the winget manifests.
Windows releases are being prepared for code signing through the SignPath Foundation open-source program (application pending). Once approved:
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
Every signed file is built automatically by GitHub Actions from this repository, and every release needs manual approval before it's signed. Release installers are also published with SHA256SUMS.txt and GitHub build provenance (see Verify the download).
Team roles:
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.
In detail:
The task and note layout was inspired by TickTick for Windows, and the Done and Snooze buttons by its reminders. Remember Me's design and code are independent, with a particular focus on sticky alerts and snoozing to a custom time.
Planned work is tracked in milestones:
Ideas are welcome in Discussions.
Contributions are welcome through Issues and Pull Requests. Please read CONTRIBUTING.md and SECURITY.md first. To review or improve a translation, see TRANSLATING.md; for questions and ideas, use Discussions. Remember Me is licensed under the MIT License.
https://tests/store.test.js: the Microsoft Store version never loads the updater or writes the Run key, its startup task and package data folder (including the copy from the installer version), the Store identity check and package settings, and the generated logos.tests/handlers.test.js: every allowed IPC action has exactly one handler, and only actions that change nothing skip the rescan.tests/site.test.js: the website shows the current version, its local links work, it loads nothing from other hosts, its language alternates and structured data are right, and it stays under 200 KB without screenshots.tests/winget-manifest.test.js: the winget manifests written from a release's SHA256SUMS.txt.tests/updates.test.js: the update consent, background schedule, Check now, the ready banner, and installing after a safety backup.tests/data-folder.test.js and tests/login-item.test.js: moving the old Waqt data folder, including locked and interrupted moves, and pointing start with Windows at the renamed executable.tests/attachments.test.js, tests/backups.test.js and tests/drive-backup.test.js: copying, export, checksums, restore, rotation, migration, validation and Drive-folder recovery.tests/formatting.test.js and tests/logger.test.js: Western digits in dates and times, and a log that rotates and never records task or note content.tests/desktop-smoke.cjs, tests/attachments-desktop.cjs and tests/photos-drive-desktop.cjs drive the real Windows app with temporary data. Run the smoke test with pnpm test:desktop; set WAQT_EXECUTABLE to a packaged Remember Me.exe to test a build instead of the sources. Playwright is a devDependency; the attachments suite also needs JSZip (or the WAQT_PLAYWRIGHT and WAQT_JSZIP paths). .github/workflows/desktop.yml packages the app and runs the smoke test on every pull request.pnpm test:release-qa runs tests/release-qa/ against a packaged desktop-test build (WAQT_DESKTOP_TEST_BUILD=1 pnpm run package, then WAQT_EXECUTABLE pointing at its exe): first start and old data, every repeat type, the alert (keyboard guard, presets, Pick a time, Snooze all, Done and Undo, Skip, Open task), early notices, notes, tags, checklists, trash, all palettes in light and dark, About, updates, attachments, export and restore, storage cleanup, and untranslated text in Arabic and Russian. Each run uses test mode and temporary data, and stubs dialogs and links.pnpm lint runs ESLint (eslint.config.cjs); CI runs it after the unit tests.