ppipodocs
Pipo/Docs
PIPO FOR EVERY OS

Pipo is an always-on workflow engine for your connected computer.

It keeps context over time, watches for the work that repeats, and acts through the tools you already use — while your authority stays in the loop.

START HERE

Before you deploy Pipo

Pipo is not a tab-bound chatbot. It is a persistent system with a brain, a computer control surface, and workflows that can keep running after you close the window.

01 / GET READY

Installation

Pipo runs as a Bun daemon or a Docker container. The dashboard listens on http://localhost:1846 by default. Choose Docker for the fastest cross-platform start, Bun for a native development install, or a source checkout when you want to build and extend Pipo.

Docker / recommended
docker run -d --name pipo \ -p 1846:1846 \ -v pipo-data:/data \ ghcr.io/Motius/pipo:latest # after the container is healthy, enroll a computer docker exec -it pipo pipo enroll "my-desktop"
Bun packagebun install -g @pipo/brain, then pipo start. The first run opens guided setup.
Source checkoutgit clone https://github.com/Motius/pipo.git, bun install, bun run build:ui, then bun link.
Data volumeKeep /data persistent. It contains the local database, configuration, logs, and encrypted runtime state.

Docker can run on Windows, macOS, and Linux. The container cannot see the host desktop by itself; install a connected sidecar on each computer that Pipo should control.

02 / FIRST RUN

Quick start

  1. Install the Pipo runtime.Run the installer for your operating system and sign in to the workspace you want this computer to serve.
  2. Enroll your computer.Name the machine, select its workspace, and confirm the sidecar connection.
  3. Set the boundary.Allow reading first. Require approval for sending, editing, and anything that changes external state.
  4. Ask for a repeat.“After every meeting, draft the follow-up for me to approve.” Pipo turns the outcome into a workflow draft.
03 / CHECK FIRST

Requirements

Prepare the runtime before you connect real accounts. Pipo needs a supported runtime, a writable data location, and at least one model route.

Runtime
Bun 1.0 or newer for native installs, or Docker Desktop / Docker Engine for container installs.
Operating system
macOS, Linux, or WSL2 for the Bun daemon; Docker is the Windows deployment path. The Windows sidecar remains supported. Desktop automation permissions vary by operating system; the dashboard and workflow engine remain usable without a sidecar.
Model route
Configure a hosted provider or a local Ollama endpoint in Settings. A model is required for conversational judgement and workflow composition.
Network
Port 1846 must be available locally. A remote brain must be reachable by the sidecar over its configured HTTP or HTTPS origin.
04 / FIRST SUCCESS

Make the first run useful

The fastest way to understand Pipo is to complete one small, reversible workflow. Do not begin by granting every permission or connecting every account. Start with a read-only task, confirm the context, then add one approval step.

  1. Open the dashboard.Visit http://localhost:1846 after pipo start or the Docker container is healthy. If the page does not load, run pipo status and confirm that port 1846 is free.
  2. Complete setup.Choose a model provider, set your voice preference if needed, and answer the short profile questions. These choices shape how Pipo interprets goals and communicates uncertainty.
  3. Connect one source.Choose the notes, files, browser session, or application that contains the context for your first task. Keep the source list narrow so the result is easy to inspect.
  4. Run a read-only request.Try: “Read today’s meeting notes and prepare three follow-up actions. Do not send anything.” Confirm that Pipo cites the source and keeps the output in review.
  5. Add one approval gate.Only after the draft is correct should you allow a consequential step. Keep sending, deleting, account changes, and public publishing behind Ask or Block rules.
A good first workflow has a small blast radius.

Prefer drafting, summarizing, classifying, or preparing a file over sending a message or changing a production system. You are learning the boundary as much as the feature.

05 / MAKE IT YOURS

Configuration

Pipo’s configuration is designed around intent rather than plumbing. Set a goal, connect sources, choose an authority level, and keep the workflow inspectable.

