Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
651d1d03c0 | ||
|
|
20e8537d1a |
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
Bantam is a minimalist, dependency-free AI agent specification with reference implementations in **Python** (`bantam.py`, ~300 SLOC), **Go** (`main.go` + `term_*.go`, module `code.luxferre.top/luxferre/bantam`), and **Perl 5** (`bantam.pl`, ~300 SLOC). It provides an agentic loop capable of autonomous tool execution, shell interaction, real-time response streaming, Fibonacci backoff network resilience, and subagent delegation using any OpenAI-compatible completions API.
|
Bantam is a minimalist, dependency-free AI agent specification with reference implementations in **Python** (`bantam.py`, ~280 SLOC), **Go** (`main.go` + `term_*.go`, module `code.luxferre.top/luxferre/bantam`), and **Perl 5** (`bantam.pl`, ~360 SLOC). It provides an agentic loop capable of autonomous tool execution, shell interaction, real-time response streaming, Fibonacci backoff network resilience, and subagent delegation using any OpenAI-compatible completions API.
|
||||||
|
|
||||||
The entire philosophy of Bantam is built upon two principles:
|
The entire philosophy of Bantam is built upon two principles:
|
||||||
|
|
||||||
@@ -175,6 +175,12 @@ Same philosophy as the Pi agent: there's nothing a simple chroot environment can
|
|||||||
|
|
||||||
You can pair Bantam with the [Dynagate](https://code.luxferre.top/luxferre/dynagate) LLM gateway to achieve all that.
|
You can pair Bantam with the [Dynagate](https://code.luxferre.top/luxferre/dynagate) LLM gateway to achieve all that.
|
||||||
|
|
||||||
|
### How to run on mobiles?
|
||||||
|
|
||||||
|
On Android, any current Bantam implementation is easily runnable within the Termux environment. Go implementation is preferred for performance reasons.
|
||||||
|
|
||||||
|
On iOS/iPadOS, the easiest way to use Bantam is to run the Perl version inside iSH. Some terminal features may not be available, but the agent itself is fully functional.
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
Created by Luxferre in 2026, released into the public domain with no warranties.
|
Created by Luxferre in 2026, released into the public domain with no warranties.
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ sub col {
|
|||||||
sub get_cfg {
|
sub get_cfg {
|
||||||
my ($path) = @_;
|
my ($path) = @_;
|
||||||
$path //= 'model.cfg';
|
$path //= 'model.cfg';
|
||||||
my %d = (endpoint => 'https://opencode.ai/zen/v1', model => 'deepseek-v4-flash-free', temperature => '0.7', api_key => '-', timeout => '300', shell_timeout => '120', max_al_iterations => '1000', stream => 'true', color => 'auto');
|
my %d = (endpoint => 'https://opencode.ai/zen/v1', model => 'big-pickle', temperature => '0.7', api_key => '-', timeout => '300', shell_timeout => '120', max_al_iterations => '1000', stream => 'true', color => 'auto');
|
||||||
if (-f $path) {
|
if (-f $path) {
|
||||||
open my $fh, '<:encoding(UTF-8)', $path or die "Cannot open $path: $!";
|
open my $fh, '<:encoding(UTF-8)', $path or die "Cannot open $path: $!";
|
||||||
while (my $ln = <$fh>) {
|
while (my $ln = <$fh>) {
|
||||||
|
|||||||
Reference in New Issue
Block a user