圖標

Knotwork: build your agent

An AI agent that runs on your phone and asks before it acts
新版本 0.12.1
Faster runs and fixes.

Runs no longer pause between steps: a chat message on the first-launch pipeline skips 3.5 s of waiting.

An MCP server saved with a sign-in connects on the Tools screen right away, and saving it unchanged no longer leaves it on Connecting.

A Keystore hiccup no longer deletes a saved API key. A resumed queue no longer mixes up its items after a failure. A Wikipedia result names the article it comes from.
Knotwork is an AI agent that runs its model on the phone. Instead of a prompt box wired to somebody's API, every conversation runs through a pipeline you can open and edit: a graph of typed nodes - input, on-device LLM, optional cloud LLM, tool call, routing, decomposition, evaluation, clarification, output. When a step wants to do something destructive or sensitive, it stops and asks you first - including in the background, where the confirmation arrives as a notification.

WHAT IT DOES

- Runs on your device. On-device inference through LiteRT-LM, with optional GPU acceleration; CPU-only works, just slower. Cloud providers (OpenAI, Anthropic, Google Gemini, DeepSeek, Ollama) are optional, opt-in and bring-your-own-key.
- You build the behaviour. A drag-and-drop editor with pan and pinch-zoom, snap-to-grid, auto-layout, inline validation and a run-trace overlay, across 14 node types. Prompt variables such as $DATE, $TIME, $TOOLS, $MODEL and $MEMORY_SUMMARY render fresh on every run.
- Tools, gated by you. Local actions through AppFunctions and external servers through the Model Context Protocol (MCP). Every sensitive or destructive call stops for explicit confirmation, enforced where the tool executes, not merely suggested to the model.
- Reaches you from outside the app. A share target, launcher shortcuts and a Quick Settings tile run your chosen pipeline over shared text or images. Triggers (time, charging, Wi-Fi, network) fire a pipeline on their own and report back. Every entry surface stays inert until you bind a pipeline to it.
- Remembers what matters. Long-term memory with semantic retrieval over past conversations, automatic fact extraction, search and export.

WHO IT IS FOR

It is for the person who already runs Tasker, Obsidian, Home Assistant or a local model on their own hardware, and who wants to know exactly what their agent does with their data.

It is deliberately not a mass-market "ask a question, get an answer" assistant - Gemini is free and built into the OS, and competing there is a losing bet.

PRIVACY

There is no account, no sign-in and no server of mine. Inference runs on the phone, so a normal conversation never leaves it. Data goes out only along paths the privacy policy lists, each off until you switch it on - except the built-in Wikipedia lookup, on by default. Usage statistics stay on the device and are never transmitted; a build-time check fails the build if any network dependency reaches that code. The database - chats, memory, run traces - is SQLCipher-encrypted, and API keys are sealed under an Android Keystore key. Crash reporting is opt-in, off by default, and absent entirely from the FOSS build.

KNOWN LIMITATIONS

This is a pre-release. The public surface, the settings layout and the on-device storage formats can still change between versions.

- Android 14+ and about 2 GB of free RAM - the memory is the real constraint.
- Shared pipeline files are not a compatibility contract yet: exports carry a version stamp, but before 1.0 that stamp is a marker, not a promise. Keep the original.
- The reliability numbers come from one device and one operator: a scheduled pipeline ran 7.14 days without the app being opened and completed 55 of 55 firings with no unexplained misses. That is a real measurement, and it is not external validation.
- Background runs need the battery setting on Unrestricted. Without it Android reclaims the process in about ten seconds - the platform's rule, not a bug, but until you grant it background pipelines will not run.
- Cloud failure behaviour differs by provider: detection of a stream that dies mid-answer is enabled only where it was measured.
- Other apps' AppFunctions are out of reach - Android keeps the permission to call one for system apps. The local catalogue is what ships, plus whatever you connect over MCP.
- One maintainer, no company behind it.

Open source under the Apache License 2.0; source, documentation and an FAQ are on the developer website.

版本

雖然在下方可選擇下載 APK 檔案,但要留意這樣的安裝方式將不會收到更新通知,是一種較不安全的下載方法。建議您先安裝 F-Droid 用戶端使用。

