Terminal
Run factor for a chat whose prompt stays editable while it works, or factor -m for one question.
Personal AI agent · open source · MIT
Factor is an AI agent in a single ~15 MB file. Talk to it in the terminal, on Telegram, over the phone, or out loud across the room. It works your browser and desktop, remembers what matters, and gets back to you when the work is done.
Channels
Whichever door you use, you reach the same agent, with the same tools and the same memory. Start something at your desk and hear back on your phone.
Run factor for a chat whose prompt stays editable while it works, or factor -m for one question.
Message it from anywhere. Only the accounts you allow get an answer.
Give it a number and it picks up. It also calls or texts you when a job lands. Twilio or Telnyx.
Speak to the machine itself. Wake word or push-to-talk, and talk over it to stop it mid-word.
Grid vision
Vision models are bad at coordinates. So Factor lays a battleship grid over your screen, lets the model say where, zooms in, and clicks.
screen_viewCaptures the screen under a lettered grid. The model answers: “Export is in D4.”screen_zoom cell=D4Magnifies that cell under a finer grid, down to about ten pixels.mouse click cell=B3Clicks the center of the cell, mapped back to real screen pixels.The same hands drive a real browser: Chromium over DevTools where there is a screen, or Camofox, a Firefox build with a spoofed fingerprint, for sites that turn headless browsers away. Pure Go image math. No OCR, no OpenCV.
Background jobs
Long work runs as a background job and messages you when it lands. While it works, it tells you what it's doing. Change your mind halfway and it hears you at the next step.
Memory · smrti
Memory is smrti, an engine that runs beside Factor on your machine. It consolidates what you tell it, lets trivia decay, and turns past failures into rules it follows. Before every turn, it recalls what is relevant.
A task that took four or more tool calls, or two if you had to steer it, gets a second look once the session goes quiet. If it holds a workflow worth keeping, Factor writes it down and lists it next time. Most of the time the answer is SKIP. Skills you wrote stay yours.
Voice · speaker ID
Factor reads a recording voice by voice. You keep your own conversation, and a guest it recognizes gets theirs. When someone else is in the room, it switches to a shared memory, so your private things stay private.
Speaker ID needs the local speech tier. The split covers memory; your instruction files still reach every turn.
The fine print, up front
~15 MB
A single static Go binary without CGO. The wizard fetches whatever else a feature needs. It runs happily on an old Puppy Linux box.
7
Linux on x86-64, 386, ARM64 and ARMv7. macOS on Intel and Apple silicon. Windows, with an installer that needs no administrator.
0
Factor reports nothing home, and it switches off the telemetry of every engine, library and browser it runs.
$
Each model call is billed to its session, with caps you set. Run factor -p 127.0.0.1:8080 and read every prompt it sends through your own proxy.
!
Workspace-restricted files, command deny-lists, sender allowlists, scrubbed secrets. They stop accidents and casual prompt injection. They are not a security boundary, and we won't pretend they are.
Install
Download one file and run the wizard. It checks every step live and installs what's missing: the memory engine, a browser, your desktop's helpers.
curl -fLo factor \
https://github.com/cyqlelabs/factor/releases/latest/download/factor-linux-amd64
chmod +x factor && mkdir -p ~/.local/bin && mv factor ~/.local/bin/
~/.local/bin/factor initcurl -fLo factor \
https://github.com/cyqlelabs/factor/releases/latest/download/factor-darwin-arm64
chmod +x factor && mkdir -p ~/.local/bin && mv factor ~/.local/bin/
~/.local/bin/factor initIntel Mac: darwin-amd64
It installs for your account alone, so it asks for no administrator, puts factor on your PATH, and offers to start the setup wizard when it finishes.
go install github.com/cyqlelabs/factor/cmd/factor@latest
factor initSomebody's home.