Bello AI Agent

by Makson179• 177•• Scanned•Claim this listing•Request removal
Coding Agentsagentic aiagentic workflowai agentsai codingautomation

3x more usage on your coding agent, same quality. Have an multi-agent setup in mind? Bello already supports it. Mix models, run agents in parallel, have them check each other’s work, and reduce unnecessary model calls and noisy tool output. Turn on only what you need.

Bello is an open-source ai agent by Makson179, written mainly in Python, with 177 GitHub stars and the MIT license. Its code was last updated Oct 20, 2026. The latest PyPI release is bello 0.8.1, published Nov 6, 2026, with 244 downloads last week.

<h1 align="center">Bello</h1> <p align="center"> <strong>Build a cheaper, more reliable, better coding team from the models you already have.</strong><br> Codex, Claude Code, OpenAI, Anthropic, OpenRouter, in any mix. Bello puts a supervisor, a reviewer, an adversary, and a local log distiller around the coder, each optional, each on its own model. In our tests, one of the configurations used 66% less Codex usage at the same quality. </p> <p align="center"> <a href="https://github.com/Makson179/Bello/actions/workflows/tests.yml"><img alt="Tests" src="https://github.com/Makson179/Bello/actions/workflows/tests.yml/badge.svg"></a> <a href="https://www.python.org/downloads/"><img alt="Python 3.11+" src="https://img.shields.io/badge/python-3.11%2B-3776AB?style=flat-square&logo=python&logoColor=white"></a> <a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-0F766E?style=flat-square"></a> </p> <p align="center"> <img src="./bello_pixel_intro.gif" alt="Bello pixel intro" width="100%"> </p>

Contents

TL;DR

Bello runs a coding task through a coder and four optional parts: a runtime supervisor, a completion reviewer, an adversary, and a local log distiller. The coder, the supervisor, the reviewer, and the adversary each have their own model and reasoning effort, from a Codex or Claude Code subscription or from an API provider. The four components can be enabled or disabled independently.

In our tests, the Efficient Budget configuration used 66.3% less of the weekly Codex limit than Raw GPT-5.6 Sol XHigh without lowering average quality, and its mean score was 1.45% higher. Sol Ultra C+A raised the mean score over Raw Codex by 26.4%. The log distiller cut API-equivalent cost by 22% on Astra and by 14.8% on Luna.

On NetHackers, Bello in Goal mode set the state of the art for the lawful human female Valkyrie. Against Codex Goal on the same model, Bello's best score was 42.18% higher, it reached Codex Goal's final best 4.39 times sooner, and it cost 9.59% less.

Install

Python 3.11 or newer, git, and macOS, Linux with the bubblewrap package, or native 64-bit Windows 11 or Server 2022/2025 with the one-time sandbox preparation from docs/windows.md.

pipx install bello
bello doctor

Then add the model sources you want, any one is enough:

  • Codex subscription: install the Codex CLI and run codex login.
  • Claude Code subscription: pipx install 'bello[claude]' --force, then bello runtime login claude-code. The extra bundles the official Agent SDK and its CLI.
  • API providers (OpenAI, Anthropic, OpenRouter, and other Pi providers): Node.js 22.19 or newer, bello runtime install once, then bello runtime login <provider>.
  • Log distiller: pipx install 'bello[log-distiller]' --force. The model (599 MB) downloads on the first run with the distiller on. With subscription Codex it also downloads a compatible Codex helper on Apple Silicon, Windows x86_64, and Linux x86_64 (glibc 2.35+); see docs/native-codex-selection.md.

bello doctor shows what is ready, and bello update updates Bello. To run Bello from inside your coding agent, add the plugin, which includes the configuration advisor. For Codex:

codex plugin marketplace add AlexeyKulaev/Bello-codex-marketplace --ref main
codex plugin add bello@bello-marketplace

The same plugin has a Claude Code manifest in plugins/bello.

Quick start

After installing the plugin, open your coding agent in the project that contains task.md. The full start can be a short conversation:

You: Do you see the Bello plugin?

Agent: Yes. I can inspect the task, recommend a configuration, and run it with Bello.

You: Please recommend the best balance of price and quality for completing task.md.

Agent: I recommend Configuration X for task.md. It offers the best balance of price, quality, and time for this task.

You: Thanks. Please run task.md with Configuration X and keep me updated on what is happening.

The agent shows the resolved configuration before launch. Bello then runs the task and writes .supervisor/FINAL_REPORT.md with the result, changed files, checks, and remaining risks.

You can also ask a stronger model to prepare an advisory PLAN.md, then have a less expensive Bello configuration execute it. The coder receives the plan as guidance, while completion review and adversarial testing remain independent.

