Open source · MIT · Local-first

One AI coworker.
On every surface where you
do the work — Slack

Meet Pip — in Slack, on your desktop, and in Chrome. One memory, any model, runs on your machine.

$ curl -fsSL https://raw.githubusercontent.com/Sach1ng/tandem/main/install.sh | bash
Get started → Star on GitHub
The idea

Most AI tools are a chat box.
Tandem flips that.

A model wrapped in a chat window, locked to one vendor and one surface, that forgets you every session. Tandem is built the other way around.

🧠

The brain is yours — and it compounds

Pip starts with a blank memory and builds context as you work, saving durable facts to a local memory/ it reuses on every surface. Have a capability OS like PM OS? Pip mounts it as a rich starting point. Nothing is required to begin.

🔁

The engine is model-agnostic

Every surface shells out to one shared adapter around cursor-agent. Switch from gpt-5 to sonnet-4 to auto with an env var — no new integration, no vendor lock-in.

📍

The surfaces meet you where you are

A Slack teammate, a floating desktop widget, and a browser extension — all calling the same engine against the same workspace. One coworker, not three bots.

Three surfaces, one Pip

Same coworker, same memory,
everywhere you work.

Slack

Tag @Pip like a teammate

Mention or DM Pip in any channel. It runs the agent in your workspace with your full context, ships the artifact in-thread, and keeps going — thread continuity means follow-ups pick up where you left off. Owner allow-lists keep it locked down.

you  @Pip turn this thread into a decision log + update the PRD
pip  On it — reading 47 messages + your PRD template…
pip  Shipped. decision-log.md written · PRD §3 updated · both posted here
     Logged owners + next steps to memory/log.md
Desktop

Pip lives on your screen

A floating, always-on-top companion. Click to delegate, or hit ⌘⇧T to snip any part of your screen and have Pip run with it. Pip grooms your tasks.md, writes the fix, and moves work across your board.

◗ pip · floating on your desktop
⌘⇧T → snip a CI failure → "fix this and capture it"
pip  Opened the repo · wrote the patch · ran tests (green)
     Moved task Needs triage → Done in tasks.md · left a handoff note
Browser

Page-aware work in Chrome

Point Pip at whatever tab you're on — the extension reads the page, and with Assign to Pip it runs with full tool access: drafts docs, creates tasks, and writes back to your workspace. Read-only by default until you explicitly assign.

tab  competitor.com/changelog
you  [Assign to Pip] battlecard + Slack summary for #sales
pip  Shipped. battlecard.md · 4 feature gaps · paste-ready Slack blurb
     Saved pricing edge to memory/ · follow-up added to tasks.md
How it works

Thin surfaces. One engine.
A brain you own.

Every request follows the same path, no matter where it starts.

Surfaces
Pip · Slack tag @Pip Pip · Desktop on-screen, ⌘⇧T snip Pip · Chrome page-aware work
Engine · @tandem/engine
runAgent() → cursor-agent -p … --model <any> --workspace <repo>
Brain · your workspace
memory/ grows as you go skills & knowledge optional PM OS AGENTS.md auto-loaded charter

Because the workspace holds AGENTS.md, memory, and any mounted capability OS, the agent has the full context on disk for every call — no per-surface plumbing.

Quickstart

Running in two minutes.

One command installs everything: the code, the tandem CLI, and the Cursor CLI if you need it.

zsh — ~/
# install tandem
$ curl -fsSL https://raw.githubusercontent.com/Sach1ng/tandem/main/install.sh | bash
✓ node 20+ found  ✓ built  ✓ tandem on PATH  ✓ workspace initialized

# one-time model auth
$ cursor-agent login

# launch Pip on your desktop
$ tandem pip
◗ Pip is on your screen. Say hi.

Prefer npm? npm install -g @tandem/cli @tandem/pip @tandem/slack — then tandem pip self-initializes on first run. Slack and Chrome setup live in each app's README. No PM OS required: Pip starts blank and builds your context as you go.

FAQ

Questions people actually ask

The practical stuff — what you do, what Pip does, and where everything runs.

Give your team a coworker,
not another chat box.

Open source, MIT licensed, runs on your machine. Context that compounds from day one.