Skip to content

Releases: MSkill1/zynkbot

Zynkbot 0.9.6-beta2

Choose a tag to compare

@github-actions github-actions released this 14 Sep 20:03

A fix release for 0.9.6-beta1, from the first day of tester feedback. Install it over beta1 on every device; nothing is wiped and no setup is repeated.

What's fixed

  • "New" starts a new conversation. In beta1 the New button only cleared the screen; the thread underneath stayed the same, so everything said afterwards — typed or by "Hey Zynk" — was added to the conversation you thought you had left. Conversation History then showed one thread holding several conversations, and there was no previous one to go back to. Now New starts a separate thread and the old one stays in History exactly as it was.
  • A conversation appears in History as soon as you send the first message, under "Current thread", instead of only after the first reply had finished.
  • Rename a conversation with the pencil next to the pin. A blank name puts the automatic title back.
  • Message counts were 2 short on every thread (a one-exchange thread said "0 messages"). Correct now; existing counts are repaired the first time this version starts.
  • Android: a repeating crash ("Unable to start service SyncForegroundService") when Android restarted the app's sync service after reclaiming memory. The app no longer crashes on its own in the background.
  • Android: a "Hey Zynk" exchange that finished while the app was in the background now shows up in the chat when you come back to it.
  • The delete × in History is larger and easier to tap on a phone.

Known issues

This beta is about 95% functional day to day. The rest is being worked on now, ahead of beta3, expected within a few days.

  • Conversation history between two devices can duplicate messages or skip a thread. Being rebuilt from the ground up for beta3; not fixed by a quick patch.
  • A false "Hey Zynk" trigger from background noise can occasionally be logged as a memory. Delete it from the Memory Manager if you spot one.
  • A device that pairs after API keys were entered doesn't receive them automatically. Workaround: use "Push to all devices" in Settings → API Keys.
  • Reinstalling the app, or wiping a phone's data, can leave a stale duplicate entry in the ZynkSync device list on other devices. Workaround: delete the old entry; it clears everywhere.
  • An Anthropic API key created without a workspace fails to authenticate. Create the key inside a workspace in the Anthropic Console, or use a workspace-scoped key.

Files in this release

File For Notes
Zynkbot_0.9.6-beta2_x64-setup.exe Windows 10/11, 64-bit Unsigned: Windows shows "Windows protected your PC" — click More info → Run anyway. Asks for administrator permission. Installs over beta1; your data is kept.
Zynkbot_0.9.6-beta2_amd64.deb / .rpm / .AppImage Linux sudo apt install ./Zynkbot_0.9.6-beta2_amd64.deb (or the rpm, or run the AppImage).
Zynkbot_0.9.6-beta2.apk Android 8+ (arm64) Sideload: open the file on the phone and allow the install. Installs over beta1 from the same key without losing data.

SHA-256 checksums (SHA256SUMS.txt is attached):

616570c348405eca021d86e2d587df591247f710605b22a6aa10b231c32eaef5  Zynkbot-0.9.6-beta2-1.x86_64.rpm
425d4eb624223da4e628eef198c88dda6852f219fdb26b7659f951a35e9f59eb  Zynkbot_0.9.6-beta2_amd64.AppImage
7cfcfaddb88fa573647d738cc9631dafe32bc4247c1425d12aa68f69ce4bffdb  Zynkbot_0.9.6-beta2_amd64.deb
daaad9d75f67b07fca0536ae617a2138a609e02492b63049e626ab2f74d4e424  Zynkbot_0.9.6-beta2.apk
6685641cf7ec67a0cf5c7f36a46f6c2713a450c8aa7e9fea707178d28ad2fe81  Zynkbot_0.9.6-beta2_x64-setup.exe

Zynkbot 0.9.6-beta1

Zynkbot 0.9.6-beta1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Sep 21:48

Zynkbot is a private assistant with a memory: it runs on your own desktop and phone, keeps what it learns about you on your devices, and syncs between them directly over your home network. No account, no server in the middle. This beta is the first cut of the version headed for Google Play.