https://github.com/user-attachments/assets/1a61ba61-444f-4347-b12b-e411d12c55c6

How Bello runs a task

The coder implements the task in a disposable workspace and runs its own checks. Bello then hands the final patch back to your project. Around the coder, four parts can be switched on or off independently.

  • Runtime supervisor. Follows the live run, judges risky commands before they run, redirects the coder when it drifts from the task, and can restart a failing run without losing the workspace. On by default.
  • Completion reviewer. Starts with a fresh context, compares the result and its evidence with the task, and returns the work when something is missing or unproven.
  • Adversary. Receives the finished result without the development history and tries to break it with edge cases, invalid input, and feature interactions. A separate check confirms its findings before they go back to the coder.
  • Log distiller. A ModernBERT model we fine-tuned, running locally, that shortens tool output before the coder and its subagents read it. Reviewers get the undistilled output.

Confirmed problems go back to the coder, and the number of review and adversary rounds is a setting. Roles can use different providers, including API providers such as OpenAI, Anthropic, and OpenRouter, and the coder, the reviewer, and the adversary can also delegate work to subagents with their own models. For example, when these models are available in your accounts:

RoleModel
CoderGPT-5.6 Sol
Coder subagents, three in parallelClaude Sonnet, GLM, GPT-5.6 Luna
Runtime supervisorGPT-5.6 Terra
Completion reviewerClaude Fable
AdversaryGPT-6 Astra
Log distillerModernBERT on your machine

You do not have to pick all of this by hand. The advisor in the Codex and Claude Code plugins reads the task and the repository and recommends one complete setup for the priority you name. Every setting is also in bello config.

Goal mode

For tasks with a measurable target, bello --task TASK.md --goal (or goal in bello config) keeps the run going until the completion reviewer accepts the original objectives. After each successful turn the coder continues toward the goal right away, and completion review starts only when the coder marks the work as ready. Completion review is always on in this mode, and completion returns are unlimited. The reviewer returns work only for a concrete unmet requirement, such as a score of 65/100 where 70/100 is required, and does not add requirements or block on polish. The coder keeps a short GOAL_MAP.md of what it tried, what happened and what is left to try.

Runtime supervision is on by default in Goal mode. Every 20 minutes it checks progress against GOAL_MAP.md and can send the coder a short suggestion, at most once every 30 minutes, which the coder is free to ignore. --no-goal-runtime (or goal-runtime in bello config) runs Goal without runtime model calls; as with --no-runtime, this also allows network access inside the sandbox. --goal-adversary-after-returns N starts the adversary after N completion returns, or as soon as the reviewer accepts, and completion review then continues until it accepts. Goal is off by default; see docs/runtime.md.

No Need For Context (NNC)

NNC compresses older conversation history into a summary while preserving the original task, instructions, and a recent tail of complete interactions. It works with Claude Code, native Codex and API providers, for the coder, the reviewer, the adversary and their subagents.

This lets agents continue long-running tasks without carrying the entire conversation into every subsequent request. NNC is off by default. When it is on, it summarizes at 244,800 input tokens and keeps a recent tail of about 24,800 tokens by default; both values are configurable with --context-threshold-tokens and --context-retain-tokens or in bello config. Whole turns and tool-call groups stay intact, so the tail can be somewhat larger, and the tail can be at most half the threshold. --context-retain-percent keeps the older percentage mode. See configuration and backend details.

<picture> <img src="./docs/assets/nnc-astra-xhigh-solar.png" alt="Astra XHigh on Solar, three attempts per setup. Raw versus NNC: observed passed-test fraction 58.88% versus 55.97%, API-equivalent cost $9.37 versus $8.13, solver time 31:20 versus 27:45. Partial evaluation included in observed pass fraction." width="100%"> </picture>

Mean observed test-pass fraction (partial evaluation included), historical API-equivalent cost, and solver time; three attempts per setup. Measurements and settings.

Results

Scores are ProgramBench completion scores unless a task has its own evaluator. Raw denotes the baseline without the Bello features being compared.

NetHack: state of the art, and Bello against Codex Goal

NetHackers is a benchmark where a bot plays NetHack on its own. A bot's score is its mean progression over 15 public dungeons, measured by character level and dungeon depth.

Bello in Goal mode, with Claude Opus 5.5 at max as the coder, set the state of the art for the lawful human female Valkyrie (val-hum-law-fem): 56.628% against the previous best of 56.600%.