Workspace
The shared context, goals, and workflows Pipo can use.
Desktop sidecar
The local bridge to approved desktop, browser, terminal, file, and screenshot actions.
Authority
The rules that allow, ask, or block each class of action.
Memory
The durable context Pipo can use to make future runs more relevant.
04 / WHERE IT RUNS

Platform support

Pipo is designed around a persistent daemon and local sidecars. The dashboard works in any modern browser, while connected sidecars run across macOS, Windows, and Linux.

DaemonRuns locally, in Docker, or on an approved host that meets the Bun or Docker requirements.
Desktop sidecarNative companion for macOS, Windows, and Linux. Connects over an authenticated channel.
Browser dashboardWorks on macOS, Windows, Linux, and mobile browsers as the cross-platform control plane.
Other sidecarsLinux and Windows sidecars can be added when your workspace needs another machine.
05 / UNDER THE HOOD

High-level architecture

Pipo has three layers: a daemon, a dashboard, and sidecars connected to the machines where work happens.

01DaemonGoals · memory · judgement
↕
02DashboardWorkflows · authority · logs
↕
03desktop sidecarApps · browser · terminal
06 / THE BRAIN

Daemon

The daemon is the always-on layer that keeps Pipo useful after the prompt is gone. It owns the durable context and coordinates judgement with programmed execution.

Context & memory
Conversation history, workspace context, goals, preferences, and approved memory entries.
Workflow engine
Triggers, schedules, deterministic steps, retries, run history, and versioned workflow definitions.
Judgement loop
AI reasoning inside a bounded step, with the inputs and output contract visible to you.
Authority engine
Runtime checks that allow, ask, or block an action before it crosses into an external system.
Realtime transport
Secure connections for dashboard updates, sidecar health, workflow events, and approval prompts.
07 / CONTROL SURFACE

Dashboard

The dashboard is the full control plane for Pipo. It keeps the ambient feel of a desktop utility while giving you a clear place to inspect what happened and what happens next.

HomeWorkflowsMemoryToolsAgentsAuthorityLogsCalendarGoalsTasksWorkspacesUsageSettings
08 / THE REPEAT

Workflows

A workflow has a trigger, programmed steps, AI judgement where it is useful, and approval points where you want to remain the decision-maker.

TRIGGERA meeting ends
PROGRAMMEDRead the notes
AI JUDGEMENTDraft the follow-up
YOUR APPROVALReview before sending
PROGRAMMEDSend through Gmail
Test modeRuns the workflow with external side effects disabled so you can inspect inputs and outputs.
VersionsEvery enabled change is versioned, so you can compare or roll back a workflow definition.
Run historyEach run records its trigger, steps, judgement, approvals, and final outcome.
09 / PRODUCT SURFACE

Core capabilities

Pipo’s product areas are designed to work together. A goal informs a workflow; memory gives it context; authority decides how far it can go.

ConversationStreaming answers with tool use and workspace context.
Persistent memoryCapture durable facts and preferences with a reviewable memory vault.
Browser & desktop controlRead pages, fill fields, and work in approved desktop applications.
VoiceUse voice input and realtime spoken output for hands-free moments.
Goals & accountabilityConnect recurring work to outcomes your team has chosen.
Delegated agentsAsk specialist agents to research or prepare work under your authority rules.
WorkspacesBuild and operate projects from a shared context instead of isolated chats.
Usage & logsUnderstand activity, tokens, workflow runs, and authority events.
11 / THE SIMPLE MODEL

How to think about Pipo

Pipo is easier to operate when you separate four ideas that are often mixed together in AI products. Each one answers a different question about a run.

Brain
The daemon stores context, routes model requests, coordinates workflows, and keeps the system available. It can run locally, in Docker, or on an approved Linux host that meets the runtime requirements.
Hands
A sidecar runs on the computer that has the browser, files, screen, microphone, or native application a task needs. A remote brain cannot control a disconnected computer.
Recipe
A workflow defines the trigger, inputs, programmed steps, AI judgement, approvals, retries, and final output. It is the repeatable part of the system.
Boundary
Authority rules decide whether an action is allowed, requires your approval, or is blocked. The boundary is checked at runtime, not only when a workflow is created.
AssistantAnswers a request in the moment. Useful for exploration, but it may not remember a reliable process.
AgentCan choose tools and perform multiple steps. It needs a clear scope, observation, and an exit condition.
WorkflowTurns a repeated process into an inspectable system with predictable steps and deliberate judgement.
10 / YOUR BOUNDARY

