Skip to content
Download

Developers and help

The model and its tools

Hermit 1.2, Hermit 1.1 Lite, the tools the model can call, and how the download is pinned.

Hermit’s assistant is a small open model that runs on your device. It can talk, and it can call tools. It can’t touch a key.

Hermit 1.2 Hermit 1.1 Lite
Base model Qwen3-4B-Instruct-2507 (Apache-2.0) Qwen3-1.7B (Apache-2.0)
Trained by us Yes, fine-tuned on Hermit’s tools No, it’s mlx-community’s 4-bit weights as they are
Format MLX, 4-bit MLX, 4-bit
Download About 2.3 GB About 1 GB
Needs 7 GB of memory 5 GB of memory
Hugging Face aiquantgod/Hermit-1.2-4B-MLX-4bit aiquantgod/Hermit-1.1-Lite-MLX-4bit
Pinned commit 6183aaf929d66dc50f4b7c547d140fca57be54e6 52b8428909ab484f23945d317a32d4a63da57f49

Hermit picks for you on first launch. A device that reports 7 GB or more gets Hermit 1.2. That’s every Apple silicon Mac and the iPhone 15 Pro and newer, which report about 7.5 GB. Smaller iPhones get Lite. You can switch in Settings, Models, or from the model name next to Send, then On-device models. A model your device can’t run shows “Needs 7 GB of memory” and can’t be picked.

Both run with Apple’s MLX on the device. Neither needs a network once it’s downloaded, so chat works in Airplane mode.

We train our own. Hermit 1.2 is a LoRA fine-tune of Qwen3-4B-Instruct-2507 on examples of Hermit’s tools, made on one rented NVIDIA A6000. Hermit 1.3 and 1.3 Lite are training now on 21,000 examples of real Hermit tasks (all 30 tools, multi-step requests, safety), on an A100 80GB and an A6000. Every model we publish is at huggingface.co/aiquantgod.

The app ships with the exact bytes of each release built in (ModelPins.swift): every file’s size and SHA-256, and for the big weights file, the SHA-256 of every 128 MiB piece. Hermit downloads 8 pieces at a time from models.hermit.my, our Cloudflare mirror, and falls back to Hugging Face at the pinned commit. A piece is only kept if its hash matches.

So a later push to the Hugging Face repo, or a bad mirror, can’t change what your app runs. Hermit 1.2’s weights file is model.safetensors, 2,263,022,529 bytes, SHA-256:

f9b656bc2c489631786a7bf204eb1d922e8e493372d107282049092cb6464495

ModelPins.swift is written by scripts/publish-model.py from the Hugging Face commit. We never edit it by hand.

The model sees each tool as a function schema and writes a call when it needs one. The app runs the call on your device and hands the result back. While it runs, you see a step line under your message.

Tool What it does Step line you see
calculator Does arithmetic exactly, so the model never works out sums in its head. Calculating
get_price Live price and 24h change from Hyperliquid, falling back to Binance. Checking the BTC price
get_balances Your holdings on every chain, NEAR included, with dollar values. Reading your balances on this phone
hyperliquid_account Your Hyperliquid account value, margin, free USDC, positions and open orders. Reading your Hyperliquid account
position_math A perp position’s margin, liquidation price, and P&L at a price you give. Working out the position
search_markets Finds perps, spot pairs and pools matching some text. Searching markets for PEPE
get_yields Yield pools from DefiLlama, with base APY and rewards apart. Looking up yields
prepare_trade Prepares a Hyperliquid perp order and opens its review. Preparing the order for your review
prepare_swap Prepares a swap or bridge, the better of NEAR Intents and Relay, and opens the Swap review. Preparing the swap for your review
prepare_send Prepares a transfer and opens the Send review. Preparing the transfer for your review
open_add_funds Shows an Add funds button, for the wallet or for Hyperliquid. Opening Add funds
get_quote A dry NEAR Intents quote. Prices a route and prepares nothing. Getting a NEAR Intents quote for 20 USDC to NEAR
prepare_multisend Prepares one token to many addresses and opens the Batch send review. Checking 12 recipients for your review
prepare_deposit Prepares an Aave v3 deposit on Ethereum, Base or Arbitrum. Preparing the USDC deposit for your review
prepare_withdraw Prepares a withdrawal from your Aave v3 deposit. Preparing the withdrawal for your review