To compare Bello with Codex's own goal mode, we gave both the same task: write a bot from an empty directory for the dwarf Valkyrie (val-dwa-law-fem), with GPT-6 Luna at high as the coder and 24 hours per run. Codex Goal ran stock Codex 0.161 with its built-in goal mode. Bello ran the same coder in Goal mode with runtime supervision (Luna at max, cheap triage on), completion review, one adversary pass after three completion returns, and Smart Execution.

<picture> <img src="./docs/assets/nethack-codex-goal.png" alt="NetHackers val-dwa-law-fem, bot written from scratch, GPT-6 Luna High, 24 hours per run. Codex Goal versus Bello Codex Goal: best progression 2.96% versus 4.21%, API-equivalent cost $6.78 versus $6.13, time to reach 2.96% 22:19 versus 5:05." width="100%"> </picture>

Bello's best bot reached 4.21% mean progression against 2.96% for Codex Goal, 42.18% higher. Bello reached Codex Goal's final best in 5:05 against 22:19, 4.39 times sooner, and went on to pass 4%, which Codex Goal did not reach. The whole Bello run, with every supervising role, cost $6.13 in API-equivalent terms against $6.78 for Codex Goal, 9.59% less.

Four models, raw and with Bello

Three ProgramBench tasks (Solar, Samtools, and Rumdl), four models, each run raw and through Bello: 24 runs in total. Sol ran at xhigh here.

<picture> <img src="./docs/assets/readme-model-comparison.png" alt="Mean ProgramBench score per model: Luna raw 32.75%, Bello 46.32%; Terra 31.75%, 41.24%; Sol 48.98%, 55.44%; Astra 59.70%, 65.68%" width="100%"> </picture>

Bello scored higher with every model. The gap is 13.6 points on Luna, 9.5 on Terra, 6.5 on Sol, and 6.0 on Astra. Solutions for all 24 runs.

Smart Execution: fewer model calls, lower cost

Smart Execution runs independent tool calls in parallel and delivers results as they become ready. It is on by default for new configurations; --no-async-tools or bello config turns it off. The agent can continue other necessary work while commands run; when it needs to wait, Bello handles the wait without repeated model calls to check progress. Unlike the log distiller, Smart Execution does not itself compress tool output.

We compared RAW with Smart Execution on Sonnet 5 and Astra, with three runs per model and setup, twelve in total. The table shows means; times cover the solver.

<picture> <img src="./docs/assets/readme-smart-execution.png" alt="Smart Execution versus RAW: API-equivalent cost falls 30.19% on Sonnet 5 and 31.61% on Astra; solution time falls 50.00% and 15.06%. Mean scores change from 43.98% to 42.37% and from 58.88% to 58.44%. Three runs per model and setup." width="100%"> </picture>
ModelAPI-equivalent cost, RAW → SESolution time, RAW → SEScore, RAW → SE
Sonnet 5$5.45 → $3.81 (−30.19%)42:26 → 21:13 (−50.00%)43.98% → 42.37% (−3.68%)
Astra$9.37 → $6.41 (−31.61%)31:20 → 26:37 (−15.06%)58.88% → 58.44% (−0.74%)

Both models cost less and finished sooner on average, with a small decrease in score. Every Smart Execution run cost less than every RAW run of the same model in this comparison.

Efficient Budget: less usage at the same quality

Efficient Budget uses GPT-5.6 Luna at xhigh for the coder, the completion reviewer, and the adversary, and Luna at high for runtime supervision with cheap triage on. It allows one completion return before one adversary pass. The baseline is Raw GPT-5.6 Sol XHigh.

Across four tasks with three runs per task and system, Budget used 5.27% of a weekly Codex limit against 15.63% for Raw, which is 66.3% less. Its mean score was 48.80% against 48.10%, 1.45% higher. Runs took longer: 1:49:44 on average against 28:27.

TaskRaw scoreBudget scoreChangeRaw weekly limitBudget weekly limitRaw timeBudget time
Revive40.990%45.530%+11.08%3.2757%1.0555%24:521:23:22
JSONSchema56.821%54.673%-3.78%3.0069%0.8138%23:341:20:43
LightningCSS60.750%60.302%-0.74%6.0281%2.2569%40:392:58:52
Miller33.839%34.684%+2.50%3.3190%1.1428%24:441:36:00
All 12 + 1248.100%48.797%+1.45%15.6297%5.2690%28:271:49:44

Scores and times are means over three runs; weekly limit is the sum.

<picture> <img src="./docs/assets/programbench-efficient-budget-quality-cost.png" alt="Efficient Budget quality and weekly limit use compared with Raw GPT-5.6 Sol XHigh" width="100%"> </picture>

Solutions and checksums. Per-run rows.

Sol Ultra C+A: higher quality for more time