下載 F-Droid
  • 版本 0.12.1 (18) 建議 於 2026 年 10 月 27 日新增

    arm64-v8a

    此版本需要 Android 14 或更高的版本。

    此套件包由原開發者建置和簽署,並保證與此原始碼 Tarball 保持一致。

    權限
    • 僅可在前景中取得概略位置
      只有在你使用時,這個應用程式才能透過定位服務取得你的概略位置。你必須在裝置上開啟定位服務,這個應用程式才能取得位置資訊。
    • 僅可在前景中取得精確位置
      只有在你使用時,這個應用程式才能透過定位服務取得你的精確位置。你必須在裝置上開啟定位服務,這個應用程式才能取得位置資訊。這麼做可能會增加電池用量。
    • 查看網路連線
      允許應用程式查看網路連線相關資訊,像是有哪些網路,以及有沒有連上。
    • android.permission.EXECUTE_APP_FUNCTIONS
    • 執行前景服務
      允許應用程式使用前景服務。
    • 搭配「dataSync」類型執行前景服務
      允許應用程式搭配「dataSync」類型使用前景服務
    • 搭配「specialUse」類型執行前景服務
      允許應用程式搭配「specialUse」類型使用前景服務
    • 擁有完整的網路存取權
      允許應用程式建立網路通訊端及使用自訂網路通訊協定。瀏覽器和其他應用程式會提供將資料傳輸到網際網路的方法,因此不需要這項權限也能將資料傳輸到網際網路。
    • 顯示通知
      允許應用程式顯示通知
    • 啟動時執行
      允許應用程式在系統完成開機程序後立刻自行啟動。這會增加手機的開機時間,而且會因為系統一直執行該應用程式導致手機的整體運作速度變慢。
    • 錄製音訊
      這個應用程式在使用期間可以使用麥克風錄音。
    • 防止手機休眠
      允許應用程式防止手機進入休眠狀態。
    • app.knotwork.android.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下載 APK 61 MiB PGP 簽章 | 建置紀錄

  • 新版本 0.12.0
    Back up what you made (chats, memory, pipelines, settings and files) into one file locked with your password, and restore it on this phone or a new one.

    New providers: OpenRouter, Groq and any server that speaks the OpenAI API. Test a connection before you use it. Cloud model lists are current.

    A downloaded model is checked against the hash Hugging Face publishes. Every run records its seed and can be verified. Memory takes corrections.
  • 版本 0.12.0 (17) - 於 2026 年 10 月 22 日新增

    arm64-v8a

    此版本需要 Android 14 或更高的版本。

    此套件包由原開發者建置和簽署,並保證與此原始碼 Tarball 保持一致。

    權限
    • 僅可在前景中取得概略位置
      只有在你使用時,這個應用程式才能透過定位服務取得你的概略位置。你必須在裝置上開啟定位服務,這個應用程式才能取得位置資訊。
    • 僅可在前景中取得精確位置
      只有在你使用時,這個應用程式才能透過定位服務取得你的精確位置。你必須在裝置上開啟定位服務,這個應用程式才能取得位置資訊。這麼做可能會增加電池用量。
    • 查看網路連線
      允許應用程式查看網路連線相關資訊,像是有哪些網路,以及有沒有連上。
    • android.permission.EXECUTE_APP_FUNCTIONS
    • 執行前景服務
      允許應用程式使用前景服務。
    • 搭配「dataSync」類型執行前景服務
      允許應用程式搭配「dataSync」類型使用前景服務
    • 搭配「specialUse」類型執行前景服務
      允許應用程式搭配「specialUse」類型使用前景服務
    • 擁有完整的網路存取權
      允許應用程式建立網路通訊端及使用自訂網路通訊協定。瀏覽器和其他應用程式會提供將資料傳輸到網際網路的方法,因此不需要這項權限也能將資料傳輸到網際網路。
    • 顯示通知
      允許應用程式顯示通知
    • 啟動時執行
      允許應用程式在系統完成開機程序後立刻自行啟動。這會增加手機的開機時間,而且會因為系統一直執行該應用程式導致手機的整體運作速度變慢。
    • 錄製音訊
      這個應用程式在使用期間可以使用麥克風錄音。
    • 防止手機休眠
      允許應用程式防止手機進入休眠狀態。
    • app.knotwork.android.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下載 APK 61 MiB PGP 簽章 | 建置紀錄