FR

Orchestrate debates between AI agents.

Send a technical question to your local agents. Run a contradictory debate between two agents or an Ask request with several independent answers, then get a faithful comparative synthesis.

Get started

GitHub

npm

VS Code

$npm install -g palabre
palabre run
$ palabre codex-claude -s "Review CheckoutPanel.vue and suggest priority fixes" --files src/components/CheckoutPanel.vue -t 4
┌─ PALABRE CLI ───────────────────────────────────────────
Subject: Review CheckoutPanel.vue and suggest priority fixes
Agents: codex (implementer, cli) <-> claude (reviewer, cli)
Responses: 4 · Synthesis: claude
Context: 1 injected file
Options: early-stop on · pull-models off
└─────────────────────────────────────────────────────────
◆ codex · implementer · turn 1/4
────────────────────────────────────────────────────────────

The first priority is double-submit protection. In CheckoutPanel.vue, the payment button remains clickable while the request is pending, so a fast double click can trigger two transactions.

I would keep the UI patch small: an isSubmitting state, disabled while submitPayment() runs, and a finally block so the UI recovers after both success and failure.

◆ claude · reviewer · turn 2/4
────────────────────────────────────────────────────────────

I do not fully agree: disabling the button in the UI is not enough for payments. Browser retry, multiple tabs, or server latency can still create two valid requests.

The blind spot is idempotency. The component should send an idempotencyKey generated when the payment attempt starts, if the API supports it.

◆ codex · implementer · turn 3/4
────────────────────────────────────────────────────────────

Good objection. I would make the patch two-layered: UI guard to prevent double-click, then idempotencyKey passed to createPaymentIntent.

To prevent regression, I would add three tests: double-click, retry after network failure, and the same key reused while one attempt is pending.

◆ claude · reviewer · turn 4/4
────────────────────────────────────────────────────────────

Consensus with nuance: the UI guard is necessary, but not sufficient. The real protection comes from request-level idempotency.

The caveat: do not block the fix if the backend does not support this key yet. In that case, ship the UI guard with an explicit technical note.

◆ Final synthesis · claude · reviewer
────────────────────────────────────────────────────────────
Consensus
────────────────────────────────────────
  • Double-submit is the priority risk in CheckoutPanel.vue.
  • The UI lock reduces double-click risk, but does not cover every retry.
  • A request-level idempotencyKey is the robust protection if the API supports it.
Disagreements / uncertainties
────────────────────────────────────────
  • Does the backend already accept an idempotency key for payments?
  • If the API does not support it, should the UI guard ship alone or block release?
Suggested actions
────────────────────────────────────────
  1. Disable the button while payment is pending and add a local guard.
  2. Generate an idempotencyKey per payment attempt.
  3. Pass that key to createPaymentIntent if the API accepts it.
  4. Test double-click, network retry, and key reuse.
Conclusion
────────────────────────────────────────

The best fix combines immediate UI protection with payment-level idempotency. The debate avoids a false sense of safety limited to the browser.

Exported -> .palabre/checkout-panel-review.debate.md

Two conversation modes

Choose the format that fits your question.

    Debate

    Two agents answer each other turn after turn. The format is built to surface objections, pressure-test a decision, and produce a contradictory synthesis.

    Ask

    Several agents answer the same subject without reading each other. You compare independent angles before reading a faithful synthesis.

Compatible agents

Codex, Claude Code, OpenCode, Mistral Vibe, Antigravity, and Ollama can all participate in Palabre sessions.

Try without a big budget

Ollama runs locally. OpenCode, Vibe, Antigravity, and Codex can also be tested depending on each tool’s free accounts, credits, or quotas.

Local or already installed agents

Palabre does not add another account layer: it orchestrates the CLIs already present on your machine and respects their limits.

Claude Code through a plan

Claude Code uses the appropriate Claude access, notably Claude Pro or higher depending on your usage.

How it works

From subject to synthesis in a few steps.

    1. Define a subject

    Write your question, such as an architecture choice, refactoring strategy, or comparison of approaches, then choose the mode: debate between two agents or Ask with several independent answers.

    1. Agents get to work

    In Debate mode, Palabre orchestrates alternating turns. In Ask mode, each agent answers the same subject alone, without being influenced by the others.

    1. Get the synthesis

    Palabre produces a final synthesis, then exports a .debate.md or .ask.md file with responses, metadata, and conclusion.

Everything you need, nothing more

    Open source, native CLI

    Palabre is open source and directly invokes the CLIs installed on your machine, without adding a proprietary account layer or proxy.

    No authentication layer

    Each agent keeps its own authentication flow. If a CLI works in your terminal, it can work with Palabre.

    Configurable roles

    Assign roles to agents, such as implementer, reviewer, critic, architect, or scout, to shape a debate or compare Ask responses.

    Local models with Ollama

    Combine a cloud agent with a local model for more flexible and cost-conscious sessions. Ollama agents participate like Claude, Codex, or OpenCode.

    Context injection

    Pass source files with --files or --context. Agents reason using the real context of your codebase.

    Markdown export

    Each session produces a structured Markdown file: .debate.md for a debate, .ask.md for an Ask request.

Also available in VS Code

The Palabre-vscode extension brings debates, Ask responses, and Markdown exports directly into your editor.

    Integrated interface

    Start Palabre from VS Code, select your agents, and follow the session without leaving your workspace.

    Project context

    Add useful files from the editor, while the CLI keeps the same orchestration and export behavior.

Make your AI agents work together.

Install Palabre, choose Debate or Ask, and get an actionable synthesis in seconds.