Notes Plus
is an offline-first AsciiDoc notes app for Sailfish OS, inspired by the original Notes app, asciidoctor and SpeechNote.
Your notes are plain .adoc files on disk — no database, no proprietary format, no cloud lock-in. Sync them with Syncthing, Nextcloud, Git, or just copy them over USB. Every text editor can open them.
Features
- AsciiDoc Notes — Full parser with headings, lists, tables, code blocks, admonitions, cross-references, and image support. AsciiDoc has a spec — no plugins, no flavor debates.
- AI Assistant — Chat with a local LLM (Ollama or any OpenAI-compatible endpoint) to edit, organize, summarize, format, and create notes. Tool-calling with diff previews so you see exactly what changes before applying.
- Web UI — Embedded HTTPS server with a Vue 3 split-pane editor, live preview, and full AI assistant access from any browser on your local network.
- Speech-to-Text — Offline Whisper-based voice input for dictating prompts and notes directly on device.
- Full-Text Search — Instant SQLite FTS5 search across all notes.
- AI Assisted Import — Convert external text, URLs, clipboard content, or files into structured AsciiDoc notes via AI.
- Secure Remote Access — Verification code challenge with approve/deny on the phone. No passwords stored.
The web editor, AI assistant, and speech-to-text can each be disabled independently. Works completely offline. No data leaves the device unless you explicitly connect it to an AI provider and submit queries.
Security and Privacy Efforts
- No cloud services, no telemetry, no phone-home. The app has no integrations with any external cloud system or analytics service.
- supports use of local AI. Can be used with a local Ollama instance that is reachable via the network or any OpenAI-compatible API, but nothing is configured by default.
- Web server is off by default. The embedded HTTPS server must be explicitly enabled in Settings.
- HTTPS-only. The server only accepts TLS connections (auto-generated self-signed certificates or your own). No cleartext HTTP.
- Configurable network binding. Choose which interface to bind to — localhost only, a specific LAN or Bluetooth interface, or all interfaces.
- Public IP rejection. Enabled by default — connections from routable Internet addresses are refused at the socket level, regardless of firewall rules.
- Phone-gated authentication. Every web UI session requires a verification code challenge that must be approved or denied on the phone itself. Only the phone's UI can grant access — approval is not possible over the network. Sessions are HttpOnly, Secure, SameSite=Lax cookies with configurable expiry.
- AI permission system. The AI assistant's tool access is granular (read, create, edit, fetch_url). Edit operations show a diff preview and require confirmation. Automatic backup snapshots before any AI modification enable one-tap rollback.
- Offline speech-to-text. The Whisper-based STT engine runs entirely on-device with checksum-verified model downloads — no audio data is sent anywhere.
- Plain text on disk. Notes are `.adoc` files in a folder. No database lock-in, no proprietary format. Sync with Syncthing, Nextcloud, Git, or USB — your choice.
Code is available at https://github.com/i-love-coffee-i-love-tea/harbour-notesplus
Recent comments