What's new since 0.9.4

  • The phone version is now the phone's assistant. Zynkbot asks to become Android's digital assistant at setup. "Hey Zynk" then works with the screen off or locked: a chime, a Z on screen (tap to cancel), the answer spoken aloud, and timers, alarms and the stopwatch set straight in the clock app with no AI model involved. Nothing in that path goes to Google. Decline the role and Zynkbot still works as an app; you only lose hands-free.
  • Offline dictation everywhere. The mic button uses Vosk on the device on Linux, Windows and Android; no key, no cloud. OpenAI Whisper remains an option.
  • "About me". A report the app writes about you from your own memories, entirely on the device: what it knows, since when, the people and places that recur, what changed, what you asked it to remember. Every line opens the memory behind it.
  • Use your desktop's model from your phone. Pair the phone with the desktop and it can answer through the model running in Ollama on the desktop — no API key anywhere. Whatever model you pick on the desktop is what the phone gets.
  • Report a problem. A button under every reply and in Settings builds a text report (version, device, masked log) you copy into an email or a GitHub issue. Nothing is sent automatically.
  • Memories know when things happened, carry tags and categories, and "Remember: …" stores something word for word.
  • Dozens of fixes from a four-device test run: native confirmation prompts on every platform (Windows used to skip them), the Android black-screen-on-return bug, the wake word hearing the phone's own reply, silent first lines from text-to-speech, a crash on memories containing an emoji or an em dash, the Windows installer location, and more. Full list in CHANGELOG.md.

Files in this release

File For Notes
Zynkbot_0.9.6-beta1_x64-setup.exe Windows 10/11, 64-bit Unsigned: Windows shows "Windows protected your PC" — click More info → Run anyway. Asks for administrator permission; installs to Program Files. If you installed an earlier beta, remove it first from Settings → Apps.
Zynkbot_0.9.6-beta1_amd64.deb / .rpm / .AppImage Linux sudo apt install ./Zynkbot_0.9.6-beta1_amd64.deb (or the rpm, or run the AppImage).
Zynkbot_0.9.6-beta1.apk Android 8+ (arm64) Sideload: open the file on the phone and allow the install. Installs over an earlier beta from the same key without losing data. The Play Store listing follows once the store paperwork is done.

SHA-256 checksums:

de56b3b242985751e9ebc3bc86ddbc82d80b6fc892ac15377a3a09da62f183a6  Zynkbot_0.9.6-beta1_x64-setup.exe
7fa819f99e9bcc98fe2eb22e0807fa6fd76b656658452198b57dbae3036f2c7a  Zynkbot_0.9.6-beta1_amd64.deb
5dbe70dc001f25f4c820c0465e401dd262370d87aa0be695c5dc3c0e6af905cd  Zynkbot-0.9.6-beta1-1.x86_64.rpm
0434603d53dc389e5357280198d6f33957b5f8e023c7f5d6b28c649b7c7e53d2  Zynkbot_0.9.6-beta1_amd64.AppImage
8094358e417419929c0be0eca525eacda8d3d98509fd415aed1dc88fb4033dd6  Zynkbot_0.9.6-beta1.apk

First run

  1. Desktop first. Install, open, follow the setup. Add an API key under Settings → API Keys, or point Custom / Ollama at http://localhost:11434/v1 if you run Ollama.
  2. Phone. Install, open, say yes to becoming the assistant (Settings → Default apps → Digital assistant app → Zynkbot), then Settings → ZynkSync → enter the code shown on the desktop's ZynkSync panel.
  3. On the desktop press Push to all devices in API Keys once — a phone that pairs after the keys were entered does not receive them by itself (known, KI-055).
  4. Everything else — memories, knowledge base, the wake word — works the same on both.

Anthropic keys: create the key inside a workspace in the Anthropic Console. A key made at organisation level is refused by the API without an extra header this beta does not send (KI-056).

Known behaviour, not bugs

  • The wake word can fire on a loud TV or steady noise (a fan, an air conditioner). After three empty firings in five minutes it becomes cautious for ten minutes and answers only questions and requests; it will tell you so if it drops a statement. In a noisy room, turn it off. Tapping the Z to cancel a false firing is the right response.
  • Give it a few seconds after a "Hey Zynk" before the next one, and after closing or locking the phone.
  • One hands-free listen is capped at 30 seconds.
  • Zynkbot answers more slowly than the same model asked directly: every turn carries a safety check, your relevant memories and documents, and a second call afterwards to decide what to remember.
  • Sync of conversation history between devices is unreliable in this beta (threads missing or doubled); memories sync fine. Being rebuilt after the beta. Please don't report it.
  • Reinstalling the app on a phone leaves a stale copy of that phone in the other devices' ZynkSync lists; delete it.
  • Battery: the wake-word detector costs battery; charging is unaffected. Keep the phone plugged in during long tests.

Privacy, briefly

Dictation is on-device unless you choose Whisper. Wake-word audio is checked on the phone and discarded; a two-second clip is kept on the phone when the word fires, only so a personal voice profile can be trained, and it leaves the phone only if you send it. API keys go to the provider you chose and nowhere else. Sync is device-to-device over your network with pinned certificates. The problem report never sends itself.

