Skip to content

Inkwright 0.9.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@dev-null-k2 dev-null-k2 released this 03 Nov 06:33
· 51 commits to main since this release

On-device AI that answers from what you wrote

  • The assistant never shows raw tool-call syntax. Tool calls are read in every dialect small
    models write (Gemma 4 / LiteRT-LM, Qwen/Hermes, Llama, Mistral, JSON, Python-style), invented
    tool names and wrong argument shapes are repaired, and a call that can't be read gets one retry.
  • With an on-device model the page's handwriting is recognized on the device before asking, and
    the page, the lasso selection, the best passages from your notes and relevant memory are given
    to the model as numbered sources. "What's the budget here?" answers from the page; a dodge like
    "please provide more context" is replaced by what your notes say; nothing found says so plainly.
  • Lasso Ask AI, Write the answer here and Convert to text read handwriting on the device first
    and send pictures only to strong cloud or self-hosted vision models; Convert says who read it.
  • Chats are kept per note (and as general chats) across restarts, with Chats › New chat and past
    chats in the assistant panel; every engine gets the earlier turns.
  • Study cards and Teach me back skip recognizer fragments like "ools".
  • Settings › AI on Android: AICore restarting while it installs Gemini Nano is retried
    automatically and described calmly (raw codes under Details); every download button shows
    "Downloading… n%" with Cancel, then Ready.
  • npm run eval:local runs a real small model on the CPU against these cases (docs/LOCAL_AI.md).

Sharing and pairing

  • Share live, pair a device and Sync now with one short code (K7PM-2Q9X), a QR code or a link
    sent from the share sheet — typed one way, no code back. The code is a CPace password, so the
    relay (ntfy.sh by default, your own ntfy, or inkwright-mcp --signal-token) learns nothing it
    could use; codes work once, for ten minutes, and lock after five wrong tries. The long codes
    remain under Advanced for use without any relay (docs/COLLABORATION.md).
  • Paired devices keep listening on a self-hosted relay even if it refused them at first (the
    token is read for each request).

Writing on a phone or a fold

  • Draw with finger: one tap in the pen dock (also ••• › Page and the search palette) lets one
    finger write while two fingers scroll and zoom; remembered per device, the same setting as the
    welcome's "With my finger". Touching the screen with a stylus offers to switch back.
  • One-tap theme: Light, Dark or System from the library and editor top bars, with a short
    cross-fade (instant with reduced motion). On narrow phones it is the first row of •••.
  • "+" on every page: a new note with the same notebook and paper; press and hold (or
    right-click) for a new page, a template, a document or a PDF to sign. The library's New menu
    is reachable on screens below 900 px too.

Documents and signing

  • Documents: a rich-text note type (headings, lists, checklists, tables, pictures, quotes,
    code, page breaks) with an outline and word count, which you can also mark up with the pen.
    Stored as Markdown in the note (docs/VAULT_FORMAT.md › Documents), merged paragraph by paragraph
    when two devices edit it. Export to PDF, Word, Markdown and HTML; open or insert .docx, .md and
    .html files; print. The assistant reads and edits documents (read_document, edit_document,
    undoable from AI activity).
  • Sign a document from the library's New menu, the editor's "+", the search palette and the
    welcome: pick a PDF or a photo of a page, fill it in, place a saved signature, export or share.

Fixes

  • Disabled buttons now say why (Query data, Photo to ink, Lock note, plugin install from a link,
    the AI panel without a provider); "List all fonts" reports when the browser declines.
  • Opening a note with typed text straight from a reload no longer throws before the context
    compiler starts.

Agents and the server

  • Credential executor: provider keys and connector tokens held by a separate process that makes
    calls with them, policy-checked and audited, and never hands a key out (docs/CREDENTIALS.md).
  • Context-saving proxy for other tools (inkwright-mcp proxy), with compress_and_store and
    retrieve_original over MCP; savings show on the AI usage page (docs/PROXY.md).
  • Team search across teammates' own servers: team_search, /api/v1/federated/*, the
    federation:search key scope (docs/FEDERATION.md).
  • An open format for context packs with a JSON Schema, a conformance suite and
    inkwright context validate (spec/personal-context/v1.md).
  • The runner can re-scan repositories when their git HEAD moves, and run runbook shell blocks
    approved and signed in the app (docs/DEVELOPERS.md).

Notes from other apps

  • Importers for Notion, Evernote, OneNote and GoodNotes/Notability PDFs, and a web clipper
    bookmarklet (docs/IMPORTERS.md); OpenClaw and pi transcripts in agent session import.

Handwritten maths

  • Solve reads the strokes on the device: symbols are grouped from the ink, recognized with ML Kit
    on Android (ranked candidates per symbol), the browser's handwriting API or a built-in
    classifier, and parsed in 2-D — fractions, exponents, roots, systems — choosing the reading
    that is valid maths. A picture goes to an AI only when that reading is unsure, and only to a
    strong cloud model, never a small on-device one. Results say who read them (docs/MATH.md).
  • Exact answers and worked steps computed on the device: fractions, order of operations,
    percentages, linear and quadratic equations, 2 × 2 systems.
  • Settings › About › Check this device › Record handwriting samples saves your strokes and what
    you meant to a file you can share, for tuning the reader.

Fixes

  • REST keyword search no longer returns notes the AI policy hides from agents.