engineering / agent

Pithagoras

A web front end for the pi coding agent with server-side runs, project folders, file and Git panels, a terminal and chat channels.

At a glance

Purpose
A web front end for the pi coding agent with server-side runs, project folders, file and Git panels, a terminal and chat channels.
Runs in
Web service
Operating systems
Not stated
Needs
Runtime: Docker Compose; Needs internet: Yes; Needs accounts or API keys beyond your agent: Not stated
Files and data
Reads files: Yes; Writes files: Yes; Sends data to other services: Yes
Tool type
Agent
Delivery
From GitHub
Version
Latest on the main branch
Access
Code on GitHub
Compatibility
According to the README: Docker Compose, with a Portainer stack and a run-from-source route described in its Deploying documentation. Model providers it names: a local llama.cpp or Ollama server, OpenRouter and Anthropic. The README lists MCP servers and skills, and channels for Telegram, Slack, Discord and webhooks. The README says browsers install the portal as an app only over HTTPS or on localhost. The README lists light and dark themes, English and German.
External costs
According to the README, you connect a model provider such as a local llama.cpp or Ollama server, OpenRouter or Anthropic, and you can set OPENROUTER_API_KEY or ANTHROPIC_API_KEY in .env. The README lists image generation and editing as opt-in features through an endpoint you choose. The README lists no prices. Your coding agent or model provider may charge for usage.
Permissions
The README says pi has no approval prompts and uses process permissions. The README identifies default host mode with direct /workspaces repository access. The README describes Docker-socket container mode with a project mount, dropped capabilities, no-new-privileges and resource caps. The README describes file edits, a terminal, Git branches and pull requests through gh, the agent's browser, background jobs and scheduled channel reports. The README says the agent's Home directory holds SOUL.md, PrimaryUser.md and MEMORY.md, and project instructions are saved as AGENTS.md. The README names Telegram, Slack, Discord and webhooks with roles, approvals and audit logging. The README says provider API credentials go to pi. The README requires PORTAL_PASSWORD or PORTAL_ALLOW_NO_PASSWORD=1 behind an authenticating proxy and advises keeping the portal on Tailscale/LAN rather than the public internet.
Usage terms
Apache License 2.0, as stated in the repository. See its LICENSE file for the exact terms. The README adds that the voice mode ships a voice activity model and a WebAssembly runtime from other projects, under their own licences, listed in THIRD_PARTY_NOTICES.md.
Interface
web

Code on GitHub

thecodacus/pithagoras

Apache-2.0

TypeScript280 stars80 forksLast pushed 13 Oct 2026 UTC

Pithagoras — hosted web UI for the pi coding agent. Give it a task, close the browser, come back when it's done.

Public GitHub data fetched · 0 days old

Skill folders in this repository (1)

Folders that contain a SKILL.md file, from GitHub's file list on .

View on GitHub ↗

What it does

Pithagoras is a web front end for the pi coding agent. According to the README, runs are owned by the server rather than your browser tab, and every event pi emits is appended to a log, so reconnecting replays what you missed and then continues live. The README says a run does not survive a portal restart, only a browser disconnect.

The README lists chats and project folders, panels for files, Git, a terminal, canvases, subagents and background jobs, provider setup, pi packages, MCP servers and skills, a voice mode, add-ons such as the agent's own browser, channels for Telegram, Slack, Discord and webhooks with roles, approvals and an audit log, and scheduled routines that report to a channel.

The README's quick start runs Pithagoras with Docker Compose. It describes a host mode, where pi runs inside the portal process, and a container mode, where each task gets its own container. It says pi has no approval prompts, that a password is required, and that the portal should stay on Tailscale or a LAN rather than the public internet.

Who it is for

People who want to use the pi coding agent through a web interface that they run themselves with Docker Compose.

Example tasks

Start the portal with Docker Compose and sign in with your portal password.
Add a model provider with the setup assistant under Settings, then Providers.
Give the agent a task, close the browser and read what it did when you reconnect.
Create a project folder with its own AGENTS.md instructions.
Set up a routine that runs on a schedule and reports to a channel.

Getting started

According to the README, you clone the repository, copy .env.example to .env, set PORTAL_PASSWORD, uncomment WORKSPACES_DIR with the folder your repos are in, then run docker compose up -d --build. You then open the portal on port 4100, sign in, and add a model provider with the setup assistant under Settings, then Providers. The README has the exact commands.

Limitations

The README's Docker Compose quick start requires copying .env.example to .env, setting PORTAL_PASSWORD to at least eight characters, and uncommenting WORKSPACES_DIR with the folder your repos are in. The README also points to its Deploying documentation for running from source and a Portainer stack. You add a model provider, for example a local llama.cpp or Ollama server, OpenRouter or Anthropic. The README says the container uses host networking and needs the Docker socket mount to install the Browser and Voice add-ons. It lists these limits: a run does not survive a portal restart, two sessions on the same workspace in host mode edit the same working tree, and a second portal on the same data directory refuses to start. It says pi has no approval prompts and that real isolation has to come from the OS or a container boundary. Browsers install the portal as an app only over HTTPS or on localhost. The repository can change at any time; check its README before you install.

Data practices

The README says the portal stores sessions and the full event log in SQLite, and that voice mode runs local speech-to-text and text-to-speech in a managed container. The README says image generation and editing go through an endpoint you choose. The README does not say what is sent to the model provider you configure; that depends on the provider. The README does not describe telemetry.

Community experience

Not rated yet

Sign in to share your experience.

Comments 0

No comments yet.

Sign in to comment

Report a listing concern