harbour-notesplus

Rating: 
5
Your rating: None Average: 5 (1 vote)

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 wireless 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

 

Screenshots: 
Application versions: 
Changelog: 

v0.3.0

  • Reorganized settings tabs into a category list
  • Note storage directory is now configurable and existing notes can be migrated
  • New About page with attribution
  • ADR documentation group sorted alphabetically by name
  • Fix: Created notes would not persist on C2, Xperia 10 III and probobly other devices

 

Comments

Boshtannik's picture

ill try your app! Move ai section to the top and what it does. i was about to close this app page as not interesting until i sawai section.BTW have you checked colibri framework to run better models right on the device? And by the way, compiling to the other platforms. For that tasks I've been asking AI to statically include libraries while the compiling. So the support of my application would be more wide spreaded.

skremsler's picture

I hope you like it.

Colibri looks impressive, but focussed on a different scale. The smallest model i found in their examples is 7GB. The whisper model this application uses for speech recognition is just 75, 150 or 450 MB, depending on the model you download. 

And colibri is for LLM. Notes Plus uses an external LLM server. You may try to run one directly on the device, and it may be exciting for a short time, but it will not be very usable with current devices.

Boshtannik's picture

Man now I am developing ai powered tool in rust too! but not local one to be honest: (

skremsler's picture

I would like to support armv7hl, but chances are low. I already put a great deal of time in trying to support it. The problem is sailfish devices running on armv7hl use older tooling. They use glibc 2.30 and this is simply not compatible with the rust crates the app needs. I am a professional developer, but I do not feel confident with C++ enough to write a secure web server in it - so being stuck with rust, I don't see a way. I'm sorry.

 

I'm curious. Which sailfish device uses i486? You want a better development experience?

lpr's picture

wrong, armv7hl has same toolchain-versions as aarch64 at given SFOS version (SailfishOS-5.1.0.11-armv7hl has glibc-2.41 as aarch64, SailfishOS-5.0.0.62-armv7hl has glibc-2.30 same as SailfishOS-5.0.0.62-aarch64 ; same thing for rust)

skremsler's picture

Which armv7hl devices does Sailfish OS 5.1 run on though? My XA2, one of the devices with better support, is stuck on 4.6.015. 

edit: oh no, it is an Xperia X, i forgot.

windes's picture

Wow and omg) Armv7hl is possible?..

skremsler's picture

I just attached an Armv7hl build. I just can't test it.

rcolistete's picture

Any plan to release armv7hl and i486 versions ?

skremsler's picture

It is now available.