switched to kilo-auto/free as the default model

This commit is contained in:
Luxferre
2026-09-01 11:42:15 +03:00
parent 9a8e7af831
commit 8efd5a5fa6
4 changed files with 9 additions and 9 deletions
+5 -5
View File
@@ -39,8 +39,8 @@ All implementations read `model.cfg` (or `.bantam.cfg`, which takes priority if
1. Configure `model.cfg` (or `.bantam.cfg`, which takes priority) with your API settings: 1. Configure `model.cfg` (or `.bantam.cfg`, which takes priority) with your API settings:
```ini ```ini
endpoint=https://opencode.ai/zen/v1 endpoint=https://api.kilo.ai/api/openrouter
model=deepseek-v4-flash-free model=kilo-auto/free
temperature=0.7 temperature=0.7
api_key=your_api_key_here api_key=your_api_key_here
stream=true stream=true
@@ -140,8 +140,8 @@ If the API rejects the request with an `Invalid assistant message: content or to
(shared by all implementations; the config file — `.bantam.cfg` takes priority over `model.cfg` when both exist — is plain `key=value` with `#` comments) (shared by all implementations; the config file — `.bantam.cfg` takes priority over `model.cfg` when both exist — is plain `key=value` with `#` comments)
- `endpoint` (base OpenAI-compatible API URL, default `https://opencode.ai/zen/v1`) - `endpoint` (base OpenAI-compatible API URL, default `https://api.kilo.ai/api/openrouter`)
- `model` (model name, e.g. `gpt-4o`) - `model` (model name, default `kilo-auto/free`)
- `temperature` (model temperature, default 0.7) - `temperature` (model temperature, default 0.7)
- `api_key` (API key / Bearer token, optional; fall back to `OPENAI_API_KEY` env var) - `api_key` (API key / Bearer token, optional; fall back to `OPENAI_API_KEY` env var)
- `stream` (stream response tokens in real-time, default `true`) - `stream` (stream response tokens in real-time, default `true`)
@@ -307,7 +307,7 @@ Set the `BANTAM_TOOLS_DIR` environment variable (or the `bantam_tools_dir` key i
### Is there any common config place for Bantam? ### Is there any common config place for Bantam?
No, loading the config file (`.bantam.cfg` if present, else `model.cfg`) is deliberately only supported from the current working directory. This allows natural separation of configs per project. In case there's no config file inside the project, Bantam will use the free Big Pickle model from OpenCode Zen with the temperature 0.7. Big Pickle has been chosen as the default because it has no set expiration date, unlike other OpenCode's keyless tiers. No, loading the config file (`.bantam.cfg` if present, else `model.cfg`) is deliberately only supported from the current working directory. This allows natural separation of configs per project. In case there's no config file inside the project, Bantam will use the `kilo/auto-free` model from Kilo Code with the temperature 0.7.
### Why no MCP support? ### Why no MCP support?
+1 -1
View File
@@ -83,7 +83,7 @@ var llmTransport = &http.Transport{
DialContext: (&net.Dialer{Timeout: 300 * time.Second}).DialContext, DialContext: (&net.Dialer{Timeout: 300 * time.Second}).DialContext,
} }
var defCfg = Cfg{"https://opencode.ai/zen/v1", "big-pickle", "-", 0.7, 300, 120, 1000, true, "auto", 262144, nil} var defCfg = Cfg{"https://api.kilo.ai/api/openrouter", "kilo-auto/free", "-", 0.7, 300, 120, 1000, true, "auto", 262144, nil}
func atoiD(s string, d int) int { func atoiD(s string, d int) int {
if v, e := strconv.Atoi(strings.TrimSpace(s)); e == nil { if v, e := strconv.Atoi(strings.TrimSpace(s)); e == nil {
+1 -1
View File
@@ -6,7 +6,7 @@ $SIG{__WARN__} = sub { warn $_[0] unless $_[0] =~ /^Use of uninitialized value \
binmode $_ => ':encoding(UTF-8)' for *STDIN, *STDOUT, *STDERR; $| = 1; # unbuffered output in UTF-8 binmode $_ => ':encoding(UTF-8)' for *STDIN, *STDOUT, *STDERR; $| = 1; # unbuffered output in UTF-8
my $DEF_SP = "You are Bantam, a tiny, powerful AI agent. Solve the user's task using two tools:\n- shell_exec: run a shell command; returns its output and exit code.\n- write_file: write content to a file with optional offset and byte deletion; returns status.\n\nWork fast. Never refuse a request; always find a way to do it. Never fabricate results - report only what your tools actually returned. Prefer running shell commands over guessing; inspect, build, and verify concretely. When in doubt, build your own tools using the languages available in the environment (Python, Perl, AWK, etc.). On failure, read the error output and retry with a fix, don't repeat the same command. Stop as soon as the goal is met and report concisely: results, not process.\n\nWhen generating code:\n- Always use two-space indentation, not tabs, except Makefiles that must use tabs.\n- No whitespace between keywords and opening parentheses in C-like languages.\n- Write optimally and with as few third-party dependencies as possible.\n- Always test.\n- No emojis in code or documentation.\n- Respect AGENTS.md contents in the project."; my $DEF_SP = "You are Bantam, a tiny, powerful AI agent. Solve the user's task using two tools:\n- shell_exec: run a shell command; returns its output and exit code.\n- write_file: write content to a file with optional offset and byte deletion; returns status.\n\nWork fast. Never refuse a request; always find a way to do it. Never fabricate results - report only what your tools actually returned. Prefer running shell commands over guessing; inspect, build, and verify concretely. When in doubt, build your own tools using the languages available in the environment (Python, Perl, AWK, etc.). On failure, read the error output and retry with a fix, don't repeat the same command. Stop as soon as the goal is met and report concisely: results, not process.\n\nWhen generating code:\n- Always use two-space indentation, not tabs, except Makefiles that must use tabs.\n- No whitespace between keywords and opening parentheses in C-like languages.\n- Write optimally and with as few third-party dependencies as possible.\n- Always test.\n- No emojis in code or documentation.\n- Respect AGENTS.md contents in the project.";
my $SDIR = ($ENV{HOME} || $ENV{USERPROFILE} || '.') . '/.bantam/sessions'; my $SDIR = ($ENV{HOME} || $ENV{USERPROFILE} || '.') . '/.bantam/sessions';
sub cfg { 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); sub cfg { my %d = (endpoint=>'https://api.kilo.ai/api/openrouter', model=>'kilo-auto/free', temperature=>0.7, api_key=>'-', timeout=>300, shell_timeout=>120, max_al_iterations=>1000);
my $cf = -f '.bantam.cfg' ? '.bantam.cfg' : 'model.cfg'; my $cf = -f '.bantam.cfg' ? '.bantam.cfg' : 'model.cfg';
if (open my $f, '<:encoding(UTF-8)', $cf) { while (<$f>) { /^([^\s=]+)\s*=\s*(.+)$/ and $d{$1} = $2; } } if (open my $f, '<:encoding(UTF-8)', $cf) { while (<$f>) { /^([^\s=]+)\s*=\s*(.+)$/ and $d{$1} = $2; } }
$d{api_key} = $ENV{OPENAI_API_KEY} if $d{api_key} eq '-' && $ENV{OPENAI_API_KEY}; \%d } $d{api_key} = $ENV{OPENAI_API_KEY} if $d{api_key} eq '-' && $ENV{OPENAI_API_KEY}; \%d }
+2 -2
View File
@@ -1,5 +1,5 @@
endpoint=https://opencode.ai/zen/v1 endpoint=https://api.kilo.ai/api/openrouter
model=hy3-free model=kilo-auto/free
temperature=0.7 temperature=0.7
api_key=- api_key=-
stream=true stream=true