Repository navigation
Releases
Releases · dev-null-k2/inkwright
Inkwright 0.9.0-beta.7
Meetings
- Enhanced notes: write what matters during a meeting; afterwards your notes are written out
in full from what was said, shaped by a template. Your own words stay, in ink colour; what the AI
added is grey and links to the moment it was said. Edit by asking, check off action items, edit
a line, versions with restore. Works with the on-device model, offline (MEETINGS.md). - 15 templates (1:1, stand-up, sales call, customer discovery, interview, investor, kickoff,
retro, design review, lecture and more) and your own; recipes on one meeting or across
meetings (follow-up email, PRD, coach me, feature requests, weekly recap…) and your own. - Meetings in the library: coming up from your calendars with join links, one tap to take
notes (attendees, call link and template filled in), a brief before each meeting from earlier
ones with the same people, reminders, people and companies, and ask across meetings. - Record a call without a bot: both sides of Zoom, Meet or Teams in Chrome and Edge, with
who spoke; delete transcript lines and name speakers; optionally delete the
audio once it is transcribed. - Share to Slack, Teams, Discord, Notion, Linear, Jira, GitHub, Todoist, HubSpot, Attio and
any webhook, always with a preview; copy as rich text, Markdown or for Slack; email attendees. - The AI's additions written onto the page in AI ink, in a hand matched to yours.
- During a meeting: Mark a moment (it is sure to be in the notes), Catch me up on the last
few minutes, and live translated captions in 19 languages. Afterwards: how the
conversation went (talk share, pace, questions, longest stretch, filler words) and Coach me
using those numbers, and clips of a moment to share. - Pen gestures in meetings: a star drawn while recording marks the moment; a small box drawn
before a line makes it an action item; each handwritten line is placed at the moment it was
written, so the details added to it come from what was being said then. - Import a recording made elsewhere (Voice Memos, a phone recorder, a Plaud or other AI voice
recorder's export, a cloud call recording): from Meetings or a note's Audio menu; it is
transcribed and, in a meeting note, enhanced. - Mind map of the notes (download as SVG) and an audio overview: a short two-voice
conversation about the meeting, written by the AI and read aloud on the device.
iPhone and iPad
- The native iOS app: Apple Pencil pressure, tilt and hover, with double-tap and squeeze switching
to the tool chosen in Settings › Pen button and back; Apple's on-device model (iOS 26, Apple
Intelligence on) as the assistant's private engine, answering from your notes with citations;
notes as plain files in the Files app (On My iPad › Inkwright); Open in Inkwright for PDFs,
images and text from Files and other apps;inkwright://links from Shortcuts and other apps;
Inkwright's own icon (light, dark and tinted) and launch screen, with no white flash in dark
mode. - Every change is built on a Mac and run on the newest iPhone Pro and iPad Pro simulators in light
and dark mode: the library, a lecture, a pen stroke that must reach the note's file, the
assistant, a meeting and settings, with screenshots of each. - Tagged releases upload to TestFlight once the Apple developer account is connected
(docs/IOS.md). - The web app on iPhone and iPad, as a Home Screen app: Safari suggests Add to Home Screen
(which also keeps Safari from clearing notes after a week away), Google sign-in works there
(Google's page opens in the app and comes back), and storage is kept when space runs low. - The web app works offline again in every browser. Its offline part (the service worker) had
a syntax error since the first release and listed a file the build drops, so browsers never
installed it. Tests now check that it parses, installs and opens the app without a network, and
publishing checks every file it installs is there.
When it updates it now removes only its own older copies of the app, never downloaded engines
or files shared to the app. - Downloading an engine in Settings (code parsers, DuckDB, the on-device AI) no longer sometimes
goes back to "Download" after finishing. - Updates for the web app, like Android's: a new deployment shows "Inkwright … is ready" with
What's new, Later and Update in the library, and Settings › About › Updates; after updating the
library says "Updated to …" once. The hosted app's version is now the latest release plus the
commits since. - CI runs the web app in Safari on the newest iPhone and iPad simulators: writing and keeping a
note, the offline app, the on-device AI answering, and an update from one deployment to the next.
Updates from inside the app (Android)
- The Android app checks GitHub Releases on its own and offers new versions in a banner and in Settings › About › Updates, with what's new. Update downloads, verifies (SHA-256 and the same signing key as the installed app) and installs it; on Android 12 and later, updates after the first install without a confirmation screen. Beta updates can be switched off. The Google Play bundle has no updater (docs/UPDATES.md).
- Every release, betas included, now gets a higher Android version code, so each beta installs as an update over the previous one.
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:localruns 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, orinkwright-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), withcompress_and_storeand
retrieve_originalover MCP; savings show on the AI usage page (docs/PROXY.md). - Team search across teammates' own servers:
team_search,/api/v1/federated/*, the
federation:searchkey 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 repositor...
Inkwright 0.9.0-beta.6
See CHANGELOG.md.
Inkwright 0.9.0-beta.5
See CHANGELOG.md.
Inkwright 0.9.0-beta.4
See CHANGELOG.md.
Inkwright 0.9.0-beta.2
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:localruns 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, orinkwright-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), withcompress_and_storeand
retrieve_originalover MCP; savings show on the AI usage page (docs/PROXY.md). - Team search across teammates' own servers:
team_search,/api/v1/federated/*, the
federation:searchkey 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.