Reporting

Use the ⚑ Report button (under any reply, or in Settings), copy the text, and paste it into a GitHub issue or an email. Tick the conversation box only if you're comfortable sharing that thread; keys and codes are masked either way. Say what you did, what you expected, what happened.

Hey Zynk Wake Word Models

Pre-release

Choose a tag to compare

@MSkill1 MSkill1 released this 24 Aug 16:25

openWakeWord ONNX models for Hey Zynk wake word detection.

  • melspectrogram.onnx: Google speech mel spectrogram (from openWakeWord)
  • embedding_model.onnx: Google speech embedding (from openWakeWord)
  • hey_zynk.onnx: Custom Hey Zynk classifier (trained on 60-voice TTS corpus)

These are downloaded automatically by Zynkbot when wake word is enabled.

v0.9.4 — Mobile UX, Message Actions, and Sync Reliability

Choose a tag to compare

@github-actions github-actions released this 12 Aug 21:19

[0.9.4] — 2026-08-11 — Mobile UX, Message Actions, and Sync Reliability

Highlights

  • Full mobile chat screen redesign — input pinned to the bottom, conversation scrolls internally, 2×2 button grid replaces the old crowded row
  • Stop, Edit, and Regenerate controls on the last exchange
  • ZynkSync no longer silently re-enables itself after you pause it

Features

  • Stop generation — the Send button turns red while streaming; a single tap aborts the in-flight LLM call and clears the send guard so you can retry immediately
  • Edit last message — a pencil icon on your most recent user message opens an inline editor; Save & Regenerate updates the message in place, drops the stale assistant reply, and re-runs inference without duplicating the prompt in the log
  • Regenerate — a button on the last assistant response re-runs the same prompt (useful when you want a different take without retyping)
  • 2×2 mobile button grid — Ensemble | Clear / Memory Manager | Send-Stop, all visible without opening the keyboard
  • Recent Memories widget hidden on mobile (still reachable via the Memory Manager button) — gives the conversation view more vertical room
  • Mobile textarea shrunk to 3 rows / 60–135px for the same reason
  • Scroll-to-bottom button appears reliably on mobile — fires on mount, triggers at 80px from the bottom (was 200px), and re-registers as new messages arrive

Bug Fixes

  • ZynkSync panel re-enabled sync after user pause — the panel's mount effect was calling `start_zynksync` any time it saw the backend stopped but peers existed, which silently overrode the pause every time the panel was reopened. The backend already persists sync state and honors it on launch; the panel now only reflects that state instead of driving it.
  • Duplicate Save Key button in Memory Manager — the toolbar had a Save Key button next to the 🔑 Key button, but the Key button already opened the same save flow; the duplicate was removed
  • Keyboard covered the message input on older Android tablets — Chrome 64 WebView on Android 8 (Galaxy Tab S3) doesn't understand `dvh` viewport units, so the flex-column layout couldn't reflow when the keyboard appeared. The mobile-flex layout is now gated on `@supports (height: 100dvh)`, and older WebViews fall back to natural body flow where Android's default `adjustResize` handles the keyboard correctly
  • Proper flex-column mobile layout replaces the previous `position: sticky` approach — input always visible at the bottom, conversation history scrolls internally, works cleanly even when the message list is empty

Deferred

  • Cloud backup (Cloudflare R2) — the initial v0.9.4 build included an encrypted zero-knowledge R2 backup feature, but the export path did not serialize memory embeddings, so restored memories were invisible to semantic retrieval. Pulled from the release rather than shipping broken. Being redesigned on `feature/cloud-backup-r2` with a mesh-epoch sync model so restore state converges cleanly across all paired devices (including devices that were offline during the restore). Will land in a later release.

Internal

  • Cloud backup code archived on `feature/cloud-backup-r2` branch (~1000 lines, 3 crate deps) for later redesign
  • Cargo dependency footprint reduced (`aes-gcm`, `argon2`, `hmac` removed with cloud backup)

See the CHANGELOG for details.

v0.9.3 — Ensemble, Model Picker, and Sync Fixes

Choose a tag to compare

@MSkill1 MSkill1 released this 02 Aug 17:21
34e2596

[0.9.3] — 2026-08-02 — Ensemble, Model Picker, and Sync Fixes

Highlights

  • Ensemble Mode overhauled with parallel execution and improved synthesis
  • Mistral added as a 4th API provider
  • Per-provider model picker — choose which model each provider uses
  • Several ZynkSync correctness fixes that were silently breaking contradiction detection and deletion propagation

