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
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.
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.
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.
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.
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.
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.
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.
Every request follows the same path, no matter where it starts.
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.
One command installs everything: the code, the tandem CLI, and the Cursor CLI if you need it.
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.
The practical stuff — what you do, what Pip does, and where everything runs.
Ask in Slack, snip on desktop, or assign from Chrome — then steer or approve. Pip runs the Cursor agent against your workspace: reads memory, writes artifacts, logs decisions, and ships the outcome back on whichever surface you started from. You stay in the loop; Pip does the research, drafting, and file moves.
You do — on your machine. Every surface shells out to cursor-agent with your repo as context. There is no Tandem cloud. Your models, your disk, your workspace.
No. Tandem is an open-source personal project (MIT). It plugs into those surfaces but is not affiliated with any vendor or employer. Swap the CLI engine when you want — the surfaces and memory layer stay the same.
No. Pip boots with blank memory/ and builds context as you work. Mount PM OS (or any knowledge tree) if you want a rich starting point — totally optional.
Memory lives locally under your workspace — profile, activity log, and durable facts Pip reuses across Slack, desktop, and browser. No hosted brain, no cross-tenant data. You control what stays in the repo.
Whatever the Cursor CLI supports — GPT, Claude, Gemini, Auto, and more. Set CURSOR_AGENT_MODEL or pass flags per call. From browser and desktop, Pip can also use WebSearch, shell, file writes, and MCP when you assign work with full autonomy.
Open source, MIT licensed, runs on your machine. Context that compounds from day one.