switched to openrouter/free as the default model
This commit is contained in:
@@ -40,7 +40,7 @@ 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://api.kilo.ai/api/openrouter
|
endpoint=https://api.kilo.ai/api/openrouter
|
||||||
model=kilo-auto/free
|
model=openrouter/free
|
||||||
temperature=0.7
|
temperature=0.7
|
||||||
api_key=your_api_key_here
|
api_key=your_api_key_here
|
||||||
stream=true
|
stream=true
|
||||||
@@ -141,7 +141,7 @@ 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://api.kilo.ai/api/openrouter`)
|
- `endpoint` (base OpenAI-compatible API URL, default `https://api.kilo.ai/api/openrouter`)
|
||||||
- `model` (model name, default `kilo-auto/free`)
|
- `model` (model name, default `openrouter/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 `kilo-auto/free` model from Kilo Code with the temperature 0.7.
|
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 `openrouter/free` model from Kilo Code with the temperature 0.7.
|
||||||
|
|
||||||
### Why no MCP support?
|
### Why no MCP support?
|
||||||
|
|
||||||
|
|||||||
@@ -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://api.kilo.ai/api/openrouter", "kilo-auto/free", "-", 0.7, 300, 120, 1000, true, "auto", 262144, nil}
|
var defCfg = Cfg{"https://api.kilo.ai/api/openrouter", "openrouter/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 {
|
||||||
|
|||||||
@@ -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://api.kilo.ai/api/openrouter', model=>'kilo-auto/free', 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=>'openrouter/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 }
|
||||||
|
|||||||
Reference in New Issue
Block a user