Skip to content
digiogithubPublic

About

A powerful AI coding agent. Built for the terminal. DIGIO Alchemai Project

Topics

Resources

Stars

25 stars

Watchers

2 watching

Forks

 
 

Latest commit

 

History

791 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

木 Pando

Fork of OpenCode by Kujtim Hoxha. Maintained by José F. Rives.

Pando

A powerful terminal-based AI assistant for developers, providing intelligent coding assistance directly in your terminal.

Overview

Pando is a Go-based CLI application that brings AI assistance to your terminal. It provides a TUI (Terminal User Interface), PWA WebUI and desktop application for interacting with various AI models to help with coding tasks, debugging, and more.

Pando TUI Pando WebUI desktop

Features

  • Terminal UI — interactive TUI built with Bubble Tea, with a vim-like editor, file tree and terminal.
  • Web UI and desktop app — PWA Web UI embedded in the binary, also packaged as a native Wails desktop app. More
  • Many AI providers — GitHub Copilot, OpenAI, Anthropic, Gemini, AWS Bedrock, Groq, Azure OpenAI, Ollama, llama.cpp, OpenRouter and any OpenAI-compatible endpoint.
  • Editor integration (ACP) — use Pando inside Zed, VS Code or JetBrains IDEs. More
  • Host command sandbox — agent commands confined with OS-native mechanisms, on by default. More
  • Token reduction — output compression filters for noisy commands and opt-in /caveman brevity. More
  • Workflow modes — /superpowers, /learning, /goal and more slash commands, plus your own custom commands. More
  • Language servers on demand — 45 LSP presets started and installed only when needed. More
  • Knowledge Base — document conversion and [[wiki links]] for persistent project knowledge. More
  • Subagent delegation — orchestrated subagents, warm instance reuse and a durable event log. More
  • MCP client and server — connect authenticated MCP servers, or expose Pando as one. More
  • Desktop Controller — opt-in accessibility-tree UI automation. More
  • AG-UI — drive Pando from CopilotKit and other Generative-UI frontends. More
  • Decision model — one small local model (Ollama tev1:0.8b) shared by model auto mode, persona auto-select and an opt-in relevance filter for injected context. More
  • Agent self-service — pando_setup lets the agent inspect its own configuration and models. More
  • LLM proxy and multi-instance IPC — route LLM requests through Pando; running instances discover and talk to each other.
  • Extensions — compile-time extensions, Lua hooks and prompt templates. More

Installation

Linux and macOS:

curl -fsSL https://raw.githubusercontent.com/digiogithub/pando/main/scripts/install.sh | bash

Windows (PowerShell):

