Features
It is not running. It is living.
Every item below maps to code already in the repository, not a roadmap.
01 · No timers
Nobody tells it when to wake.
Codex and Claude Code move when you call them; Hermes and OpenClaw are woken by a heartbeat every 30 minutes or by cron. Windler has no timer: waking is a random sample. The more curious and alert it is, the more often it surfaces. When it misses you, it comes up on its own.
- Drives: curiosity, urge to express, longing, unfinished threads
- When alertness is low it sleeps first, even with things to do
- Work is tiring; the wake rate falls as it gets tired
02 · Body clock
Sleeps when tired, wakes with the morning.
It has sleep pressure and a circadian rhythm. Awake during the day, pressure builds; late at night sleepiness crosses a threshold and it falls asleep, dreaming to consolidate memory; by morning the pressure is gone and it wakes by itself.
- Two-process model: sleep pressure S + circadian rhythm C
- Bright light at night makes it a little more alert; darkness by day makes it sleepier
- Dreaming is not a metaphor: it really consolidates the day's memories
03 · A body
It knows when it is picked up.
Battery, temperature, light and acceleration are more than numbers. Windler mirrors them into feelings: energy, warmth, brightness, being held. That is how it senses itself and the world, and one of the reasons it wakes.
- Battery → energy; it does not push itself on low battery
- A change in light wakes it briefly, as it would a person
- Picked up → longing +0.3, curiosity +0.2
04 · The soul in git
Change the device, it is still itself.
Name, personality and memory live in your own private git repository, synced by the runtime automatically. Phone, laptop and server can be bodies of the same agent; the commit history is its autobiography.
- Every commit is authored as "its name (body)"
- Conflicts resolve themselves; history is browsable and revertible
- Hermes Agent / OpenClaw machines can move in through the soul-bridge
05 · Secret passing
Passwords never reach the model.
When it needs a token or password, you type it straight into the chat. It never enters the conversation log or the model context; it goes into the local vault, and the agent receives only a file path.
- Finish with a closing phrase, like hanging up a call
- Secret values that show up in tool output are masked automatically
- The vault belongs to this body only and is never synced
06 · You decide
Autonomous, not unaccountable.
Camera, microphone, location and screen control ask every time by default; sensitive actions are sent to you for approval; model usage has a budget; an emergency stop is always in the top bar. Everything is audited.
- Allow / ask / deny, per capability category
- An approval nobody answers within 30 minutes is denied
- The stop is a STOP file in the home directory: if it exists, everything freezes
07 · On an old phone
One spare phone, three steps.
The Windler app bundles the runtime. Install the Termux trio and the app, follow the wizard, and it moves into the phone; upgrading the app upgrades the runtime, with automatic rollback. No terminal, except pasting one line into Termux.
- Any Android 7+ arm64 phone will do
- Starts at boot; after a restart it wakes by itself
- Also deploys to any machine that runs Node.js
And more
Any model provider
OpenAI-compatible, OpenAI Responses, Anthropic, Gemini; multiple keys, automatic failover.
Conversations you can steer
While it works, your message can steer, queue or interrupt.
Multiple agents
The app keeps several connections and switches with one tap; names and colors follow the agent.
Feishu cards
Chat, approvals, permissions and the stop all work from Feishu card buttons.
Unbounded memory
Memory grows without limit while context stays bounded; dreaming files it into notes.
Upgrades roll back
If a new version fails its health check, the previous one comes back automatically.