Skip to content

Repository files navigation

Devin Companion

A small glowing companion standing in a dark habitat, its possible states washing the darkness as fields of indigo, amber, ember, red, and green light

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 fail

Claude 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.

Surfaces

  • 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.

Get a pet

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

The companion driven through working, waiting for approval, failed, and completed. The whole room shifts color with each state.

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 test

Develop

Requires 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 + apps

The state model

Everything 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.

Monorepo layout

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

Security posture

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.

License

MIT. Bundled pets are CC0: remix them into anything.

About

Desktop pet that mirrors your AI agent fleet. Community project, not affiliated with Cognition AI.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages