Redstone now hits OpenRouter's `openrouter/free` auto-router first,
falling back to direct Gemini if the OpenRouter call fails (no key,
network error, or `:free` upstream rejected tool use). The auto-
router filters its free-model pool by the request's tool-calling
requirement, so we don't have to pin a specific free model.
- bot/bot.ts:
- OPENROUTER_API_KEY / _FILE env (mirrors GEMINI_API_KEY_FILE)
- OPENROUTER_MODEL defaults to "openrouter/free"
- openRouterTools[] derived from existing geminiFunctionDeclarations
(OpenAI-style {type:"function", function:{name,description,parameters}})
- callOpenRouterOnce + runRedstoneTurnViaOpenRouter (parses JSON-string
tool_calls.arguments, replies with role:"tool" + tool_call_id)
- Existing Gemini path moved into runRedstoneTurnViaGemini
- runRedstoneTurn dispatches OpenRouter first, Gemini on null
- Early-return gate now passes if either key is configured
- docker-compose.yml:
- new openrouter_token secret -> ./openrouter.token (gitignored)
- OPENROUTER_API_KEY_FILE + OPENROUTER_MODEL env wired to the bot
- .gitignore: add openrouter.token (plus pre-existing gitea.token entry
that was sitting uncommitted).
The key file itself is NOT committed (verified via git check-ignore).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
48 lines
712 B
Plaintext
48 lines
712 B
Plaintext
# Runtime / generated data
|
|
data/world/
|
|
data/libraries/
|
|
data/versions/
|
|
data/logs/
|
|
data/.cache/
|
|
data/minecraft_server.*.jar
|
|
|
|
# Secrets
|
|
data/.rcon-cli.env
|
|
data/.rcon-cli.yaml
|
|
|
|
# Backup snapshots
|
|
data.*.bak/
|
|
*.bak/
|
|
backups/
|
|
|
|
# Port-forward runtime state
|
|
portforward.log
|
|
portforward.pid
|
|
|
|
# Local Claude Code state
|
|
.claude/settings.local.json
|
|
|
|
# Telegram bot
|
|
bot.token
|
|
bot/node_modules/
|
|
bot/bun.lockb
|
|
bot/bun.lock
|
|
bot/data/
|
|
|
|
# Google Generative Language API key
|
|
google_key.txt
|
|
|
|
# Gitea API token (mounted as a docker secret into the bot for release uploads)
|
|
gitea.token
|
|
|
|
# OpenRouter API key
|
|
openrouter.token
|
|
|
|
# MCP server
|
|
mcp/node_modules/
|
|
mcp/bun.lock
|
|
|
|
# autossh service key material
|
|
ssh/spotbot_key
|
|
ssh/known_hosts
|