# Open Source Instinct

> Source: <https://github.com/mariagorskikh/open-instinct>
> Published: 2026-10-04 23:49:16+00:00

An open-source personal agent you text. It has its own computer, does real tasks, and coordinates with the agents of the people you trust.

A from-scratch, documented clone of [Instinct](https://github.com/mariagorskikh/open-instinct/blob/main/docs/research/INSTINCT.md), built so anyone can run one.

You text a phone number. [Inkbox](https://inkbox.ai) gives the agent that number, an email address and an agent-to-agent endpoint. A small gateway wakes your agent, which lives in its own microVM on [Maritime](https://maritime.sh) with a Linux desktop. Inside, a [Pi](https://github.com/earendil-works/pi) agent loop runs with your apps through [Composio](https://composio.dev), a wallet through [Stripe Link](https://docs.stripe.com/agentic-commerce/agents/link-agent-wallet), and a policy guard in front of every tool. Default model: Claude Fable 5.1. Any Pi provider works.

Six tiers, enforced in code before any tool runs. Your partner's agent can read your calendar. A friend's can only ask when you are free. A stranger gets a polite no, and you get a one-line text saying who asked for what. Grants add exceptions in plain English: "Sam can book us dinner this week." Details in [PERMISSIONS.md](https://github.com/mariagorskikh/open-instinct/blob/main/docs/PERMISSIONS.md) and [PROTOCOL.md](https://github.com/mariagorskikh/open-instinct/blob/main/docs/PROTOCOL.md).

Node 22.19+ and pnpm 10. You bring your own keys; [KEYS.md](https://github.com/mariagorskikh/open-instinct/blob/main/docs/KEYS.md) lists which ones and how to get them. No key is stored in this repository.

**On your laptop, no phone number yet**

```
git clone https://github.com/mariagorskikh/open-instinct && cd open-instinct
nvm use && corepack enable        # if corepack needs permissions: npm install -g pnpm@10
pnpm install && pnpm build
export ANTHROPIC_API_KEY=sk-ant-...
pnpm instinct init --name "Maria" --phone +14155550100 --email maria@example.com --handle maria-instinct
pnpm instinct dev                 # then, in another terminal:
pnpm instinct chat "remember that I like window seats"
```

**With an iMessage line**

```
export INKBOX_ADMIN_API_KEY=...   # inkbox.ai console
pnpm instinct init --name "Maria" --phone +14155550100 --email maria@example.com --handle maria-instinct
pnpm instinct dev --tunnel
pnpm instinct connect             # prints the number and the text to send: connect @maria-instinct
```

**The Instinct way: one agent per person on Maritime**

```
export MARITIME_API_KEY=mk_...    # maritime.sh, Settings, API keys
pnpm instinct deploy --image ghcr.io/mariagorskikh/open-instinct-agent:latest
```

For many people, run the [gateway](https://github.com/mariagorskikh/open-instinct/blob/main/packages/gateway/README.md): a signup page that provisions an identity and an agent per person. Guide: [DEPLOY-MARITIME.md](https://github.com/mariagorskikh/open-instinct/blob/main/docs/DEPLOY-MARITIME.md).

| The signup page | The connect page | 
|---|---|

```
packages/core       Pi agent loop, policy engine, memory, scheduler, approvals, audit
packages/inkbox     iMessage, SMS, email, webhooks, agent-to-agent transport
packages/computer   the desktop (Maritime desktopd in the VM, or hosted Computers MCP)
packages/apps       Composio Tool Router
packages/network    contacts, tiers, grants, invitations, agent-to-agent tools
packages/payments   Stripe Link wallet: one-time cards the owner approves
packages/server     the agent process (/health, /chat, /schedules)
packages/gateway    multi-user relay and signup
packages/cli        the instinct command
skills/             playbooks the agent follows
docs/               architecture, permissions, protocol, keys, deploy, research
```

[Architecture](https://github.com/mariagorskikh/open-instinct/blob/main/docs/ARCHITECTURE.md) · [Permissions](https://github.com/mariagorskikh/open-instinct/blob/main/docs/PERMISSIONS.md) · [Protocol](https://github.com/mariagorskikh/open-instinct/blob/main/docs/PROTOCOL.md) · [Keys](https://github.com/mariagorskikh/open-instinct/blob/main/docs/KEYS.md) · [Deploy on Maritime](https://github.com/mariagorskikh/open-instinct/blob/main/docs/DEPLOY-MARITIME.md) · [Self-host](https://github.com/mariagorskikh/open-instinct/blob/main/docs/SELF-HOST.md) · [Inkbox](https://github.com/mariagorskikh/open-instinct/blob/main/docs/INKBOX.md) · [Composio](https://github.com/mariagorskikh/open-instinct/blob/main/docs/COMPOSIO.md) · [Payments](https://github.com/mariagorskikh/open-instinct/blob/main/docs/PAYMENTS.md) · [Security](https://github.com/mariagorskikh/open-instinct/blob/main/docs/SECURITY.md) · [FAQ](https://github.com/mariagorskikh/open-instinct/blob/main/docs/FAQ.md) · [Examples](https://github.com/mariagorskikh/open-instinct/blob/main/examples/README.md) · Research: [What Instinct is](https://github.com/mariagorskikh/open-instinct/blob/main/docs/research/INSTINCT.md), [Requirements](https://github.com/mariagorskikh/open-instinct/blob/main/docs/research/REQUIREMENTS.md), [Tech reference](https://github.com/mariagorskikh/open-instinct/blob/main/docs/research/TECH-REFERENCE.md)

Version 0.1. Nine packages, 725 tests, a scripted end-to-end smoke test, and a cold-start test from a fresh clone. Live iMessage and Maritime deployment were exercised against real identities during development; treat them as beta. Logins, 2FA and payments go to you through a desktop takeover or a Link approval, never to the model alone.

Merit Systems publishes an unrelated project called [OpenInstinct](https://github.com/Merit-Systems/OpenInstinct). This project is not affiliated with it or with Instinct.

[Contributing](https://github.com/mariagorskikh/open-instinct/blob/main/CONTRIBUTING.md) · MIT license