Authority & safety

Authority is not a setting you configure once and forget. It is the runtime boundary every workflow encounters before it can make a meaningful change.

ALLOWRead connected sourcesLet context flow into the workflow.
ASKSend an emailPause and show the exact draft first.
BLOCKDelete dataKeep destructive actions unavailable.
11 / CROSS-PLATFORM

Cross-platform setup

Keep the daemon hosted and use your connected computer as a deliberate sidecar. That gives Pipo a persistent brain without turning every app on your laptop into an open door.

12 / CROSS-PLATFORM

Desktop sidecar

The connected sidecar is the local companion that lets Pipo operate on this computer. It authenticates to the daemon and exposes only the capabilities you choose.

  • Desktop automation for approved applications
  • Browser control for reading pages and filling fields
  • Terminal access with explicit workspace scope
  • Filesystem and clipboard access under your rules
  • Screenshots and awareness capture when enabled
13 / TERMINAL

CLI commands

pipo statusShow daemon, workspace, sidecar, and authority status.
pipo enroll "desktop-name"Mint an enrollment token for a sidecar device.
pipo sidecars list --jsonList enrolled sidecar devices.
pipo doctorCheck the runtime environment and connectivity.
pipo logs -fStream recent workflow and authority events.
19 / LOCAL-FIRST

Local models with Ollama

Pipo can route judgement to a local Ollama service when you want to keep model inference on your own machine or network. Self-hosting the daemon does not automatically make every provider local, so check each connection separately.

Ollama / example
ollama serve ollama pull llama3.1 # In Pipo Settings, choose Ollama and set: # http://127.0.0.1:11434
  • If Pipo runs in Docker, localhost points inside the container. Use a reachable host address or container network name instead.
  • Keep the local model endpoint private; do not expose it to the public internet without authentication and a deliberate network policy.
  • Local inference can reduce provider egress but may require more memory, slower responses, or a smaller model.
20 / KEEP IT RUNNING

Operations

Once the first workflow works, make the runtime boring: persist data, keep the port stable, watch logs, and define how Pipo starts after a reboot.

Daily operations
pipo status # daemon, port, sidecars, provider pipo logs -f # follow the active log pipo doctor # inspect environment and connectivity pipo restart # restart after setup or configuration
AutostartUse pipo autostart on Linux or macOS to install a user service. On Docker, use Docker’s restart policy and keep the data volume attached.
BackupsBack up the Pipo data directory or Docker volume before upgrades. Test restoring a copy before relying on it for business-critical workflows.
Remote deploymentFor a remote Linux host or home server, place HTTPS in front of port 1846, configure the public brain origin, and enroll each sidecar separately.

Never publish an unauthenticated dashboard to the internet. Start on localhost, enroll devices, then add a protected reverse proxy only after the local flow is understood.

17 / OPERATE WITH CONFIDENCE

Logs, health, and recovery

When a run feels slow or stops, start with evidence instead of changing several settings at once. Pipo exposes the daemon state, sidecar connection, provider route, workflow event, and authority decision separately.

Health and logs
pipo status # process, port, sidecars, provider pipo doctor # environment and connectivity checks pipo logs -f # follow live daemon output # Docker alternative docker logs -f pipo
Start with status +

Confirm that the daemon is running, that it is listening on port 1846, and that the expected workspace and sidecar are connected. If the daemon is stopped, check the first error in the startup output before restarting repeatedly.

Then check the provider route +

A reachable dashboard does not prove that a model provider is configured. Check the selected provider, model name, endpoint URL, and whether a Docker container can reach a service that is running on the host.

Then inspect the authority event +

If a workflow pauses, that may be a deliberate Ask boundary. Read the exact proposed action, approve or edit it, and only widen the rule when the workflow is understood.

