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.
The two models
Section titled “The two models”| 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.
How we train them
Section titled “How we train them”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 download is pinned
Section titled “The download is pinned”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:
f9b656bc2c489631786a7bf204eb1d922e8e493372d107282049092cb6464495ModelPins.swift is written by scripts/publish-model.py from the Hugging Face commit. We never edit it by hand.
The 15 tools
Section titled “The 15 tools”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).
What's the liquidation price on a $200 ETH long at 10x?
- Checking the ETH price
- Working out the position
The margin and the liquidation price, worked out by the tool. Nothing is prepared.
Put 50 USDC in Aave on Base
- Preparing the USDC deposit for your review
A Review deposit button. It opens the Aave deposit, and nothing moves until you approve it.
Private Cloud and the tools
Section titled “Private Cloud and the tools”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.
How the prompt is built
Section titled “How the prompt is built”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.