Community project, not affiliated with Cognition AI. Devin is a trademark of Cognition AI. This tool uses the public Devin API with your own token.
A living companion for your AI agents. It stands free on your desktop, not in a box or a dashboard, and its color, expression, and motion mirror what your Devin fleet is actually doing. Working feels like indigo flow. Waiting for you glows warm amber. Failure bleeds red into the room. You stop checking tabs, because you can feel the state of your agents peripherally, the way you'd notice a pet getting restless.
Make anything a companion. Drop in one PNG or WebP (a character, a logo, your dog, a plant) and the Creator Studio turns it into a full eight-state companion, locally and deterministically. Nothing leaves your machine. Want real per-state faces instead of one animated pose? The optional AI expression tier generates all eight emotions from your source using your own compute: your fal.ai key or a local endpoint on your GPU. Keys stay in memory, are never stored, and the project never pays for your generations.
Drive it from anything. Devin is built in, but the companion speaks a tiny local protocol, so one line of shell makes it react to whatever you run:
companion watch --session tests -- pnpm test # working while it runs,
# green on pass, red on failClaude Code hooks, CI steps, training runs, cron jobs. If it has an exit code
or can curl localhost, it can have a presence on your desk. See
docs/local-bridge.md.
- Desktop overlay: a transparent, always-on-top Tauri 2 companion that lives on your screen and connects to the official Devin v3 API. Tokens are stored once in the OS credential vault, never in a browser bundle.
- Demo studio: a browser playground with a session simulator, so you can feel every state without connecting anything.
- IDE + browser extensions: the same creature inside Devin Desktop and app.devin.ai.
Every surface consumes one shared state model. No surface invents its own status mapping.
Try it in the browser, right now: the demo studio runs the full state model with a session simulator, no install. devin-companion-demo.vercel.app
Desktop app: grab the installer for your OS from
Releases
(Windows .msi, macOS .dmg, Linux .AppImage). Builds are unsigned while
the project is young: Windows SmartScreen will ask for "More info → Run
anyway," and macOS needs a right-click → Open the first time.
CLI: drive the companion from terminals, scripts, and agent hooks:
npm install -g devin-companion
companion watch --session tests -- npm testRequires Node >= 20. (No pnpm? npx pnpm@9 works everywhere below.)
pnpm install
pnpm dev # demo studio → http://localhost:5173
pnpm test # unit tests across all packages
pnpm build # build all packages + appsEverything consumes packages/status-core:
type CompanionState =
| "idle" | "preparing" | "working"
| "waiting_for_user" | "waiting_for_approval"
| "completed" | "failed" | "suspended";It owns state priority ("loudest state wins" across a fleet), legal transitions
and dwell timing, unread tracking, multi-session aggregation, reduced-motion
representation, and stale detection. Each state carries a deliberate emotional
hue: the palette is a psychological temperature scale, not a stoplight. See
docs/state-model.md.
apps/
demo-studio/ Interactive browser playground
companion-overlay/ Tauri 2 transparent desktop companion + pet library
devin-desktop-extension/ Companion inside the Devin Desktop IDE
browser-extension/ Companion inside app.devin.ai
packages/
status-core/ CompanionState model + provider-neutral status seam
companion-cli/ Local bridge + `companion` CLI (drive it from anything)
creator-core/ Make-anything-a-companion pipeline (local, deterministic)
design-system/ Design tokens: color, space, motion
pet-runtime/ Sprite manifest + animation runtime
pet-library/ Bundled + imported pet management
secure-bridge/ Owns credentials; browser surfaces never hold keys
devin-client/ Devin v3 API client
pets/ Bundled companions (CC0)
docs/ Product brief, architecture, security, pet package spec
tests/ Accessibility / integration / visual
The Devin API key never ships in a browser bundle. Browser-facing surfaces talk
to packages/secure-bridge; the desktop overlay stores the token in the OS
credential vault. Imported pet packages are validated locally. PNG and WebP
assets only, nothing fetched, nothing phoned home. See
docs/security.md.
MIT. Bundled pets are CC0: remix them into anything.