With GPT-5.6 Sol at ultra, one completion review and one adversary pass raised the mean completion score on Solar, Samtools, and Rumdl from 53.53% to 67.67%, which is 26.41% higher than Raw Codex. Total time across the three tasks rose from 2:48:55 to 7:08:06.

TaskRaw completionC+A completionChangeRaw timeC+A time
Solar53.13%59.00%+11.05%00:32:3302:17:45
Samtools51.86%63.00%+21.48%00:36:1702:14:40
Rumdl55.60%81.00%+45.68%01:40:0502:35:41
Mean / total time53.53%67.67%+26.41%02:48:5507:08:06
<picture> <img src="./docs/assets/programbench-ca-performance.png" alt="C+A completion and runtime compared with Raw Codex" width="100%"> </picture>

Run-level scores and times. Solutions.

Runtime-only: supervision alone

With only the runtime supervisor on, Bello scored higher on three custom tasks built from long specifications with contradictions and late corrections, in about the same time as Raw Codex. Each task has its own evaluator on a 0 to 100 scale. On the shorter ProgramBench tasks (Solar, Samtools, and Rumdl) the average gain was about 2%.

TaskRaw scoreRuntime-only scoreChangeRaw timeRuntime-only time
Marl32.91%37.91%+15.19%00:58:4900:46:09
Slab81.08%85.69%+5.69%00:57:2601:04:11
Pinch89.25%98.00%+9.80%00:40:0900:43:34
<picture> <img src="./docs/assets/runtime-only-custom-task-results.png" alt="Runtime-only results on large tasks with contradictory specifications" width="100%"> </picture>

Task briefs, tests, and evaluator outputs.

Log distiller: less tool output for the coder

The distiller is a ModernBERT-base encoder with a small token-selection head, about 149 million parameters. In the coder pipeline, each tool call carries a short focus written by the coder, what it wants from the result, and the distiller uses that focus to decide which parts of the output to keep and which to drop. It keeps original text and writes no summary. It runs on your CPU, so logs stay on your machine and no paid model call is added. The task file, reads of instruction files such as README or AGENTS.md, and command help pass through unchanged.

We measured it on the JSON Schema task with the same coder model, with and without distillation, on a weaker model (GPT-5.6 Luna) and on a frontier model (GPT-6 Astra). API-equivalent cost fell with both, so the selector works for weak and strong coders alike.

<picture> <img src="./docs/assets/readme-distiller.png" alt="API-equivalent cost versus quality: each model's Raw cost is normalized to 100. Astra XHigh changes from cost 100 and score 62.22% to cost 77.98 and score 60.57%. Luna Max changes from cost 100 and score 56.75% to cost 85.22 and score 55.45%, including runtime." width="100%"> </picture>
CoderRuns per armAPI-equivalent costScore, off to onMean solution time, off to on
Astra XHigh, runtime off3-22.0%62.22% to 60.57%33:04 to 42:10
Luna Max, runtime on6-14.8%56.75% to 55.45%1:41:53 to 1:22:38

Luna's 14.8% includes the runtime supervisor's API-equivalent cost in the Bello arm. After subtracting the recorded runtime cost, the coder's API-equivalent cost was 25.3% lower. Scores were 1.3 to 1.7 points lower with the distiller on.

Model on Hugging Face. Solutions and checksums.

Results for the older 4C+A+2C schedule (four completion reviews before the adversary and two after) are archived in the 0.5.2 README.

Configuration

bello config                      # interactive editor, saves .supervisor/config.json
bello runtime models              # models and reasoning efforts your accounts can use
bello --task TASK.md --adversary  # run flags override the saved settings for one run

The editor covers the model and reasoning effort of each role, subagent pools and concurrency, review budgets, the four switches, Goal mode, Smart Execution, and No Need For Context. bello --help lists the run flags.

License

Bello is released under the MIT License. See LICENSE. The distiller model is distributed separately under Apache 2.0.

Contributions require signing the project CLA. A bot will prompt you on your first pull request, and you only sign once.

Bello alternatives

View more →

Similar ai agents in Coding Agents, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Bello (this page)
Makson179
177MITOct 20, 2026Scanned, no flagged issues
AutoGPT
Significant-Gravitas
188kNone foundNov 1, 2026Not scanned yet
Langchain
langchain-ai
149kMITNov 1, 2026Scanned, no flagged issues
Gemini CLI
google-gemini
109kApache-2.0Nov 1, 2026Scanned, no flagged issues
MetaGPT
FoundationAgents
71kMITJan 21, 2026Scanned, no flagged issues
Oh My Openagent
code-yeongyu
71kNone foundNov 1, 2026Not scanned yet