This is an early release preview. You may encounter bugs.
Pi Go logo
Unclaimed

Tool coding interface

Pi Go

Go implementation of AI coding agent

B 79/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
No votes yet

01 / About

What Pi Go is.

Pi Go is a terminal coding agent written in Go and built on Google ADK Go. It ships as a single binary with an interactive terminal interface, connects to several model providers, and confines every file and shell tool to the project directory through Go's os.Root.

A model is chosen by name and its provider is inferred from the prefix, so --model is usually the only routing needed; named roles — default, smol, slow, plan, and commit — map role to model and are selectable by flag. A name with no recognized prefix is rejected rather than guessed at. Base URLs can be set per provider by flag, environment variable, or configuration file, in that order of precedence, which covers self-hosted and OpenAI-compatible endpoints.

Sessions persist as append-only JSONL event logs supporting branching, compaction, and resume. Alongside the interactive mode, the agent prints plain text or JSON for scripted use, serves JSON-RPC 2.0 over a Unix socket, and runs as an Agent Client Protocol server for editors such as Zed.

The Memory Palace gives the agent persistent awareness across sessions in four layers: a static identity file, the top drawers by importance injected into the system prompt, context-filtered recall, and semantic or FTS5 keyword search. It is backed by SQLite with all-MiniLM-L6-v2 embeddings and a temporal knowledge graph, populated by miners that ingest source files and conversation logs, and configured per project through a mempalace.yaml that maps rooms to path patterns and keywords.

Features

  • Multi-provider models: Claude, GPT and O-series, Gemini, Mistral, Grok, Azure OpenAI, OpenRouter, OpenCode, and Ollama, local or cloud, each keyed by its own environment variable
  • Sandboxed tools: read, write, edit, shell, grep, find, tree, and git operations, all restricted to the project root
  • Memory Palace: four-layer contextual memory over SQLite with semantic embeddings, a temporal knowledge graph, and project and conversation miners
  • Subagents: process-based orchestration with explore, plan, designer, reviewer, task, and quick_task types
  • Language servers: a JSON-RPC client for Go, TypeScript and JavaScript, Python, and Rust, with auto-format and diagnostics hooks
  • Session branching: append-only JSONL logs with branching, compaction, and resume
  • Extensions: shell hooks on tool events, .SKILL.md skills, and Model Context Protocol servers over HTTP or stdio
  • Skills audit: pi audit scans skill files for hidden Unicode, BiDi overrides, and variation-selector attacks, and blocks critical findings at load time
  • Release verification: pi verify resolves a binary's SHA-256 through GitHub's attestations API and checks Sigstore bundles against the public-good trust root, rejecting signatures from any other workflow, branch, or repository
  • Editor integration: a Unix-socket JSON-RPC 2.0 server and an ACP server usable from any ACP-capable IDE
  • Git assistance: repository overview, file diffs, hunk parsing, and generated conventional commits through /commit
  • Ollama tuning: opt-in environment variables for num_predict and the repetition-penalty window, aimed at models prone to repetition collapse

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

03 / Build

Build with Pi Go.

Browse the catalogue for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Pi Go →

Browse the catalogue