The first eleven are the set Hermit 1.2’s training data was written around. The app adds the last four after them. A test, testAppToolsAreTheTrainedOnesPlusQuote, pins the list and its order, so the prompt can’t drift from what the model learned.

Every prepare_ tool stops at a review. Nothing it returns can move money. Before a review opens, the guard checks the call (a transfer only goes to an address you typed) and the spending policy checks the amount. Then you approve with Face ID (Touch ID on a Mac).

You type

What's the liquidation price on a $200 ETH long at 10x?

You see
  • Checking the ETH price
  • Working out the position

The margin and the liquidation price, worked out by the tool. Nothing is prepared.

You type

Put 50 USDC in Aave on Base

You see
  • Preparing the USDC deposit for your review

A Review deposit button. It opens the Aave deposit, and nothing moves until you approve it.

A chat on iPhone in Private Cloud mode. Under the question are four steps: Checking the enclave, Reading your balances on this phone, Getting a NEAR Intents quote for 5 USDT to NEAR, Checking the reply's signature. The answer lists balances and the quote, with a Verified in a TEE chip.
Each tool call shows as a step under your message.
The assistant, and what stops it. On your iPhone or Mac: your message and the system prompt go to the Hermit 1.2 model. Its tool calls are parsed, then a tool guard checks every call before the toolbox runs it. Read tools fetch public data and their results pass through a cleaner on the way back to the model, for up to 5 rounds. Money tools only prepare: the spending policy checks them, then you see a review and approve with Face ID. Reply checks stop the model saying done before you approve. Private Cloud plugs into the same guard and cleaner. A strip at the bottom shows the prompt injection test in six steps, ending with the guard refusing and no review opening.
Whatever the model writes, a call passes the guard, the policy and your review before anything is signed. Tap the figure to open it full size.

In Private Cloud mode a bigger open model on NEAR AI Cloud does the talking. It gets its tools as OpenAI-format schemas, and its tool calls come back to your device and run in the same toolbox, under the same guard, policy and review. The cloud model never sees a key. More on the mode in Private Cloud.

In the DMG and TestFlight builds out today, those are the same 15 tools (HermitCloud/Resources/hermit_tools.json). On the repo’s main branch Private Cloud already gets 30 (hermit_tools_v3.json). That isn’t in a build you can download yet. The 15 new ones:

Tool What it does
prepare_buy, prepare_sell Prepare a Solana token buy or sale through Jupiter and open its review. Buys are for Jupiter-verified tokens only.
prepare_close, set_tp_sl Prepare closing a Hyperliquid position, or a take profit and stop loss on one, and open the review.
cancel_order Drafts a cancel for an open Hyperliquid order. It only happens when you tap Confirm on the card.
create_automation, schedule_payment, add_contact Draft an automation, a payment reminder or a contact as a card. Nothing is saved until you tap it.
get_positions, get_portfolio, get_activity, get_address Read your positions, your total, your recent activity and your own receive addresses.
search_tokens Finds a Solana token with its price, liquidity and safety tags.
open_app, open_page Show a button that opens a site in Hermit’s browser or a page of the app.

The guard grew with them. A contact or a payment reminder only takes an address you typed or a contact you saved. A token given by its mint address has to be one you pasted or one a search in this chat returned. An automation only comes from your own message, never from a tool result.

HermitPrompt.swift renders the prompt in Swift, byte for byte the way our training data renders it, instead of relying on the chat template a download ships with. It adds your name and your hermit.md notes (Settings, Memory) the same way training did. Text from outside your own typing, like tool results and files, has the chat’s control tokens broken up first, so it can’t pose as a new turn.