iex (irm https://raw.githubusercontent.com/digiogithub/pando/main/scripts/install-windows.ps1)

Or download a binary from the latest release: .pkg for macOS, .zip for Linux and Windows.

Go install, building from source and extension builds: see docs/installation.md.

Quick start

pando          # terminal UI
pando app      # Web UI in the desktop window
pando acp      # ACP server for editors
pando -p "Explain the use of context in Go"   # one-shot prompt

More commands in docs/usage.md.

Documentation

Topic Guide
Installation and building installation.md
Configuration files and environment variables configuration.md
Command-line usage usage.md
Web UI and remote access webui.md
Editor integration (ACP) acp.md
Slash and custom commands slash-commands.md
Language servers lsp.md
Knowledge Base knowledge-base.md
Subagent delegation delegation.md
Host command sandbox sandbox.md · coverage
Output compression filters output-filters.md
MCP server authentication mcp-authentication.md
Model pricing and capabilities model-catalog.md
Decision model (shared provider and relevance filter) decision-model.md
Model auto mode (per-prompt routing) model-auto-mode.md
Remote diagnostics (telemetry) telemetry.md
AG-UI / CopilotKit agui.md
Desktop Controller desktop-controller.md
Agent self-service (pando_setup) pando-setup.md
Prompt templates and Lua hooks prompt-templates.md · lua-hooks-prompts.md
Extensions mechanisms · authoring · builds · frontend · memory
Architecture architecture.md
Release pipeline release-pipeline.md

Acknowledgments

Pando is a fork of OpenCode, originally created by Kujtim Hoxha.

Special thanks to:

License

Pando is licensed under the MIT License. See the LICENSE file for details.

Tasks

tag

Genera una nueva tag

interactive:true

git tag --sort=creatordate | tail -n 5
git tag $(gum input)
git push origin --tags

build-webui

Compiles the webui

# Build embedded web-ui assets
cd web-ui && bun install && bun run build:embedded && cd ..

build-desktop

Compiles the desktop wails wrapper

make desktop-build
make desktop-embed

build

Compiles the binary

requires: build-webui, build-desktop

export PANDO_BETTERSTACK_TOKEN=$(kvage get pando_betterstack_token)

# Get version from last git tag
VERSION=$(git describe --tags 2>/dev/null || echo "dev")
#go build -ldflags "-X github.com/digiogithub/pando/internal/version.Version=$VERSION" -o pando .
make build
rm -f *.log

build-and-copy

Compile the working binary and copy to the binary path ~/bin/.

requires: build

rm -f ~/bin/pando
upx -1 pando
cp pando ~/bin/pando
rm -f *.upx

release

Note: these two tasks are the manual/local path. Pushing a v* tag runs the whole thing on GitHub Actions — Linux x64/arm64, Windows x64, and the signed + notarized macOS .zip, .app and .pkg artifacts — and publishes a release with the changes since the previous tag. See docs/release-pipeline.md.

Compiles the binaries for the different platforms (Linux x64, Windows x64, macOS aarch64) and zip them into dist/.

interactive:true

export PANDO_BETTERSTACK_TOKEN=$(kvage get pando_betterstack_token)
# Create dist folder
mkdir -p dist
rm dist/*.zip

# Build embedded web-ui assets
cd web-ui && bun install && bun run build:embedded && cd ..

# Get version from last git tag
VERSION=$(git describe --tags 2>/dev/null || echo "dev")

# Linux x64
make release-linux-amd64
# Linux arm64
make release-linux-arm64

# Windows x64
make release-windows-amd64

# macOS aarch64
make release-darwin-arm64
# macOS x64
make release-darwin-amd64

echo "Run in osx terminal the command:"
echo "    cd ~/www/MCP/Pando/pando && xc release-osx"
echo
bash -c 'read -n 1 -s -r -p "When the command finish, press any key to continue..."'
echo


scp mac-mini-de-digio:~/www/MCP/Pando/pando/dist/*.zip dist/

echo "Release builds completed in dist/"

release-osx

Builds and notarizes the macOS artifacts: the embedded desktop wrapper (so pando desktop from a standalone binary is not killed by Gatekeeper), the loose CLI zips (pando-darwin-<arch>.zip, submit-only), the Pando-<arch>.app bundles (notarized + stapled) and the .pkg installers (notarized + stapled).

Notarization submits several artifacts to Apple with --wait, so this task can take 10–30 min. Requires network access and the pando-notary keychain profile.

interactive:true

export PATH=$PATH:/usr/local/bin:~/.bun/bin:/opt/homebrew/bin/:~/go/bin
cd ~/www/MCP/Pando/pando

git pull origin main
git fetch origin --tags
rm -rf dist
mkdir -p dist

# Signing identities, keychain path/password and NOTARY_PROFILE.
eval "$(cat ~/DIGIO_Software_Signing_Keys/kvagerc)"
NOTARYTOOL_STORE_CREDENTIALS=1 bash scripts/setup-macos-signing-keychain

# Ensure notarization env is exported BEFORE `xc build` so `make desktop-embed`
# notarizes the embedded wails wrapper. Defaults match the signing scripts.
export NOTARY_PROFILE="${NOTARY_PROFILE:-pando-notary}"
export MACOS_SIGN_KEYCHAIN_PATH="${MACOS_SIGN_KEYCHAIN_PATH:-$HOME/Library/Keychains/pando-build-db}"

# xc build -> build-desktop -> make desktop-embed: signs AND notarizes the
# embedded desktop wrapper (skipped non-fatally if the notary env is missing).
xc build

# Signs the loose CLI binaries with the hardened runtime (codesign-macos).
make release-darwin-arm64
make release-darwin-amd64

# Notarizes the CLI zips (submit-only) and builds + notarizes + staples the
# .app bundles and .pkg installers.
bash scripts/build-macos-app

# Verify notarization stapling on the distributable bundles/installers.
echo "== Verifying notarization staples =="
for f in dist/Pando-arm64.app dist/Pando-x64.app dist/*.pkg; do
    [ -e "$f" ] && { echo "-- $f"; xcrun stapler validate "$f" || echo "  NOT stapled: $f"; }
done

echo "Release builds completed in dist/"

About

A powerful AI coding agent. Built for the terminal. DIGIO Alchemai Project

Topics

Resources

Stars

25 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages