DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
A local-first daily Markdown notebook that carries unfinished tasks forward, lets you record when work was really done, and warns you about tasks that keep slipping.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A local-first daily Markdown notebook that carries unfinished tasks forward, lets you record when work was really done, and warns you about tasks that keep slipping.
Each day is a plain Markdown note. Unfinished tasks move to today automatically, keeping their history; tasks that keep getting carried get amber and red aging alerts. Notes stay on your device, work offline, export as an Obsidian-compatible vault, and can optionally sync between your phone and computers through a server you run yourself.
Website and Android download: https://dngioidev.github.io/daymark/ · Latest release · Release notes per cycle: docs/releases/.
| Platform | How |
|---|---|
| Android app (with home-screen widget) | npm run android:build, then install mobile/android/app/build/outputs/apk/debug/app-debug.apk (USB: adb install -r …, or copy the file to the phone). Debug build, sideloaded. |
| Any browser / installable PWA | Open the server address (below) in Chrome, Edge or Safari and choose Install / Add to Home Screen. Works offline after the first visit. |
| Self-hosted server (sync + serves the PWA) | DAYMARK_PASSWORD='choose-a-strong-one' docker compose up -d |
The server stores your vault in plain JSON files under ./data and also serves the web app.
Docker (recommended)
DAYMARK_PASSWORD='choose-a-strong-one' docker compose up -d
Node 20+
npm ci && npm run build
DAYMARK_PASSWORD='choose-a-strong-one' npm start
Open http://<server-ip>:3000 in your browser and Sign in with the user admin (or DAYMARK_USER) and your password. The site needs sign-in before you can use the notebook, in development and production. App code files stay public but contain no user data; data routes require an access token. The browser syncs with the server that serves it, with no server-address field or local-only choice. A web build hosted on another origin is local-only; use Backup & restore to move its notes.
On Android, Sign in to sync on the welcome screen opens Settings → Sync: enter your server address, username, password and a name for the device, then Connect and sync. To use the app locally, choose Start fresh instead; you can connect later. Existing local notes merge into the server on first sign-in. The password is only read on the first start (8+ characters); change it later from the app.
Access tokens last 15 minutes. Refresh tokens last 30 days, renewed on each refresh, so active devices stay signed in. DAYMARK_REFRESH_TTL_DAYS replaces DAYMARK_TOKEN_TTL_DAYS; after upgrading, every device must sign in once more. Each refresh replaces the previous refresh token. Reusing a retired token signs that device out; a lost response on a bad connection can also mean signing in again. Changing the password signs out every device, including the current one.
Sign out in Settings → Sync first tries to sync, then removes the vault, sync state and cached app files from that browser. If the server cannot be reached or edits are still unsent, a warning shows how many changes would be lost: choose Cancel to keep working or Sign out anyway to discard them. Android's Disconnect this device stops syncing and keeps its local notes. Remote sign-out or a password change wipes the browser copy when it next learns the session has ended; Android keeps its local copy.
Plain HTTP is for LAN only: the sign-in cookie is not Secure there. Use HTTPS (e.g. Caddy) on a public address. Full configuration and API reference: .ai-configs/project/api-and-sync.md. See the server sign-in release notes for the screens and upgrade notes.
Behind a reverse proxy in Docker, set DAYMARK_TRUST_PROXY=uniquelocal (default: loopback) so Express trusts the private proxy hop for HTTPS cookies and per-client sign-in limits. Limit trust to your proxy network and bind the published port to loopback so clients cannot supply trusted forwarding headers directly. For Caddy running on the host, use this Compose configuration and proxy to 127.0.0.1:3000:
services:
daymark:
ports:
- "127.0.0.1:3000:3000" # replace the default 3000:3000 mapping
environment:
DAYMARK_TRUST_PROXY: uniquelocal
[[links]] with autocomplete. Paste from AI chats and web pages to keep headings, lists, tables and code. Switch to Markdown whenever you like; focus mode, word count and templates are still here. Today's section notes stay as they are.Habits sync only between devices on 1.4.0 or later. Older apps do not see habits and cannot change them. Update the sync server together with the apps. See the cycle 7 release notes for screenshots and details.
For rich Notes and menus that fit the screen, see the cycle 9 release notes. Update the server first, then the apps: devices on 1.6.0 or later sync pictures. Older apps keep syncing notes text and show picture links as text. Pictures are included in backups; ZIP exports put them in Notes/_assets/ with relative links.
For task-oriented Web and Mobile instructions, open Settings → Help, read the guide source, or visit the website Guide. Website screenshots open an enlarged viewer with arrow-key navigation.
| Shortcut | Action |
|---|---|
| Ctrl/⌘ K | New task |
| Ctrl/⌘ Shift F or / | Search tasks and notes |
| ? | Shortcut help |
| g t | Go to Today |
| g c | Go to Calendar |
| g b | Go to Backlog |
| g n | Go to Notes |
| Ctrl/⌘ . | Toggle Notes focus mode |
| Enter / Space on the Habits bar | Open or close habits |
| Space on a habit checkbox | Tick or untick that habit |
Search, help and navigation shortcuts pause while you type in a field. New task and Notes focus mode also work while typing.
npm install
npm run dev # Express + Vite on http://localhost:3000 (dev password: daymark-dev)
npm run lint # TypeScript
npm test # unit + in-process server tests
npm run test:helpers # screenshot, server-session and site helper tests
npm run build:site # GitHub Pages site into _site/ (published by the Pages workflow on each release)
npm run build # production bundle
npm run test:e2e # PWA on an emulated Android phone, incl. offline
npm run test:sync # two devices syncing through a fresh server
npm run android:build # debug APK (JDK 21 + Android SDK); -- --test for Kotlin tests
node scripts/e2e-android-native.mjs # app + widget + sync on a booted emulator
node scripts/ux-audit.mjs <cycle> # screenshots of every screen, phone/desktop, light/dark
node scripts/ux-suite.mjs # UX/UI test suite (docs/testing) + accessibility scans
AI agents: start at CLAUDE.md / AGENTS.md.
Project knowledge lives in .ai-configs/project/:
architecture.md: system topology, data flow, PWA, Android shell, sync.specification.md: schemas, rollover, historical completion, aging, Markdown format.api-and-sync.md: server configuration, REST API, sync protocol, deployment.codebase-map.md: file-by-file guide.decisions.md: architecture decision records.docs/ROADMAP.md: the cycles that took the prototype to 1.0.mobile/android/). See mobile/README.md.mobile/ios/ holds WidgetKit sketches that are not built or tested.Daily notes are standard Markdown (YYYY-MM-DD.md) with task metadata in HTML comments (<!-- daymark: task_id=… -->) that other Markdown apps ignore. Export everything at any time. No telemetry.
Daymark is source-available under the PolyForm Noncommercial License 1.0.0. You may use, copy, change and share it for any noncommercial purpose: personal use, study, research, hobby projects, and use by charities, schools and government bodies. Commercial use needs separate permission from the copyright holder, dngioidev.
[[wiki link]] and Not related hides the pair. Switch List | Graph to see links, suggestions and tag lines as a knowledge graph with folder, tag and Local filters. Suggestions are computed on your device. See the cycle 11 release notes for screenshots; update the server first, then the apps (older clients show Tech/Java as one flat folder name and keep every note).