Features

  • Mistral API support (alongside Anthropic, OpenAI, and xAI)
  • Per-provider model picker in Settings — select the specific model for each API provider
  • New conversation button
  • Ensemble Mode Phase 1 now runs all models in parallel (previously sequential)
  • Ensemble Mode Phase 2 synthesis improved: better consensus detection, tighter memory injection, API fallback if local model fails
  • GPU conflict guard in Ensemble modal — warns when Custom/Ollama and a local GGUF are both selected (shared CUDA device)
  • Live-verified model lists for all four providers
  • ZynkLink file visibility and own-share UX polish

Bug Fixes

  • Contradiction resolution deletion not propagating — resolving a contradiction by keeping the new memory deleted the old one locally but never notified paired devices; deletion now propagates immediately via ZynkSync
  • Real-time deletion missing tombstone timestamp — delete-by-hash requests sent to peers were missing deleted_at, so the recreation guard on the receiving side could never fire; timestamp now included in all real-time deletion payloads
  • Ensemble local models grayed out on desktop — production build check incorrectly disabled local GGUF models on all production builds, not just Android; desktop release builds now correctly allow local model selection
  • Memory decision API calls rejected by newer modelstemperature parameter sent to all providers was deprecated in newer models (claude-sonnet-5, gpt-5.5, grok-4.5), causing silent 400 errors and fallback failures; removed from all four provider helpers
  • Clear All Memories reappearing after sync — tombstones were recorded one-by-one after deletion; a batch sync firing in that window would re-pull all cleared memories from peers; all tombstones are now recorded atomically before the delete
  • Date pickers in Memory Manager and Conversation History freeze the app — native OS date picker cannot be dismissed inside Tauri WebView; replaced with plain text inputs (YYYY-MM-DD format)

Internal

  • Android CI: fixed NDK toolchain not on PATH during OpenSSL cross-compilation
  • Android CI: fixed sdkmanager not found (setup-android action added before NDK install step)

Zynkbot v0.9.2

Choose a tag to compare

@github-actions github-actions released this 29 Jul 17:15

Zynkbot — local, privacy-first AI with persistent memory

Unlike Claude and similar tools, every memory Zynkbot forms is visible, editable, and deletable by you. Your data stays on your machine.

What's included:

  • 🧠 Memory graph — structured long-term memory with relationship detection, contradiction resolution, and a visual graph view
  • 🔄 ZynkSync — sync memories across your own devices over your local network, peer-to-peer
  • 🔗 ZynkLink — share files and directories across paired devices without cloud storage
  • 💬 ZChat — direct device-to-device messaging over ZynkLink
  • 📚 Knowledge Base — upload documents and query them semantically (RAG)
  • 🎭 Ensemble Mode — query multiple API models simultaneously and get a synthesized response
  • 🛡️ Containment Modes — Guardian, Child, Sovereign, Witness, and HIPAA safety filtering
  • 🌐 Web Search — on-demand via DuckDuckGo, triggered automatically when current information is needed
  • Works with Claude, GPT-4o, Grok, Ollama, LM Studio, and local GGUF models

New in v0.9.2:

  • Android APK (arm64 + x86_64 universal) — full app including memory system, ZynkSync, ZynkLink, and ZChat
  • Ollama and LM Studio support; Android can proxy through a paired desktop's Ollama over LAN
  • ZynkSync now propagates memory edits across devices (previously only new memories and deletes)

See the CHANGELOG for details.

Zynkbot v0.9.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 21:16

Zynkbot v0.9.0 — First public release

Zynkbot is a local, privacy-first AI assistant with persistent, transparent memory. Unlike Claude
and similar tools, every memory Zynkbot forms is visible, editable, and deletable by you.
Your data stays on your machine.

What's included:

  • 🧠 Memory graph — structured long-term memory with relationship detection, contradiction
    resolution, and a visual graph view
  • 🔄 ZynkSync — sync memories across your own devices over your local network, peer-to-peer
  • 🔗 ZynkLink — share files and directories across paired devices without cloud storage
  • 💬 ZChat — direct device-to-device messaging over ZynkLink
  • 📚 Knowledge Base — upload documents and query them semantically (RAG)
  • 🎭 Ensemble Mode — query multiple API models simultaneously and get a synthesized
    response
  • 🛡️ Containment Modes — Guardian, Child, Sovereign, Witness, and HIPAA safety filtering
    levels
  • 🌐 Web Search — on-demand web search via DuckDuckGo, triggered automatically when current
    information is needed
  • Works with Claude, GPT-4, Grok, and local GGUF models

Linux and Windows binaries below. See the Installation Guide to get started.

See the CHANGELOG for details.