Keep logs free of secrets. Pipo redacts common credentials, but you should still avoid copying tokens, private messages, or sensitive screenshots into public issue reports.

18 / GROW CAREFULLY

Scaling safely

Start by adding capability to one authoritative daemon and multiple sidecars. Do not run two daemons against the same local data directory. When the workload grows, separate execution capacity and durable state deliberately.

Stage one / one brainAdd sidecars, workflow pieces, provider routes, backups, and audit logs before adding replicas. This keeps state and authority decisions easy to reason about.
Stage two / isolate workGive long-running workflows dedicated capacity, explicit timeouts, bounded retries, provider rate limits, and idempotency keys for every external side effect.
Stage three / externalize stateMove database and object storage to managed services before horizontal replication. Document migration, encryption, retention, restore, and disaster recovery.
  • Back up the Pipo data directory or Docker volume before upgrades.
  • Test restores in an isolated environment, not against the live workspace.
  • Keep email, payments, deletion, account changes, and public publishing behind approval gates.
  • Use canary releases and a known-good rollback version for both daemon and sidecar.
21 / WHEN SOMETHING FEELS OFF

Troubleshooting

The sidecar is offline +

Open Pipo from your system tray or app launcher, confirm the workspace name, confirm that the sidecar application is running, and use pipo enroll "device-name" when the device needs a new enrollment token. If the operating system paused a permission, revisit its privacy and security settings.

A workflow stopped for approval +

That is expected when the next step crosses an Ask boundary. Review the draft in the dashboard and approve it, edit the authority rule, or leave it paused.

Pipo used the wrong context +

Check the workflow’s connected sources and Memory entries. Tighten the input list before raising the workflow’s autonomy.

A run is repeating unexpectedly +

Open the workflow’s run history and inspect the trigger event. Use test mode, add an idempotency guard, or pause the workflow before reconnecting the source.

22 / START WITH A ROUTINE

Useful first workflows

Choose a routine that happens often, has a clear input, and can be reviewed before it changes the outside world. These examples show the level of specificity that makes a workflow dependable.

01 / MEETINGSFollow-up draftsTrigger when a meeting ends. Read approved notes. Draft actions and owners. Ask before sending the final message.↗
02 / RESEARCHBrief while you workGive Pipo a question and source boundaries. Let it research in the background. Review citations and the summary before sharing.↗
03 / OPERATIONSInbox triageClassify incoming mail, extract the next action, draft a reply, and pause before sending or changing a calendar.↗
GOOD PROMPT“Prepare the draft; do not send.”
GOOD INPUTNamed sources, time range, desired output
GOOD BOUNDARYRead and draft allowed; send requires approval
GOOD EXITStop when the draft and evidence are ready
23 / TRUST

Privacy & data

Pipo’s usefulness depends on context, so every connected source should have a reason to exist. Keep data access narrow, review what is stored, and remove a connection when the workflow no longer needs it.

Connected sourcesOnly sources you explicitly connect are available to the workspace. A workflow receives the inputs declared in its steps.
Desktop captureScreen, clipboard, files, and app activity are off until you grant the relevant system permission and enable the capability.
Memory controlsReview, edit, or delete saved context. Do not store secrets, credentials, or data you would not want in a durable workspace.
Audit trailWorkflow runs and authority decisions are recorded so you can understand what Pipo saw and why it paused.
24 / READ CAREFULLY

Disclaimer & liability

Pipo can act in connected applications and on your connected computer. Review permissions, workflow definitions, generated outputs, and approval prompts before relying on them for business-critical work.

You are responsible for the boundary.

Do not give Pipo unrestricted access to accounts, files, or systems. Start in test mode, use least-privilege permissions, keep destructive actions blocked, and maintain backups for important data.

This documentation describes the intended product model, not legal, security, financial, or operational advice. Your workspace owner and your organization’s policies determine what you may connect and automate.

READY WHEN YOU ARE

Turn one repeat into a system.

Choose your Pipo plan ↗