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.
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.
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.
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.
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.
- 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.
- 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?
- Disable the button while payment is pending and add a local guard.
- Generate an idempotencyKey per payment attempt.
- Pass that key to createPaymentIntent if the API accepts it.
- Test double-click, network retry, and key reuse.
The best fix combines immediate UI protection with payment-level idempotency. The debate avoids a false sense of safety limited to the browser.
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.
Ollama runs locally. OpenCode, Vibe, Antigravity, and Codex can also be tested depending on each tool’s free accounts, credits, or quotas.
Palabre does not add another account layer: it orchestrates the CLIs already present on your machine and respects their limits.
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.
- Define a subject
- Agents get to work
- Get the synthesis
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.
In Debate mode, Palabre orchestrates alternating turns. In Ask mode, each agent answers the same subject alone, without being influenced by the others.
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.