PABLO
Docs
Documentation home

Getting started

  • What is PABLO?
  • Quickstart
  • Installation
  • Your first project
  • Your first task

Guides

  • Managing tasks
  • Dashboard
  • Analytics
  • Backups & restore
  • Troubleshooting

Concepts

  • How it works
  • Task states
  • Agents
  • Sync & rebase

Reference

  • Commands
  • Configuration
  • Providers
  • Storage

Contributing

  • Development

Guides

Dashboard

A local web page with the same picture as pablo task:list: what needs you, everything else, when the next poll happens and what the last sync did. It also has paste-ready Slack messages and token and cost analytics.

The PABLO dashboard listing tasks by state

Open it#

bash
pablo web                      # http://127.0.0.1:8321
pablo web --port 9000 --open   # another port, and open the browser

It runs on PHP's built-in web server: no Docker, nothing else to install. The installer keeps it running in the background as a service, even after a reboot; opt out with the installer's --without-web option (see Installation).

What you see#

Project filters
All, Work, Open-source, Personal: the project types from your configuration.
Waiting for feedback
Tasks that need you right now: in in-progress, ci-red, request-changes or testing-failed, with an agent waiting for you and none still working. Tasks waiting on reviewers (waiting-review), on QA (needs-testing) or on a merge (approved) never appear here: it isn't your move. When it's empty: “Nothing is waiting on you right now 🎉”.
Other tasks
Everything else, with the tracker status, the pull request and how long the task has been in its state.
Poller
A countdown to the next poll, and when each project was last polled.
Last sync
One card per project with what the last sync did to each branch: up to date, synced, conflict (with the files), and the command to open the conflict resolver's session if one was launched.

The task tables refresh every 30 seconds and the countdown every second, without reloading the page. Use the button in the header to switch between light, dark and your system's theme.

Start a task from the browser#

New task opens a form with two modes:

  • Issue link: paste an issue URL or a key such as PIM-123. No need to pick a project; PABLO finds it.
  • Prompt: pick a project and describe the work. The branch name comes from an AI summary of the prompt, so the button can spin for a little while.

It does exactly what pablo task:start does: worktree, task, task-analyst.

Change a task from the browser#

Each task row ends with buttons that open a confirmation dialog. Nothing changes until you click Confirm.

Force state
On every task. Pick the new state, and untick Run the state's triggers to only record it. Same as pablo task:state, with the same rules: no waiting from request-changes or testing-failed, no needs-testing when the project has no QA step.
Skip CI
Only on ci-red tasks. Ignores the failing checks and moves the task on to review, until the next /pablo-commit-and-pr. Same as pablo task:skip-ci.

The tables refresh as soon as the change is saved.

Slack messages#

Slack messages builds two ready-to-paste lists: your pull requests waiting for review, and the ones waiting for QA, each with a copy button. They're fetched from GitHub when you click, not when the page loads; Refresh fetches again.

Analytics#

The Analytics page charts the numbers pablo stats prints: tasks opened and closed per day, tokens and cache hit rate per agent, runtime, cost, and how long tasks sit in each state. Filter by period (7, 30, 90 days, all time) and by project type. See Analytics.

Guarantees#

  • Read-only until you confirm. Loading or refreshing the page never changes a task, a worktree, a pull request or a ticket. Only three buttons change something: Start task in the New task form, and Confirm in the Force state and Skip CI dialogs.
  • Local only. It always listens on 127.0.0.1 and that can't be changed: the page has no login and shows branch names, issue titles and pull request links.
  • Fast and quiet. The tables are built from what the background poller already saved, so a page load never calls GitHub or your tracker. Only the Slack messages, New task, Force state and Skip CI forms do, when you use them.
  • Works offline. Fonts, icons and scripts are all bundled; nothing is loaded from the internet.
PreviousManaging tasks NextAnalytics

Edit this page on GitHub

On this page

  • Open it
  • What you see
  • Start a task from the browser
  • Change a task from the browser
  • Slack messages
  • Analytics
  • Guarantees
PABLO

MIT licensed · made by Baptiste Leduc · GitHub · Docs