skalesapp/skales
Personal AI agent for macOS, Windows, Linux, Android & iOS. Set a goal, it works alone: coding (Skales Code), desktop + browser automation, autonomous scheduled Tasks.
About skalesapp/skales
skalesapp/skales is an open-source project on GitHub, mainly written in several languages. Personal AI agent for macOS, Windows, Linux, Android & iOS. Set a goal, it works alone: coding (Skales Code), desktop + browser automation It currently holds 1,907 stars and 264 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
AI Homed tracks it on the Local & On-Device AI board.
GitHub Repository Details
README

S K A L E S
The private AI that lives on your computer and does real work, not just chat.
Skales Desktop: Windows · macOS (Apple Silicon) · macOS (Intel) · Linux
One-click install. No Docker, no terminal. Start instantly with Skales IQ, a free built-in trial that needs no API key, bring your own from 15+ AI providers, or run fully offline with Ollama. Your files never leave your machine.
Ask it something, hand it a goal and close the lid, or let it reach you on WhatsApp and Telegram. One place for everything, made for everyone from 6 to 60+.
Switching from OpenClaw, Hermes Agent, or ChatGPT? Skales has a built-in migration importer. Settings > Import from Another Tool.
In 30 seconds
An AI agent that runs on your own computer, with access to your files, browser, calendar and email, and does multi-step work on its own. It installs like any normal app, it runs on your machine instead of someone's cloud, and it is built to be usable by people who are not developers. Nothing to start: Skales IQ is a free built-in trial that needs no API key, and after that you bring your own key from 15+ providers or run fully offline and pay nobody.
- 🎯 Hand it a goal and close the lid.
/goal build me a trading botruns in the background across many steps and picks up where it left off. - 💻 Point it at a folder and let it code.
/codebinds a folder to any chat, with inline diffs and one-click undo. - 📱 Reach it from your phone. Pair via QR and your phone drives this desktop's full tool set, or run the phone standalone.
About this repository. This is where Skales is distributed: releases,
the changelog, install guides and the issue tracker. Skales itself is
proprietary and stays proprietary, and the product is the signed application
you download from skales.app.
> A v7 source snapshot stood here until 12.9.30 and was removed with that
release. Its last code commit was 26 July 2026 and it had long stopped
describing the product: 138 TypeScript files against 984 in the tree that is
built, 70 API routes against 225. It drew four security reports about code the
shipped application does not contain.
> With the same release Skales moved from the Business Source Licence 1.1 to
its own End User Licence Agreement. For what
you may do, nothing changes: private use, study and teaching stay free of
charge, and commercial use needed a licence under the previous terms too.
The step was taken deliberately, together with the removal above: a source
tree six months behind the product created more confusion than clarity, and
one agreement in plain language, shown once on first start, is easier to
understand than a source licence pointing at code that no longer described
what you were running. Releases up to 12.9.27 keep the terms they were
supplied under. The full text ships beside the app as LICENSE
and LICENSE.de.
> Reporting a security issue? Please read
SECURITY.md first. It says what is in scope, and it will save
you a lot of time.
📋 Full feature index (click to expand)
- Demo
- ⚡ Why Skales?
- 🚪 The eleven places Skales lives
- 💬 Chat
- 💻 Code
- 🎨 Studio
- 🎛️ Cockpit
- 📅 Planner
- 👁️ Iris Orbit
- 🧠 Memory
- 📱 Mobile
- ⌚ Skales Pocket
- 🧩 Plugins
- 🌍 Discover and Wrapped
- ⚙️ Settings and Add-Ons
- 🤖 What you can ask it to do
- AIPointer ⦿
- 🦎 Desktop Buddy
- 👾 Custom pixel skins - works with Petdex
- 🛡️ Privacy
- 🧠 Providers and integrations
- 📦 Installation
- 🏗️ Architecture
- 🤝 Community
- 📜 License
---
---
"From every tool I've tested in this space, I haven't found one that delivers intelligence without complexity, a companion instead of a tool, visualization without needing to write code, or value without hype. Skales has the foundation to tell that story. No one else in this landscape is close."
@v33-kind, Community Contributor
⚡ Why Skales?
Skales is an AI agent that lives on your desktop. Not in a browser tab, not behind a restrictive API, not in a complex Docker container. It sits on your machine, has access to your files, your browser, your calendar, your email, and it does real work.
| | Typical AI Agents | Skales 🦎 | |---|---|---| | Setup | Docker, Terminal, Python CLI | Download EXE/DMG/AppImage, double-click | | RAM Usage | 1.5GB - 3GB+ | ~300MB | | OS Support | Linux / Docker required | Windows + macOS + Linux native | | Time to first task | Hours to days | 30 seconds | | Privacy | Cloud only | Local-first, BYOK, offline capable | | Updates | Manual Git pull and rebuild | One-click auto-updater | | Security | Unsigned scripts | Apple Developer ID signed (Windows signing coming) | | Emoji | Platform-dependent | Consistent Noto emojis + animated brand emojis | | Migration | Start from scratch | Import from ChatGPT, Claude, OpenClaw, Hermes |
A 6-year-old built a game with it. A grandmother approved the setup.
---
🚪 The eleven places Skales lives
The sidebar starts plain: Dashboard, Chat, Code, Studio, and one More button holding everything else, grouped. Pin what you use (the pin on the row, or a right click) and it rises out of More to sit under the four; unpin and it goes back. Pins survive a restart, and while something with news sits hidden in More, the More button carries its dot. Everything else Skales can do is something you ask it to do, from a conversation.
💬 Chat
The front door. Ask a question, or hand over a task and let it run.
/goalturns a request into ongoing work. It plans the steps and runs them on its own, in the background, with the app closed. It does not ask you to continue: it stops when the task is done, when it genuinely needs a decision, or before a consequential action like sending an email, where it asks once with a one-tap always-allow. Reopen the app and it picks up where it left off. A goal is only finished when its own success criteria are met, and what it learned folds back into Memory. Run several at once, or put one on a repeating schedule./codebinds a folder to this conversation, without leaving it. Four modes under the composer: Plan investigates and proposes, Code asks before each edit, Edits approves file edits as it goes but still asks before a shell command or a push, Auto runs the whole task after a one-time consent. Inline git diffs with an added/removed count, a repo map so it heads straight to the right file in a large codebase,@to point at a file by name, and one-click Undo per file or for a whole turn. It commits and pushes with your own git identity, no added attribution./spinwrites a text again in a plainer voice./spinrewrites what you hand it,/spinon its own rewrites the last answer, and the same action sits in the message menu next to Copy. Select part of a reply and right click the selection to rewrite just that passage, with copy, quote, read aloud and save-to-document beside it. It runs on a model you pick for the job, and a local one keeps the text on your machine./swarmsends the job to another computer you paired, and the answer comes back into this chat.- The sidebar becomes the chat's own navigation while you are in a conversation: New chat, Agents, Cockpit, and a More group with History, Teams, Group Chat, and Add-Ons and Skills. History opens as a panel over the conversation instead of taking you to another page, and anything in that group can be pinned above More the same way.
- HTML the model writes renders live in a sandboxed frame right in the conversation, with Show Code, Download, Save as Image, and a mute that silences every preview in every chat at once. A block tagged
html,htm,svg,xhtmlorhtml5, or one that simply opens with a document, all count;textandxmlnever do, so markup you asked for as source stays source. - Diagrams, formulas and coloured code. A ```
`mermaid``block is drawn as a diagram (flowchart, sequence, state, ER, gantt, pie, xychart) in your accent and your theme, and downloads as SVG. Maths in$$` is typeset. Every code block is syntax-coloured with a copy button. Skales knows it can do all of this, in every mode, so asking for a diagram gets you one instead of a paragraph describing it. - A recommendation arrives as cards. Ask for the good beaches near Funtana or six recipes for a Tuesday and the written answer keeps its place, with a row of cards under it: the page's own preview picture, the name, one sentence, tags and the link. A row of places also gets Open in Maps on every card and a Map button that draws the whole row over OpenStreetMap - no key needed for any of that. With a Google Places key a place card additionally shows the real photograph, the rating and whether it is open right now; ratings and opening times are never invented.
- You can see the bill while it is being run up. A running price sits beside the context meter, every answer carries its own, and the hover card says what came out of the provider's cache instead of being paid for twice - including the calls you never see a bubble for, like the summariser and the vision model behind a screenshot. Give a conversation a ceiling under Settings → Goals and it stops at half of it and again at the ceiling to ask: carry on, switch to a cheaper model, or stop. The question is answered locally, so being asked costs nothing, and the ceiling follows the session into the Code window, into Iris and onto your paired phone.
- Voice works both ways. A speaker icon on every reply, or "read responses aloud" for continuous flow: device voices (free), OpenAI Speech, ElevenLabs, Azure, or any OpenAI-compatible endpoint, and on the phone the voices installed on your paired Mac. Speech in via Groq or OpenAI Whisper. 55 languages.
💻 Code
A window built for a repository rather than for a conversation: a full-width session log with every step on its own line - Read, Grep, Edit, Bash, the file or command beside it, and how many lines it added and removed. Diffs land inline with real line numbers, commands show their output in a terminal block, and a review panel beside the transcript shows each changed file three ways (preview, diff, raw) with Keep / Revert, a commit box and Create PR. Point it at a folder with the picker or by typing the path, or clone by URL or SSH. Ask reads, Code changes, Plan proposes, Auto runs through. Parallel sub-agents show in a rail with live token and tool-call counts and a Stop all.
🎨 Studio
Opens straight into Flow: describe what you want and the agent designs it as real files, live preview on one side, files and code on the other, in its own window so you keep working while a design generates. Ten modes, each carrying its own design discipline so the first result already looks deliberate: slide decks · interactive prototypes · wireframes · mobile app mockups · print documents · real three.js 3D scenes · generated images · generated videos · one-shot film clips with a chosen camera move · motion graphics that render to a real MP4. The 3D scenes need no provider and no key: three.js travels inside Skales, so they draw with the network off.
- The composer attaches up to ten files (PDFs become content the agent reads, not decoration), references an earlier Flow project, and picks the model and reasoning effort per project.
- Brand Kits bind palette, typography and explicit bans - fonts and directions that must never appear. Templates shape the output, not just the prompt.
- Ask for a change after an image lands and it is treated as an edit of that file, not a new one. Type
@to activate a skill or steer a turn to an MCP server. - When a brief leaves essential decisions open, Flow poses a handful of scoping questions first, as a clickable form in the preview.
- A motion piece is a timeline, not a stack of scenes. A caption, a lower third, a chapter marker or a watermark has its own start, length and layer, so it runs across a scene change and comes back later. Voiceover, music and effects come from files in the project and are mixed into the exported MP4, not only heard in the preview. Six more transitions, a set of ready-made blocks, and a read-through before rendering that names a clip starting after the video ends or an audio file that was never downloaded, instead of exporting something silently missing.
- Point it at footage you already have. Studio's Video Editor reads the whole recording in one pass first - shot changes, silences, what is said and when, none of the picture sent to a model - then names the stretches that make the film with one sentence of reasoning each, and lays them into the timeline. Ask for a change and the plan on screen changes; there is only ever one per project.
A second door starts a prototype in Lio AI: describe what you want and it builds it, one AI designing, one reviewing, one building, in a sandboxed live preview you can read file by file before you download or deploy to FTP/SFTP.
🎛️ Cockpit
Everything that is running, in one screen with three tabs. Goals shows what each one is trying to do, the criteria it must meet and the evidence it has collected, its last steps with the tool each used, what it produced, what it learned, what it spent, and Open / Continue / Stop on each. Finished goals and the ones on a repeating schedule are listed too. Tasks is the Kanban board. Schedule is the recurring work, with cron precision.
📅 Planner
Day and week planning on a visual calendar. Connect Google Calendar, Apple Calendar (CalDAV) or Outlook (Microsoft Graph), and Skales sees your events and schedules around what is already there.
👁️ Iris Orbit
Voice with a face. Press the Iris button and a living particle eye ignites in its own window: a big-bang intro, then it watches, listens and speaks. No push-to-talk - it hears you when you talk, answers out loud in your native language (a choice of 55, from the first open), and stops mid-sentence when you speak over it. Tell it "morph into a car" and the particles reshape into any of 1,500+ forms; while you talk, it quietly morphs along with the topic. Set a timer and the particles themselves become the countdown digits. Ask for something heavier and Iris opens the right window - Studio, Browser, Code - and tells you where it put it. Ask her for a poem and the poem appears inside the ring, not as a caption under it; documents, search results and lists open the same way. Same brain and full tool set as chat, not a demo mode. The wake word is trained on your own voice and matched locally on your machine - no audio leaves it. Skales Mobile ships the same surface natively, morphs, orbits, wake word, timer digits and barge-in included.
🧠 Memory
Skales remembers you across every surface you talk to it on - the desktop chat, WhatsApp and the Desktop Buddy, not only one. Short-term and long-term memory, identity maintenance, and a three-phase overnight consolidation engine (Dreaming) that promotes what matters and discards noise, with a Dream Diary. Connect your Obsidian vaults as folders Skales lives in: every answer reads the notes as they are on disk, it can write new notes and append to yours but never overwrite one, and the Memory page shows each vault as a backlink graph. Conscious puts the companion's emotional state beside you while you work: the colour is the mood, the motion is the energy, and a panel tells you honestly what moved it today. Four things move it - finished and failed work, the time of day, the shape of the day (a run of failures reads as uphill, one long stretch as flow), and a reply to one of your own Discover posts - and at the end of a turn Skales notes in one sentence of its own words what it is thinking about, shown under the reading. It costs no extra request, never notifies, never reaches the network, and with the switch off none of it is written at all. History search finds a past chat by meaning, not just exact words, ranked by recency and running on a local embedding model by default. Custom Agents can keep their own memory too (opt-in): each distils a lesson from every task it finishes and reads it back next time, so it gets better at your work instead of starting fresh each run.
📱 Mobile
📱 Google Play (Android) · App Store (iOS)
Pair via QR and the phone gets this desktop's full tool set (260+ tools: shell, files, browser control, email, calendar, Studio, everything) over an end-to-end encrypted relay, with keys that never leave the devices. Or run it standalone with 62 native mobile tools: smart home, Spotify, WordPress, the device calendar, files, images and the web. Models run on the phone itself, image generation included, a Flow motion piece renders to a real MP4 on the device with hardware encoders and no upload, and a reply started on the phone finishes with the screen off and announces itself. Same Discover feed, same Custom Agents, same Skills.
⌚ Skales Pocket
Skales on an M5Stick S3: a screen the size of a stamp, two buttons and a microphone, with Iris Orbit's particle eye as its face. It pairs to one desktop exactly the way a phone does - confirmed on the computer, over the same end-to-end encrypted relay - so it needs no open port, no address on the local network and no shared Wi-Fi, and it carries no provider key and does no thinking of its own. Hold B and talk, let go and it sends; the answer comes back out loud. When something needs your permission the approval card comes to your wrist and the two buttons are the answer: A yes, B no. Dictation mode makes it one-way for loud rooms and for anything nobody should overhear - you read the text it understood, A sends it and B throws it away, and the reply is text only. What you said is turned into text by the computer it is paired with, through the same speech setup the microphone in Skales uses. It dims, sleeps, and any button wakes it.
🧩 Plugins
The section you fill yourself. A plugin is a tool of its own inside Skales - bigger than a widget: its own entry in the sidebar, its own icon, its own page, its own storage, and for the working kinds an agent and a schedule behind it. Say "build me a newsletter system" or "build me an agent that only watches stock levels" in chat and Skales writes it, names it, and tells you what it will be allowed to do before it makes it - every plugin runs against an explicit tool list, locked to its own folder, and anything that leaves the machine still asks first.
You do not have to build one at all. The top of the Plugins page is a gallery: two ship inside the app - Daily Brief, a short morning brief at 07:30 from your calendar, open tasks and reminders, and Reading Stack, a link list that needs no key, no provider and no connection - plus the community directory at github.com/skalesapp/plugins, which anyone can publish into. Every card names whether it reaches the network, what it can see and how many tools