Skip to content

penso/polyphony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

313 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polyphony

Polyphony

Git-native AI orchestration engine. Turn repository events into orchestrated agent work, from issues, PRs, webhooks, or schedules.

CI Rust nightly-2025-11-30 Edition 2024 License: MIT

Install - Events - Agents - Web UI - Documentation - Development

Polyphony TUI


Polyphony connects your issue trackers to AI coding agents, runs them in isolated workspaces, and shows everything live in a terminal dashboard.

Inspired by OpenAI Symphony, Polyphony brings the same workflow-contract orchestration model to local repositories, but with multiple event sources and multiple agent backends.

Install

brew install penso/polyphony/polyphony

Or build from source:

cargo install --path crates/cli

Then run it inside any git repository:

polyphony

On first start, Polyphony creates a default config at ~/.config/polyphony/config.toml and seeds repo-local agent prompts in .polyphony/agents/.

Events

Polyphony listens for work events from multiple sources:

  • GitHub — issues and pull requests
  • GitLab — issues via GraphQL
  • Linear — issues via GraphQL
  • Beads — local Dolt-backed issue tracking

Agents

Plug in any combination of AI coding agents:

  • Claude — Anthropic's CLI agent
  • Codex — OpenAI's Codex CLI via app-server
  • Copilot — GitHub Copilot CLI
  • Pi — Warp's Pi agent via native RPC
  • OpenAI Chat — any OpenAI-compatible API (OpenRouter, Kimi, etc.)
  • ACP / ACPX — Agent Communication Protocol agents and bridges

Each agent gets its own workspace (worktree, directory, or clone), a shared workflow policy, retries with fallback chains, and budget-aware throttling.

Web UI

Polyphony includes a web interface that runs alongside the terminal dashboard. When daemon.listen_port is set, both the TUI and the web UI are available simultaneously:

  • SSR dashboard — server-rendered pages for inbox, runs, agents, tasks, and logs
  • GraphQL API — query and mutate runtime state, with an interactive playground at /graphql
  • WebSocket subscriptions — real-time state updates via GraphQL subscriptions at /graphql/ws
  • Jinja templates — HTML templates in crates/httpd/templates/, easy to customize
just httpd          # TUI + web UI on port 8080
just httpd 3000     # TUI + web UI on custom port
just httpd-only     # web UI only (no TUI), port 8080

Or configure daemon.listen_port in your workflow config to always enable the web UI.

Documentation

Full reference material lives in docs/:

Development

just format   # format code
just lint     # clippy + checks
just test     # run tests
just httpd    # run web UI on port 8080

License

MIT

About

Repo-native AI orchestration engine — connects issue trackers (GitHub, GitLab, Linear, webhooks) to coding agents (Claude, Codex, Copilot, Pi) with isolated workspaces and a live TUI.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors